fix: default to GPT partition style and fix hisogpt VTOY→HISO name check

Change GUI default from MBR (0) to GPT (1). Keep msftdata partition
type for partition 2 (Ventoy-compatible: both partitions visible to
OS and bootable on all UEFI firmware). Fix hisogpt.c partition name
check from VTOY to HISO. Fix partresize.c partition name from VTOYEFI
to HISOEFI.
This commit is contained in:
2026-07-01 09:11:46 +03:00
parent 17094e5d6c
commit adca1354b5
4 changed files with 7 additions and 11 deletions
+1 -4
View File
@@ -383,8 +383,6 @@ int hiperiso_fill_gpt(uint64_t size, uint64_t reserve, int align4k, HISO_GPT_INF
HISO_GPT_HDR *Head = &gpt->Head; HISO_GPT_HDR *Head = &gpt->Head;
HISO_GPT_PART_TBL *Table = gpt->PartTbl; HISO_GPT_PART_TBL *Table = gpt->PartTbl;
hiperiso_guid WindowsDataPartType = { 0xebd0a0a2, 0xb9e5, 0x4433, { 0x87, 0xc0, 0x68, 0xb6, 0xb7, 0x26, 0x99, 0xc7 } }; hiperiso_guid WindowsDataPartType = { 0xebd0a0a2, 0xb9e5, 0x4433, { 0x87, 0xc0, 0x68, 0xb6, 0xb7, 0x26, 0x99, 0xc7 } };
//hiperiso_guid EspPartType = { 0xc12a7328, 0xf81f, 0x11d2, { 0xba, 0x4b, 0x00, 0xa0, 0xc9, 0x3e, 0xc9, 0x3b } };
//hiperiso_guid BiosGrubPartType = { 0x21686148, 0x6449, 0x6e6f, { 0x74, 0x4e, 0x65, 0x65, 0x64, 0x45, 0x46, 0x49 } };
HiperisoFillProtectMBR(size, &gpt->MBR); HiperisoFillProtectMBR(size, &gpt->MBR);
@@ -436,8 +434,7 @@ int hiperiso_fill_gpt(uint64_t size, uint64_t reserve, int align4k, HISO_GPT_INF
Table[0].Attr = 0; Table[0].Attr = 0;
hiperiso_fill_gpt_partname(Table[0].Name, "Hiperiso"); hiperiso_fill_gpt_partname(Table[0].Name, "Hiperiso");
// to fix windows issue // Use msftdata for partition 2 (Ventoy-compatible: both partitions visible + boots)
//memcpy(&(Table[1].PartType), &EspPartType, sizeof(GUID));
memcpy(&(Table[1].PartType), &WindowsDataPartType, sizeof(hiperiso_guid)); memcpy(&(Table[1].PartType), &WindowsDataPartType, sizeof(hiperiso_guid));
hiperiso_gen_preudo_uuid(&(Table[1].PartGuid)); hiperiso_gen_preudo_uuid(&(Table[1].PartGuid));
Table[1].StartLBA = Table[0].LastLBA + 1; Table[1].StartLBA = Table[0].LastLBA + 1;
+1 -1
View File
@@ -46,7 +46,7 @@ static int g_pub_out_max = 0;
static pthread_mutex_t g_api_mutex; static pthread_mutex_t g_api_mutex;
static char g_cur_language[128]; static char g_cur_language[128];
static int g_cur_part_style = 0; static int g_cur_part_style = 1;
static int g_cur_show_all = 0; static int g_cur_show_all = 0;
static char g_cur_server_token[64]; static char g_cur_server_token[64];
static struct mg_context *g_hiperiso_http_ctx = NULL; static struct mg_context *g_hiperiso_http_ctx = NULL;
+1 -1
View File
@@ -189,7 +189,7 @@ int hisogpt_main(int argc, char **argv)
read(fd, pBackGptInfo, sizeof(HISO_BK_GPT_INFO)); read(fd, pBackGptInfo, sizeof(HISO_BK_GPT_INFO));
Name = pMainGptInfo->PartTbl[1].Name; Name = pMainGptInfo->PartTbl[1].Name;
if (Name[0] == 'V' && Name[1] == 'T' && Name[2] == 'O' && Name[3] == 'Y') if (Name[0] == 'H' && Name[1] == 'I' && Name[2] == 'S' && Name[3] == 'O')
{ {
if (pMainGptInfo->PartTbl[1].Attr != HIPERISO_EFI_PART_ATTR) if (pMainGptInfo->PartTbl[1].Attr != HIPERISO_EFI_PART_ATTR)
{ {
+4 -5
View File
@@ -590,7 +590,6 @@ static int update_part_table(char *disk, UINT64 part2start)
memcpy(PartTbl + (j + 1), PartTbl + j, sizeof(HISO_GPT_PART_TBL)); memcpy(PartTbl + (j + 1), PartTbl + j, sizeof(HISO_GPT_PART_TBL));
} }
// to fix windows issue
memset(PartTbl + 1, 0, sizeof(HISO_GPT_PART_TBL)); memset(PartTbl + 1, 0, sizeof(HISO_GPT_PART_TBL));
memcpy(&(PartTbl[1].PartType), &g_WindowsDataPartGuid, sizeof(GUID)); memcpy(&(PartTbl[1].PartType), &g_WindowsDataPartGuid, sizeof(GUID));
hiperiso_gen_preudo_uuid(&(PartTbl[1].PartGuid)); hiperiso_gen_preudo_uuid(&(PartTbl[1].PartGuid));
@@ -600,10 +599,10 @@ static int update_part_table(char *disk, UINT64 part2start)
PartTbl[1].StartLBA = PartTbl[0].LastLBA + 1; PartTbl[1].StartLBA = PartTbl[0].LastLBA + 1;
PartTbl[1].LastLBA = PartTbl[1].StartLBA + HIPERISO_EFI_PART_SIZE / 512 - 1; PartTbl[1].LastLBA = PartTbl[1].StartLBA + HIPERISO_EFI_PART_SIZE / 512 - 1;
PartTbl[1].Attr = HIPERISO_EFI_PART_ATTR; PartTbl[1].Attr = HIPERISO_EFI_PART_ATTR;
PartTbl[1].Name[0] = 'V'; PartTbl[1].Name[0] = 'H';
PartTbl[1].Name[1] = 'T'; PartTbl[1].Name[1] = 'I';
PartTbl[1].Name[2] = 'O'; PartTbl[1].Name[2] = 'S';
PartTbl[1].Name[3] = 'Y'; PartTbl[1].Name[3] = 'O';
PartTbl[1].Name[4] = 'E'; PartTbl[1].Name[4] = 'E';
PartTbl[1].Name[5] = 'F'; PartTbl[1].Name[5] = 'F';
PartTbl[1].Name[6] = 'I'; PartTbl[1].Name[6] = 'I';