- if( MBR->Parts[i].SystemID == 0xF || MBR->Parts[i].SystemID == 5 ) {
- LOG("Extended Partition at 0x%llx", MBR->Parts[i].LBAStart);
- if(extendedLBA != 0) {
- Warning("Disk %i has multiple extended partitions, ignoring rest", Disk);
- continue;
- }
- extendedLBA = MBR->Parts[i].LBAStart;
+ base = (MBR->Parts[i].StartHi << 16) | MBR->Parts[i].LBAStart;
+ }
+ else
+ continue; // Invalid, don't count
+
+ if( MBR->Parts[i].SystemID == 0xF || MBR->Parts[i].SystemID == 5 ) {
+ LOG("Extended Partition at 0x%llx", base);
+ if(extendedLBA != 0) {
+ Warning("Disk %i has multiple extended partitions, ignoring rest", Disk);