Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

victor.muc

macrumors newbie
Original poster
Hi everyone,

I’m trying to build a multiboot setup on an Early 2009 iMac with XP, Vista, 7, one extra FAT partition and several macOS partitions afterwards. I’m not using Boot Camp Assistant because I want this custom multiboot layout with multiple Windows partitions. I previously had XP + multiple macOS partitions working fine on a 2009 MacBook, so I know XP itself can work on these late Intel Macs.

The machine uses GPT + hybrid MBR. I tried both with and without rEFIt GPT/MBR sync.

XP finishes text mode setup successfully, but after the first reboot I either get HAL.DLL missing/corrupt or later UNMOUNTABLE_BOOT_VOLUME.

XP setup automatically writes partition(2) into boot.ini, but that results in the infamous hal.dll error. The only value that partially works is partition(1). With partition 1, XP reaches the XP logo and starts loading, but then crashes with UNMOUNTABLE_BOOT_VOLUME.

I already tried:

- fixmbr
- fixboot
- bootcfg /rebuild (always writes partition 2 to boot.ini)
- manually editing boot.ini
- chkdsk /r
- rEFIt MBR sync
- direct rEFIt booting
- Installing Vista first and installing XP first
- An unhealthy amount of reformatting the whole drive

I also created a custom XP SP3 ISO with nLite and integrated the NVIDIA textmode SATA drivers from the Snow Leopard Boot Camp DVD, but it changed nothing.

The interesting part is that I completely wiped the disk and tested XP installation through Boot Camp Assistant instead of my manual layout, and XP installed and booted perfectly immediately. So it seems the SATA drivers are not actually the issue and the problem is specifically related to the manually created hybrid MBR / partition mapping.

In Hiren’s BootCD, the XP partition appears active, as drive C:, and as the first partition after EFI, so from XP’s perspective it should look correct right?.

My current layout is:
(Formatted as GUID)

0 EFI
1 XP
2 Vista
3 7
4 FAT Partition for Experiments
5+ macOS partitions

I suspect Boot Camp creates a very specific Apple compatible hybrid MBR / BIOS mapping that XP depends on, while manually synchronized GPT/MBR layouts are technically valid but not fully compatible with XP on this hardware.

I’ll attach two photos of the partition layout during XP setup. The first is the Boot Camp layout and the second is my custom partition layout.

Any help would be greatly appreciated 😄

Thanks in advance!
 

Attachments

  • IMG_5785.jpeg
    IMG_5785.jpeg
    3.9 MB · Views: 30
  • IMG_5819.jpeg
    IMG_5819.jpeg
    6.6 MB · Views: 20
If you have a HS partition you can use:
 
If you have a HS partition you can use:
Thank you! I tried it yesterday via FireWire from my 10.15 MacBook, and it recognized the XP partition inside the tool, but it wouldn’t accept any of my ISOs. I’ll try installing 10.13 on the iMac itself today via OpenCore and give it another shot.
 
Thank you all for your answers. After several days of tinkering around without much success, I ended up installing a minimal Alpine Linux setup on a small extra partition.

I wrote a small script that uses the `dialog` package to display a simple boot manager on startup. From there, I can select the Windows version I want to boot, and the script calls `gdisk` to create a hybrid MBR containing only the required Windows partition.

So far, it works like a charm. The nice thing is that I only need to boot into Alpine when I want to switch to a different Windows version. If I want to keep using the currently selected Windows installation, I can boot directly into it without using the manager again.
 

Attachments

  • IMG_6569.jpeg
    IMG_6569.jpeg
    2.3 MB · Views: 8
  • Love
Reactions: bogdanw
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.