mirror of
https://github.com/ventoy/Ventoy.git
synced 2025-05-27 13:34:24 -04:00
parent
60d88cb7b1
commit
4e8d8b2e19
32 changed files with 57 additions and 14 deletions
|
@ -727,6 +727,7 @@ static void * ventoy_update_thread(void *data)
|
|||
MBR_HEAD MBR;
|
||||
ventoy_disk *disk = NULL;
|
||||
ventoy_thread_data *thread = (ventoy_thread_data *)data;
|
||||
VTOY_GPT_INFO *pstGPT = NULL;
|
||||
|
||||
vdebug("ventoy_update_thread run ...\n");
|
||||
|
||||
|
@ -790,6 +791,34 @@ static void * ventoy_update_thread(void *data)
|
|||
vlog("No need to update MBR\n");
|
||||
}
|
||||
|
||||
|
||||
if (disk->vtoydata.partition_style)
|
||||
{
|
||||
pstGPT = (VTOY_GPT_INFO *)malloc(sizeof(VTOY_GPT_INFO));
|
||||
memset(pstGPT, 0, sizeof(VTOY_GPT_INFO));
|
||||
|
||||
offset = lseek(fd, 0, SEEK_SET);
|
||||
len = read(fd, pstGPT, sizeof(VTOY_GPT_INFO));
|
||||
vlog("Read GPT table offset:%llu len:%llu ...\n", (_ull)offset, (_ull)len);
|
||||
|
||||
if (pstGPT->PartTbl[1].Attr != 0x8000000000000000ULL)
|
||||
{
|
||||
vlog("Update EFI part attr from 0x%016llx to 0x%016llx\n",
|
||||
pstGPT->PartTbl[1].Attr, 0x8000000000000000ULL);
|
||||
|
||||
pstGPT->PartTbl[1].Attr = 0x8000000000000000ULL;
|
||||
pstGPT->Head.Crc = 0;
|
||||
pstGPT->Head.Crc = ventoy_crc32(&(pstGPT->Head), pstGPT->Head.Length);
|
||||
ventoy_write_gpt_part_table(fd, disk->size_in_byte, pstGPT);
|
||||
}
|
||||
else
|
||||
{
|
||||
vlog("No need to update EFI part attr\n");
|
||||
}
|
||||
free(pstGPT);
|
||||
}
|
||||
|
||||
|
||||
g_current_progress = PT_SYNC_DATA1;
|
||||
|
||||
vlog("fsync data1...\n");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue