UINT8 Buffer[SAMPLE_SIZE];
UINTN i;
MBR_PARTITION_INFO *MbrTable;
- BOOLEAN MbrTableFound;
+ BOOLEAN MbrTableFound = FALSE;
Volume->HasBootCode = FALSE;
Volume->OSIconName = NULL;
if (FindMem(Buffer, 512, "Press any key to restart", 24) >= 0)
Volume->HasBootCode = FALSE;
+ // dummy FAT boot sector (created by iPartition)
+ if ((FindMem(Buffer, 512, "Medienfehler", 12) >= 0) &&
+ (FindMem(Buffer, 512, "Neustart: Taste dr\x81" "ken", 22) >= 0))
+ Volume->HasBootCode = FALSE;
+
// check for MBR partition table
if (*((UINT16 *)(Buffer + 510)) == 0xaa55) {
- MbrTableFound = FALSE;
MbrTable = (MBR_PARTITION_INFO *)(Buffer + 446);
for (i = 0; i < 4; i++)
if (MbrTable[i].StartLBA && MbrTable[i].Size)