memset(pData, 0, 512);\r
\r
pMBR = (MBR_HEAD *)pData;\r
- VentoyFillMBR(pPhyDrive->SizeInBytes, pMBR, PartStyle);\r
+ VentoyFillMBR(pPhyDrive->SizeInBytes, pMBR, PartStyle, 0x07);\r
Part1StartSector = pMBR->PartTbl[0].StartSectorId;\r
Part1SectorCount = pMBR->PartTbl[0].SectorCount;\r
Part2StartSector = pMBR->PartTbl[1].StartSectorId;\r
UINT64 Part2StartSector = 0;\r
BOOL LargeFAT32 = FALSE;\r
BOOL DefaultExFAT = FALSE;\r
+ UINT8 FsFlag = 0x07;\r
\r
Log("#####################################################");\r
Log("InstallVentoy2PhyDrive try%d %s PhyDrive%d <<%s %s %dGB>>", TryId,\r
}\r
else\r
{\r
- VentoyFillMBR(pPhyDrive->SizeInBytes, &MBR, PartStyle);\r
+ if (GetVentoyFsType() == VTOY_FS_FAT32)\r
+ {\r
+ FsFlag = 0x0C;\r
+ }\r
+\r
+ VentoyFillMBR(pPhyDrive->SizeInBytes, &MBR, PartStyle, FsFlag);\r
Part1StartSector = MBR.PartTbl[0].StartSectorId;\r
Part1SectorCount = MBR.PartTbl[0].SectorCount;\r
Part2StartSector = MBR.PartTbl[1].StartSectorId;\r
return 0;\r
}\r
\r
-int VentoyFillMBR(UINT64 DiskSizeBytes, MBR_HEAD *pMBR, int PartStyle)\r
+int VentoyFillMBR(UINT64 DiskSizeBytes, MBR_HEAD *pMBR, int PartStyle, UINT8 FsFlag)\r
{\r
GUID Guid;\r
int ReservedValue;\r
VentoyFillMBRLocation(DiskSizeBytes, PartStartSector, PartSectorCount, pMBR->PartTbl);\r
\r
pMBR->PartTbl[0].Active = 0x80; // bootable\r
- pMBR->PartTbl[0].FsFlag = 0x07; // exFAT/NTFS/HPFS\r
+ pMBR->PartTbl[0].FsFlag = FsFlag; // File system flag 07:exFAT/NTFS/HPFS 0C:FAT32\r
\r
//Part2\r
PartStartSector += PartSectorCount;\r
int VentoyGetLocalBootImg(MBR_HEAD *pMBR);\r
int GetHumanReadableGBSize(UINT64 SizeBytes);\r
void TrimString(CHAR *String);\r
-int VentoyFillMBR(UINT64 DiskSizeBytes, MBR_HEAD *pMBR, int PartStyle);\r
+int VentoyFillMBR(UINT64 DiskSizeBytes, MBR_HEAD *pMBR, int PartStyle, UINT8 FsFlag);\r
int VentoyFillGpt(UINT64 DiskSizeBytes, VTOY_GPT_INFO *pInfo);\r
BOOL IsVentoyLogicalDrive(CHAR DriveLetter);\r
int GetRegDwordValue(HKEY Key, LPCSTR SubKey, LPCSTR ValueName, DWORD *pValue);\r