mirror of
https://github.com/ventoy/Ventoy.git
synced 2025-08-28 00:11:15 +00:00
bug fix
This commit is contained in:
@@ -41,8 +41,8 @@ $BUSYBOX_PATH/busybox --install $BUSYBOX_PATH
|
|||||||
|
|
||||||
export PATH=$BUSYBOX_PATH/:$VTOY_PATH/tool
|
export PATH=$BUSYBOX_PATH/:$VTOY_PATH/tool
|
||||||
|
|
||||||
export VTOY_BREAK_LEVEL=$(hexdump -n 1 -s 429 -e '1/1 "%02x"' $VTOY_PATH/ventoy_os_param)
|
export VTOY_BREAK_LEVEL=$(hexdump -n 1 -s 449 -e '1/1 "%02x"' $VTOY_PATH/ventoy_os_param)
|
||||||
export VTOY_DEBUG_LEVEL=$(hexdump -n 1 -s 430 -e '1/1 "%02x"' $VTOY_PATH/ventoy_os_param)
|
export VTOY_DEBUG_LEVEL=$(hexdump -n 1 -s 450 -e '1/1 "%02x"' $VTOY_PATH/ventoy_os_param)
|
||||||
|
|
||||||
#Fixme: busybox shell output redirect seems to have some bug in rhel5
|
#Fixme: busybox shell output redirect seems to have some bug in rhel5
|
||||||
if uname -a | grep -q el5; then
|
if uname -a | grep -q el5; then
|
||||||
|
@@ -2,6 +2,12 @@
|
|||||||
|
|
||||||
VENTOY_PATH=$PWD/../
|
VENTOY_PATH=$PWD/../
|
||||||
|
|
||||||
|
if [ -e check.sh ]; then
|
||||||
|
if ! sh check.sh; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
rm -f ventoy.cpio
|
rm -f ventoy.cpio
|
||||||
|
|
||||||
chmod -R 777 cpio
|
chmod -R 777 cpio
|
||||||
|
Binary file not shown.
@@ -144,8 +144,12 @@ function uefi_iso_menu_func {
|
|||||||
loopback -d loop
|
loopback -d loop
|
||||||
fi
|
fi
|
||||||
|
|
||||||
unset LoadIsoEfiDriver
|
if [ -n "$vtisouefi" ]; then
|
||||||
|
set LoadIsoEfiDriver=on
|
||||||
|
else
|
||||||
|
unset LoadIsoEfiDriver
|
||||||
|
fi
|
||||||
|
|
||||||
vt_chosen_img_path chosen_path
|
vt_chosen_img_path chosen_path
|
||||||
|
|
||||||
if vt_is_udf ${1}${chosen_path}; then
|
if vt_is_udf ${1}${chosen_path}; then
|
||||||
@@ -302,7 +306,7 @@ function legacy_iso_menu_func {
|
|||||||
#############################################################
|
#############################################################
|
||||||
#############################################################
|
#############################################################
|
||||||
|
|
||||||
set VENTOY_VERSION="1.0.01"
|
set VENTOY_VERSION="1.0.02"
|
||||||
|
|
||||||
#disable timeout
|
#disable timeout
|
||||||
unset timeout
|
unset timeout
|
||||||
|
Binary file not shown.
Binary file not shown.
@@ -361,6 +361,7 @@ static void ventoy_dump_chain(ventoy_chain_head *chain)
|
|||||||
uint32_t i = 0;
|
uint32_t i = 0;
|
||||||
uint8_t chksum = 0;
|
uint8_t chksum = 0;
|
||||||
uint8_t *guid;
|
uint8_t *guid;
|
||||||
|
uint8_t *vtoy_reserve;
|
||||||
|
|
||||||
guid = chain->os_param.vtoy_disk_guid;
|
guid = chain->os_param.vtoy_disk_guid;
|
||||||
for (i = 0; i < sizeof(ventoy_os_param); i++)
|
for (i = 0; i < sizeof(ventoy_os_param); i++)
|
||||||
@@ -368,6 +369,8 @@ static void ventoy_dump_chain(ventoy_chain_head *chain)
|
|||||||
chksum += *((uint8_t *)(&(chain->os_param)) + i);
|
chksum += *((uint8_t *)(&(chain->os_param)) + i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vtoy_reserve = (uint8_t *)(chain->os_param.vtoy_reserved);
|
||||||
|
|
||||||
printf("##################### ventoy_dump_chain #######################\n");
|
printf("##################### ventoy_dump_chain #######################\n");
|
||||||
|
|
||||||
printf("os_param will be save at %p\n", ventoy_get_runtime_addr());
|
printf("os_param will be save at %p\n", ventoy_get_runtime_addr());
|
||||||
@@ -379,6 +382,8 @@ static void ventoy_dump_chain(ventoy_chain_head *chain)
|
|||||||
printf("os_param->vtoy_disk_part_type=%u\n", chain->os_param.vtoy_disk_part_type);
|
printf("os_param->vtoy_disk_part_type=%u\n", chain->os_param.vtoy_disk_part_type);
|
||||||
printf("os_param->vtoy_img_path=<%s>\n", chain->os_param.vtoy_img_path);
|
printf("os_param->vtoy_img_path=<%s>\n", chain->os_param.vtoy_img_path);
|
||||||
printf("os_param->vtoy_img_size=<%llu>\n", chain->os_param.vtoy_img_size);
|
printf("os_param->vtoy_img_size=<%llu>\n", chain->os_param.vtoy_img_size);
|
||||||
|
printf("os_param->vtoy_reserve[0]=<%u>\n", vtoy_reserve[0]);
|
||||||
|
printf("os_param->vtoy_reserve[1]=<%u>\n", vtoy_reserve[1]);
|
||||||
printf("os_param->vtoy_img_location_addr=<0x%llx>\n", chain->os_param.vtoy_img_location_addr);
|
printf("os_param->vtoy_img_location_addr=<0x%llx>\n", chain->os_param.vtoy_img_location_addr);
|
||||||
printf("os_param->vtoy_img_location_len=<%u>\n", chain->os_param.vtoy_img_location_len);
|
printf("os_param->vtoy_img_location_len=<%u>\n", chain->os_param.vtoy_img_location_len);
|
||||||
ventoy_debug_pause();
|
ventoy_debug_pause();
|
||||||
|
@@ -38,9 +38,9 @@ const TCHAR * g_Str_English[STR_ID_MAX] =
|
|||||||
TEXT("The disk will be formatted and all the data will be lost.\r\nContinue?"),
|
TEXT("The disk will be formatted and all the data will be lost.\r\nContinue?"),
|
||||||
TEXT("The disk will be formatted and all the data will be lost.\r\nContinue? (Double Check)"),
|
TEXT("The disk will be formatted and all the data will be lost.\r\nContinue? (Double Check)"),
|
||||||
TEXT("Congratulations!\r\nVentoy has been successfully installed to the device."),
|
TEXT("Congratulations!\r\nVentoy has been successfully installed to the device."),
|
||||||
TEXT("An error occurred during the installation. You can try again and check log.txt for detail."),
|
TEXT("An error occurred during the installation. You can replug the USB and try again. Check log.txt for detail."),
|
||||||
TEXT("Congratulations!\r\nVentoy has been successfully updated to the device."),
|
TEXT("Congratulations!\r\nVentoy has been successfully updated to the device."),
|
||||||
TEXT("An error occurred during the update. You can try again and check log.txt for detail."),
|
TEXT("An error occurred during the update. You can replug the USB and try again. Check log.txt for detail."),
|
||||||
|
|
||||||
TEXT("A thread is running, please wait..."),
|
TEXT("A thread is running, please wait..."),
|
||||||
};
|
};
|
||||||
@@ -61,9 +61,9 @@ const TCHAR * g_Str_ChineseSimple[STR_ID_MAX] =
|
|||||||
TEXT("<EFBFBD><EFBFBD><EFBFBD>̻ᱻ<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6>ᶪʧ!\r\n<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
|
TEXT("<EFBFBD><EFBFBD><EFBFBD>̻ᱻ<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6>ᶪʧ!\r\n<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
|
||||||
TEXT("<EFBFBD><EFBFBD><EFBFBD>̻ᱻ<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6>ᶪʧ!\r\n<EFBFBD>ٴ<EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
|
TEXT("<EFBFBD><EFBFBD><EFBFBD>̻ᱻ<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><DDB6>ᶪʧ!\r\n<EFBFBD>ٴ<EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
|
||||||
TEXT("<EFBFBD><EFBFBD>ϲ<EFBFBD><EFBFBD>! Ventoy <20>Ѿ<EFBFBD><D1BE>ɹ<EFBFBD><C9B9><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>."),
|
TEXT("<EFBFBD><EFBFBD>ϲ<EFBFBD><EFBFBD>! Ventoy <20>Ѿ<EFBFBD><D1BE>ɹ<EFBFBD><C9B9><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>."),
|
||||||
TEXT("<EFBFBD><EFBFBD>װ Ventoy <20><><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>, <20><>ϸ<EFBFBD><CFB8>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> log.txt <20>ļ<EFBFBD>."),
|
TEXT("<EFBFBD><EFBFBD>װ Ventoy <20><><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>°β<EFBFBD>һ<EFBFBD><EFBFBD>U<EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>, <20><>ϸ<EFBFBD><CFB8>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> log.txt <20>ļ<EFBFBD>."),
|
||||||
TEXT("<EFBFBD><EFBFBD>ϲ<EFBFBD><EFBFBD>! <20>°汾<C2B0><E6B1BE> Ventoy <20>Ѿ<EFBFBD><D1BE>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>."),
|
TEXT("<EFBFBD><EFBFBD>ϲ<EFBFBD><EFBFBD>! <20>°汾<C2B0><E6B1BE> Ventoy <20>Ѿ<EFBFBD><D1BE>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>."),
|
||||||
TEXT("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ventoy <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>, <20><>ϸ<EFBFBD><CFB8>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> log.txt <20>ļ<EFBFBD>."),
|
TEXT("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ventoy <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>°β<EFBFBD>һ<EFBFBD><EFBFBD>U<EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>, <20><>ϸ<EFBFBD><CFB8>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> log.txt <20>ļ<EFBFBD>."),
|
||||||
|
|
||||||
TEXT("<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ȴ<EFBFBD>..."),
|
TEXT("<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ȴ<EFBFBD>..."),
|
||||||
};
|
};
|
||||||
|
@@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
PHY_DRIVE_INFO *g_PhyDriveList = NULL;
|
PHY_DRIVE_INFO *g_PhyDriveList = NULL;
|
||||||
DWORD g_PhyDriveCount = 0;
|
DWORD g_PhyDriveCount = 0;
|
||||||
static int g_FilterRemovable = 1;
|
static int g_FilterRemovable = 0;
|
||||||
static int g_FilterUSB = 1;
|
static int g_FilterUSB = 1;
|
||||||
int g_ForceOperation = 1;
|
int g_ForceOperation = 1;
|
||||||
|
|
||||||
@@ -41,11 +41,8 @@ int ParseCmdLineOption(LPSTR lpCmdLine)
|
|||||||
|
|
||||||
for (i = 0; i < __argc; i++)
|
for (i = 0; i < __argc; i++)
|
||||||
{
|
{
|
||||||
if (strncmp(__argv[i], "-R", 2) == 0)
|
if (strncmp(__argv[i], "-U", 2) == 0 ||
|
||||||
{
|
strncmp(__argv[i], "-u", 2) == 0)
|
||||||
g_FilterRemovable = 0;
|
|
||||||
}
|
|
||||||
else if (strncmp(__argv[i], "-U", 2) == 0)
|
|
||||||
{
|
{
|
||||||
g_FilterUSB = 0;
|
g_FilterUSB = 0;
|
||||||
}
|
}
|
||||||
@@ -58,11 +55,6 @@ int ParseCmdLineOption(LPSTR lpCmdLine)
|
|||||||
GetCurrentDirectoryA(sizeof(cfgfile), cfgfile);
|
GetCurrentDirectoryA(sizeof(cfgfile), cfgfile);
|
||||||
strcat_s(cfgfile, sizeof(cfgfile), "\\Ventoy2Disk.ini");
|
strcat_s(cfgfile, sizeof(cfgfile), "\\Ventoy2Disk.ini");
|
||||||
|
|
||||||
if (0 == GetPrivateProfileIntA("Filter", "Removable", 1, cfgfile))
|
|
||||||
{
|
|
||||||
g_FilterRemovable = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (0 == GetPrivateProfileIntA("Filter", "USB", 1, cfgfile))
|
if (0 == GetPrivateProfileIntA("Filter", "USB", 1, cfgfile))
|
||||||
{
|
{
|
||||||
g_FilterUSB = 0;
|
g_FilterUSB = 0;
|
||||||
@@ -258,6 +250,30 @@ PHY_DRIVE_INFO * GetPhyDriveInfoById(int Id)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int SortPhysicalDrive(PHY_DRIVE_INFO *pDriveList, DWORD DriveCount)
|
||||||
|
{
|
||||||
|
DWORD i, j;
|
||||||
|
PHY_DRIVE_INFO TmpDriveInfo;
|
||||||
|
|
||||||
|
for (i = 0; i < DriveCount; i++)
|
||||||
|
{
|
||||||
|
for (j = i + 1; j < DriveCount; j++)
|
||||||
|
{
|
||||||
|
if (pDriveList[i].BusType == BusTypeUsb && pDriveList[j].BusType == BusTypeUsb)
|
||||||
|
{
|
||||||
|
if (pDriveList[i].RemovableMedia == FALSE && pDriveList[j].RemovableMedia == TRUE)
|
||||||
|
{
|
||||||
|
memcpy(&TmpDriveInfo, pDriveList + i, sizeof(PHY_DRIVE_INFO));
|
||||||
|
memcpy(pDriveList + i, pDriveList + j, sizeof(PHY_DRIVE_INFO));
|
||||||
|
memcpy(pDriveList + j, &TmpDriveInfo, sizeof(PHY_DRIVE_INFO));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int Ventoy2DiskInit(void)
|
int Ventoy2DiskInit(void)
|
||||||
{
|
{
|
||||||
g_PhyDriveList = (PHY_DRIVE_INFO *)malloc(sizeof(PHY_DRIVE_INFO)* VENTOY_MAX_PHY_DRIVE);
|
g_PhyDriveList = (PHY_DRIVE_INFO *)malloc(sizeof(PHY_DRIVE_INFO)* VENTOY_MAX_PHY_DRIVE);
|
||||||
@@ -269,6 +285,9 @@ int Ventoy2DiskInit(void)
|
|||||||
memset(g_PhyDriveList, 0, sizeof(PHY_DRIVE_INFO)* VENTOY_MAX_PHY_DRIVE);
|
memset(g_PhyDriveList, 0, sizeof(PHY_DRIVE_INFO)* VENTOY_MAX_PHY_DRIVE);
|
||||||
|
|
||||||
GetAllPhysicalDriveInfo(g_PhyDriveList, &g_PhyDriveCount);
|
GetAllPhysicalDriveInfo(g_PhyDriveList, &g_PhyDriveCount);
|
||||||
|
|
||||||
|
SortPhysicalDrive(g_PhyDriveList, g_PhyDriveCount);
|
||||||
|
|
||||||
FilterPhysicalDrive(g_PhyDriveList, g_PhyDriveCount);
|
FilterPhysicalDrive(g_PhyDriveList, g_PhyDriveCount);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Binary file not shown.
@@ -213,6 +213,16 @@ static DWORD WINAPI InstallVentoyThread(void* Param)
|
|||||||
PHY_DRIVE_INFO *pPhyDrive = (PHY_DRIVE_INFO *)Param;
|
PHY_DRIVE_INFO *pPhyDrive = (PHY_DRIVE_INFO *)Param;
|
||||||
|
|
||||||
rc = InstallVentoy2PhyDrive(pPhyDrive);
|
rc = InstallVentoy2PhyDrive(pPhyDrive);
|
||||||
|
if (rc)
|
||||||
|
{
|
||||||
|
Log("This time install failed, now wait and retry...");
|
||||||
|
Sleep(10000);
|
||||||
|
|
||||||
|
Log("Now retry to install...");
|
||||||
|
|
||||||
|
rc = InstallVentoy2PhyDrive(pPhyDrive);
|
||||||
|
}
|
||||||
|
|
||||||
if (rc == 0)
|
if (rc == 0)
|
||||||
{
|
{
|
||||||
PROGRESS_BAR_SET_POS(PT_FINISH);
|
PROGRESS_BAR_SET_POS(PT_FINISH);
|
||||||
@@ -239,6 +249,16 @@ static DWORD WINAPI UpdateVentoyThread(void* Param)
|
|||||||
PHY_DRIVE_INFO *pPhyDrive = (PHY_DRIVE_INFO *)Param;
|
PHY_DRIVE_INFO *pPhyDrive = (PHY_DRIVE_INFO *)Param;
|
||||||
|
|
||||||
rc = UpdateVentoy2PhyDrive(pPhyDrive);
|
rc = UpdateVentoy2PhyDrive(pPhyDrive);
|
||||||
|
if (rc)
|
||||||
|
{
|
||||||
|
Log("This time update failed, now wait and retry...");
|
||||||
|
Sleep(10000);
|
||||||
|
|
||||||
|
Log("Now retry to update...");
|
||||||
|
|
||||||
|
rc = UpdateVentoy2PhyDrive(pPhyDrive);
|
||||||
|
}
|
||||||
|
|
||||||
if (rc == 0)
|
if (rc == 0)
|
||||||
{
|
{
|
||||||
PROGRESS_BAR_SET_POS(PT_FINISH);
|
PROGRESS_BAR_SET_POS(PT_FINISH);
|
||||||
|
Reference in New Issue
Block a user