mirror of
https://github.com/pbatard/rufus.git
synced 2025-05-25 04:04:26 -04:00
[grub] update Grub4DOS to 0.4.6a
* Also fix Grub4DOS and Grub2.0 versioning issues * Also ensures that operation gets canceled on missing download * Also fix German translation and remove trailing whitespaces in .loc file * Also fix inverted display status for VMWare disk detection
This commit is contained in:
parent
24b435648e
commit
1dc55596d5
8 changed files with 88 additions and 87 deletions
|
@ -46,6 +46,7 @@
|
|||
#include "badblocks.h"
|
||||
#include "localization.h"
|
||||
#include "bled/bled.h"
|
||||
#include "../res/grub/grub_version.h"
|
||||
|
||||
/*
|
||||
* Globals
|
||||
|
@ -1827,7 +1828,7 @@ DWORD WINAPI FormatThread(void* param)
|
|||
grub4dos_dst[0] = drive_name[0];
|
||||
uprintf("Installing: %s (Grub4DOS loader)\n", grub4dos_dst);
|
||||
IGNORE_RETVAL(_chdirU(app_dir));
|
||||
if (!CopyFileU(FILES_DIR "\\grub4dos\\grldr", grub4dos_dst, FALSE))
|
||||
if (!CopyFileU(FILES_DIR "\\grub4dos-" GRUB4DOS_VERSION "\\grldr", grub4dos_dst, FALSE))
|
||||
uprintf("Failed to copy file: %s", WindowsErrorString());
|
||||
} else if ((dt == DT_ISO) && (image_path != NULL)) {
|
||||
UpdateProgress(OP_DOS, 0.0f);
|
||||
|
|
|
@ -1,41 +1,40 @@
|
|||
/*
|
||||
* First 432 bytes of MBR from Grub4DOS (Converted from res/grub4dos/grldr.mbr)
|
||||
* First 416 bytes of MBR from Grub4DOS (Converted from res/grub4dos/grldr.mbr)
|
||||
*/
|
||||
unsigned char mbr_grub_0x0[] = {
|
||||
0xEB, 0x5E, 0x80, 0x00, 0x20, 0x39, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0xEB, 0x5E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xFA, 0x31, 0xDB, 0x8E, 0xD3, 0xBC, 0x80, 0x05, 0xE8, 0x00, 0x00, 0x5B,
|
||||
0x81, 0xEB, 0x6B, 0x00, 0xC1, 0xEB, 0x04, 0x8C, 0xC8, 0x01, 0xC3, 0x8E,
|
||||
0xDB, 0x53, 0x6A, 0x7D, 0xCB, 0x68, 0x00, 0x20, 0x17, 0xBC, 0x00, 0x90,
|
||||
0xFB, 0x16, 0x07, 0xB9, 0x12, 0x00, 0xB8, 0x01, 0x02, 0x89, 0xCB, 0x4B,
|
||||
0xC1, 0xE3, 0x09, 0xBA, 0x80, 0x00, 0x51, 0x53, 0xE8, 0xA4, 0x00, 0x5B,
|
||||
0x59, 0x72, 0x04, 0xE2, 0xE9, 0xF6, 0xDC, 0x0E, 0x1F, 0x9C, 0x31, 0xF6,
|
||||
0x31, 0xFF, 0xB9, 0xDF, 0x00, 0xFC, 0xF3, 0xA5, 0xBB, 0xFC, 0x1F, 0x66,
|
||||
0xB8, 0x05, 0x4D, 0xCB, 0x93, 0x66, 0x39, 0x07, 0x75, 0x03, 0xE8, 0x39,
|
||||
0x1C, 0xEA, 0xC6, 0x00, 0x00, 0x20, 0x16, 0x1F, 0x66, 0x39, 0x07, 0x74,
|
||||
0x28, 0x66, 0x60, 0xBF, 0x03, 0x00, 0xB8, 0x11, 0x02, 0x99, 0xBB, 0x00,
|
||||
0x02, 0xB9, 0x02, 0x00, 0xE8, 0x80, 0x00, 0x73, 0x02, 0x75, 0xEF, 0x66,
|
||||
0x61, 0x66, 0x39, 0x07, 0x75, 0x4D, 0xC7, 0x06, 0x06, 0x00, 0x00, 0xFF,
|
||||
0x80, 0x26, 0x02, 0x00, 0xFE, 0x9D, 0x72, 0x33, 0x0E, 0x1F, 0xAD, 0x88,
|
||||
0xE6, 0xAD, 0x89, 0xC1, 0x24, 0x3F, 0x74, 0x14, 0xB0, 0x01, 0xBF, 0x03,
|
||||
0x00, 0xB4, 0x02, 0x68, 0x00, 0x0D, 0x07, 0x31, 0xDB, 0xE8, 0x4B, 0x00,
|
||||
0x73, 0x03, 0x75, 0xF1, 0xF9, 0xE8, 0x5C, 0x11, 0x0F, 0x87, 0xF3, 0x1B,
|
||||
0x83, 0xC6, 0x0C, 0x81, 0xFE, 0xFE, 0x01, 0x72, 0xCF, 0x77, 0x0C, 0xBE,
|
||||
0xB2, 0x31, 0xB0, 0x04, 0xB9, 0x01, 0x00, 0x31, 0xD2, 0xEB, 0xCF, 0xBE,
|
||||
0x91, 0x01, 0xE8, 0x4D, 0x00, 0xEB, 0xFE, 0x1E, 0x06, 0x52, 0x56, 0x57,
|
||||
0x55, 0xF9, 0xCD, 0x13, 0x5D, 0x5F, 0x5E, 0x5A, 0x07, 0x1F, 0xC3, 0xFA,
|
||||
0xB8, 0x00, 0x20, 0x8E, 0xD0, 0xBC, 0xDC, 0x8F, 0xFB, 0x66, 0x61, 0x07,
|
||||
0x1F, 0xEB, 0xC1, 0x60, 0x50, 0x53, 0x51, 0xFE, 0xC8, 0x00, 0xC1, 0xD0,
|
||||
0xE0, 0x00, 0xC7, 0xB0, 0x01, 0xE8, 0xCF, 0xFF, 0x59, 0x5B, 0x58, 0x72,
|
||||
0x04, 0xFE, 0xC8, 0x75, 0xE7, 0x61, 0x73, 0x09, 0x60, 0x31, 0xC0, 0xE8,
|
||||
0xBD, 0xFF, 0x61, 0x4F, 0xF9, 0xC3, 0xB4, 0x0E, 0xCD, 0x10, 0x2E, 0xAC,
|
||||
0x3C, 0x00, 0x75, 0xF6, 0xC3, 0x0D, 0x0A, 0x4D, 0x69, 0x73, 0x73, 0x69,
|
||||
0x6E, 0x67, 0x20, 0x4D, 0x42, 0x52, 0x2D, 0x68, 0x65, 0x6C, 0x70, 0x65,
|
||||
0x72, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x20, 0x39, 0xFF, 0xFF,
|
||||
0x31, 0xDB, 0x8E, 0xD3, 0xBC, 0x80, 0x05, 0xE8, 0x00, 0x00, 0x5B, 0x81,
|
||||
0xEB, 0x6A, 0x00, 0xC1, 0xEB, 0x04, 0x8C, 0xC8, 0x01, 0xC3, 0x53, 0x68,
|
||||
0x7B, 0x00, 0xCB, 0x68, 0x00, 0x20, 0x17, 0xBC, 0x00, 0x90, 0x80, 0xFA,
|
||||
0x00, 0x74, 0x02, 0xB2, 0x80, 0x16, 0x07, 0xB0, 0x10, 0x30, 0xF6, 0x31,
|
||||
0xDB, 0xE8, 0xBB, 0x00, 0x72, 0x29, 0x0E, 0x1F, 0x31, 0xF6, 0x31, 0xFF,
|
||||
0xB9, 0xDF, 0x00, 0xFC, 0xF3, 0xA5, 0xBB, 0xFC, 0x1F, 0x66, 0xB8, 0x47,
|
||||
0x52, 0x55, 0xAA, 0x66, 0x39, 0x07, 0x75, 0x03, 0xE8, 0x98, 0x19, 0xEA,
|
||||
0xB8, 0x00, 0x00, 0x20, 0x16, 0x1F, 0x66, 0x39, 0x07, 0x74, 0x1F, 0x80,
|
||||
0xF2, 0x80, 0x68, 0xC0, 0x07, 0x07, 0xB0, 0x10, 0x30, 0xF6, 0x31, 0xDB,
|
||||
0xE8, 0x80, 0x00, 0x72, 0x05, 0xEA, 0x00, 0x00, 0xC0, 0x07, 0xBE, 0x8B,
|
||||
0x01, 0xE8, 0xA8, 0x00, 0xEB, 0xFE, 0xBE, 0xBE, 0x01, 0xE8, 0x04, 0x10,
|
||||
0xF6, 0x06, 0x9D, 0x01, 0x80, 0x0F, 0x84, 0x6C, 0x19, 0x83, 0xC6, 0x0C,
|
||||
0x81, 0xFE, 0xFE, 0x01, 0x72, 0xEB, 0x77, 0x26, 0xF6, 0x06, 0xA0, 0x01,
|
||||
0x01, 0x0F, 0x85, 0x1E, 0x17, 0x80, 0x0E, 0xA0, 0x01, 0x01, 0xF6, 0x06,
|
||||
0xA0, 0x01, 0x02, 0x75, 0xD4, 0x68, 0x00, 0x7C, 0x07, 0xB0, 0x01, 0x30,
|
||||
0xF6, 0x31, 0xDB, 0xE8, 0x35, 0x00, 0x72, 0xBA, 0xEB, 0xC0, 0xF6, 0x06,
|
||||
0xA0, 0x01, 0x01, 0x0F, 0x85, 0xF8, 0x16, 0x80, 0x0E, 0xA0, 0x01, 0x01,
|
||||
0xE9, 0xD9, 0x16, 0x1E, 0x06, 0x52, 0x56, 0x57, 0x55, 0xF9, 0xCD, 0x13,
|
||||
0x5D, 0x5F, 0x5E, 0x5A, 0x07, 0x1F, 0xC3, 0xFA, 0xB8, 0x00, 0x20, 0x8E,
|
||||
0xD0, 0xBC, 0xDC, 0x8F, 0xFB, 0x66, 0x61, 0x07, 0x1F, 0xEB, 0x9E, 0xB4,
|
||||
0x02, 0xBF, 0x03, 0x00, 0xB9, 0x01, 0x00, 0x60, 0x50, 0x53, 0x51, 0xFE,
|
||||
0xC8, 0x00, 0xC1, 0xD0, 0xE0, 0x00, 0xC7, 0xB0, 0x01, 0xE8, 0xC7, 0xFF,
|
||||
0x59, 0x5B, 0x58, 0x72, 0x04, 0xFE, 0xC8, 0x75, 0xE7, 0x61, 0x73, 0x0B,
|
||||
0x60, 0x31, 0xC0, 0xE8, 0xB5, 0xFF, 0x61, 0x4F, 0x75, 0xD9, 0xF9, 0xC3,
|
||||
0xB4, 0x0E, 0xCD, 0x10, 0x2E, 0xAC, 0x3C, 0x00, 0x75, 0xF6, 0xC3, 0x0D,
|
||||
0x0A, 0x4D, 0x69, 0x73, 0x73, 0x69, 0x6E, 0x67, 0x20, 0x68, 0x65, 0x6C,
|
||||
0x70, 0x65, 0x72, 0x2E, 0x00, 0x00, 0x3F, 0xFF
|
||||
};
|
||||
|
|
30
src/rufus.c
30
src/rufus.c
|
@ -136,8 +136,6 @@ int dialog_showing = 0;
|
|||
uint16_t rufus_version[3], embedded_sl_version[2];
|
||||
char embedded_sl_version_str[2][12] = { "?.??", "?.??" };
|
||||
char embedded_sl_version_ext[2][32];
|
||||
char embedded_grub_version[] = GRUB4DOS_VERSION;
|
||||
char embedded_grub2_version[] = GRUB2_PACKAGE_VERSION;
|
||||
RUFUS_UPDATE update = { {0,0,0}, {0,0}, NULL, NULL};
|
||||
StrArray DriveID, DriveLabel;
|
||||
extern char* szStatusMessage;
|
||||
|
@ -1272,7 +1270,7 @@ static BOOL BootCheck(void)
|
|||
}
|
||||
|
||||
if ((iso_report.has_grub2) && (iso_report.grub2_version[0] != 0) &&
|
||||
(strcmp(iso_report.grub2_version, embedded_grub2_version) != 0)) {
|
||||
(strcmp(iso_report.grub2_version, GRUB2_PACKAGE_VERSION) != 0)) {
|
||||
// We may have to download a different Grub2 version if we can find one
|
||||
IGNORE_RETVAL(_chdirU(app_dir));
|
||||
IGNORE_RETVAL(_mkdir(FILES_DIR));
|
||||
|
@ -1296,7 +1294,7 @@ static BOOL BootCheck(void)
|
|||
}
|
||||
fclose(fd);
|
||||
} else {
|
||||
r = MessageBoxU(hMainDialog, lmprintf(MSG_116, iso_report.grub2_version, embedded_grub2_version),
|
||||
r = MessageBoxU(hMainDialog, lmprintf(MSG_116, iso_report.grub2_version, GRUB2_PACKAGE_VERSION),
|
||||
lmprintf(MSG_115), MB_YESNOCANCEL|MB_ICONWARNING|MB_IS_RTL);
|
||||
if (r == IDCANCEL)
|
||||
return FALSE;
|
||||
|
@ -1447,7 +1445,8 @@ static BOOL BootCheck(void)
|
|||
IGNORE_RETVAL(_mkdir(tmp));
|
||||
static_sprintf(tmp, "%s/%s-%s/%s.%s", FILES_URL, syslinux, embedded_sl_version_str[1], ldlinux, ldlinux_ext[2]);
|
||||
PrintInfo(0, MSG_085, tmp);
|
||||
DownloadFile(tmp, &tmp[sizeof(FILES_URL)], hMainDialog);
|
||||
if (DownloadFile(tmp, &tmp[sizeof(FILES_URL)], hMainDialog))
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
} else if (dt == DT_WINME) {
|
||||
|
@ -1460,7 +1459,7 @@ static BOOL BootCheck(void)
|
|||
IGNORE_RETVAL(_chdirU(app_dir));
|
||||
IGNORE_RETVAL(_mkdir(FILES_DIR));
|
||||
IGNORE_RETVAL(_chdir(FILES_DIR));
|
||||
static_sprintf(tmp, "grub4dos/grldr");
|
||||
static_sprintf(tmp, "grub4dos-%s/grldr", GRUB4DOS_VERSION);
|
||||
fd = fopenU(tmp, "rb");
|
||||
if (fd != NULL) {
|
||||
uprintf("Will reuse './%s/%s' for Grub4DOS installation\n", FILES_DIR, tmp);
|
||||
|
@ -1473,10 +1472,13 @@ static BOOL BootCheck(void)
|
|||
if (r == IDCANCEL)
|
||||
return FALSE;
|
||||
if (r == IDYES) {
|
||||
IGNORE_RETVAL(_mkdir("grub4dos"));
|
||||
static_sprintf(tmp, "%s/grub4dos/grldr", FILES_URL);
|
||||
static_sprintf(tmp, "grub4dos-%s", GRUB4DOS_VERSION);
|
||||
IGNORE_RETVAL(_mkdir(tmp));
|
||||
static_sprintf(tmp, "%s/grub4dos-%s/grldr", FILES_URL, GRUB4DOS_VERSION);
|
||||
PrintInfo(0, MSG_085, tmp);
|
||||
DownloadFile(tmp, &tmp[sizeof(FILES_URL)], hMainDialog);
|
||||
uprintf("URL = %s", tmp);
|
||||
if (DownloadFile(tmp, &tmp[sizeof(FILES_URL)], hMainDialog) == 0)
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1613,7 +1615,7 @@ void InitDialog(HWND hDlg)
|
|||
uprintf("Windows version: %s", WindowsVersionStr);
|
||||
uprintf("Syslinux versions: %s%s, %s%s", embedded_sl_version_str[0], embedded_sl_version_ext[0],
|
||||
embedded_sl_version_str[1], embedded_sl_version_ext[1]);
|
||||
uprintf("Grub versions: %s, %s", embedded_grub_version, embedded_grub2_version);
|
||||
uprintf("Grub versions: %s, %s", GRUB4DOS_VERSION, GRUB2_PACKAGE_VERSION);
|
||||
uprintf("Locale ID: 0x%04X", GetUserDefaultUILanguage());
|
||||
|
||||
SetClusterSizeLabels();
|
||||
|
@ -1798,8 +1800,10 @@ void SetBoot(int fs, int bt)
|
|||
static_sprintf(tmp, "Syslinux %s", embedded_sl_version_str[1]);
|
||||
IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, tmp), DT_SYSLINUX_V6));
|
||||
IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, "ReactOS"), DT_REACTOS));
|
||||
IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, "Grub 2.00-22"), DT_GRUB2));
|
||||
IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, "Grub4DOS 0.4.5"), DT_GRUB4DOS));
|
||||
IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType,
|
||||
"Grub " GRUB2_PACKAGE_VERSION), DT_GRUB2));
|
||||
IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType,
|
||||
"Grub4DOS " GRUB4DOS_VERSION), DT_GRUB4DOS));
|
||||
}
|
||||
if ((!advanced_mode) && (selection_default >= DT_SYSLINUX_V4)) {
|
||||
selection_default = DT_FREEDOS;
|
||||
|
@ -2789,7 +2793,7 @@ relaunch:
|
|||
// Alt-W => Enable VMWare disk detection
|
||||
if ((msg.message == WM_SYSKEYDOWN) && (msg.wParam == 'W')) {
|
||||
enable_vmdk = !enable_vmdk;
|
||||
PrintStatus2000(lmprintf(MSG_265), !enable_vmdk);
|
||||
PrintStatus2000(lmprintf(MSG_265), enable_vmdk);
|
||||
GetUSBDevices(0);
|
||||
continue;
|
||||
}
|
||||
|
|
16
src/rufus.rc
16
src/rufus.rc
|
@ -32,7 +32,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
|||
|
||||
IDD_DIALOG DIALOGEX 12, 12, 242, 376
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Rufus 2.0.624"
|
||||
CAPTION "Rufus 2.0.625"
|
||||
FONT 8, "Segoe UI", 400, 0, 0x1
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Start",IDC_START,127,339,50,14
|
||||
|
@ -157,7 +157,7 @@ END
|
|||
|
||||
IDD_DIALOG_XP DIALOGEX 12, 12, 242, 376
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Rufus 2.0.624"
|
||||
CAPTION "Rufus 2.0.625"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Start",IDC_START,127,339,50,14
|
||||
|
@ -283,7 +283,7 @@ END
|
|||
IDD_DIALOG_RTL DIALOGEX 12, 12, 242, 376
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_RTLREADING | WS_EX_APPWINDOW | WS_EX_LAYOUTRTL
|
||||
CAPTION "Rufus 2.0.624"
|
||||
CAPTION "Rufus 2.0.625"
|
||||
FONT 8, "Segoe UI", 400, 0, 0x1
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Start",IDC_START,127,339,50,14
|
||||
|
@ -415,7 +415,7 @@ END
|
|||
IDD_DIALOG_RTL_XP DIALOGEX 12, 12, 242, 376
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
EXSTYLE WS_EX_RTLREADING | WS_EX_APPWINDOW | WS_EX_LAYOUTRTL
|
||||
CAPTION "Rufus 2.0.624"
|
||||
CAPTION "Rufus 2.0.625"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Start",IDC_START,127,339,50,14
|
||||
|
@ -671,8 +671,8 @@ END
|
|||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 2,0,624,0
|
||||
PRODUCTVERSION 2,0,624,0
|
||||
FILEVERSION 2,0,625,0
|
||||
PRODUCTVERSION 2,0,625,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
|
@ -689,13 +689,13 @@ BEGIN
|
|||
BEGIN
|
||||
VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)"
|
||||
VALUE "FileDescription", "Rufus"
|
||||
VALUE "FileVersion", "2.0.624"
|
||||
VALUE "FileVersion", "2.0.625"
|
||||
VALUE "InternalName", "Rufus"
|
||||
VALUE "LegalCopyright", "© 2011-2015 Pete Batard (GPL v3)"
|
||||
VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html"
|
||||
VALUE "OriginalFilename", "rufus.exe"
|
||||
VALUE "ProductName", "Rufus"
|
||||
VALUE "ProductVersion", "2.0.624"
|
||||
VALUE "ProductVersion", "2.0.625"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue