I am dual booting arch and xp on a macbookpro 15". I have Windows chainloading off of GRUB. The symptoms of my problem are:
1. I boot into arch no problem through GRUB. I can reboot, poweroff etc. no problem. GRUB always boots the next time.
2. The next time I load Windows through GRUB instead of arch, I restart the computer, poweroff etc., the computer skips GRUB and boots directly into windows.
3. I check my partition scheme through cfdisk and notice the boot flag has been removed from /boot and placed on my windows partition. I can reflag my /boot partition as bootable and GRUB loads fine again indefinately, UNTIL...
4. The next time I load into windows, /boot is unflagged again and windows always loads.
Does anyone have any idea what's going on? Thanks in advance.
as far as I know, Windows needs the bootableflag on it's systempartition - and sets this flag, in case it is not set - to boot up.
Actually, I don't know any way to prevent Windows from "touching" the MBR except a MBR-Lock (sometimes called "Boot-Virus-Protection") in BIOS - seems to be not possible on your configuration (Macbook -> EFI/GUID-MBR-Hybrid and not BIOS/MBR).
One way, to evade the drama of manually editing the MBR, would be letting the Windowsbootmanager load Grub.
1.) copy the grub-bootsector of your /boot partition to a file in your window-systempartition.
dd if=/dev/sdX of=arch.lin bs=512 count=1
mount the windows system-partition and copy arch.lin to the root of the partition (C:\ ?)
2.) adding a boot-entry to your windows-bootloader
boot windows, and add the line C:\arch.lin="arch" to the %SYSTEMROOT%\boot.ini
(this could probably also be done from linux while doing step 1)
3.) modify the windows-bootloader to fit your needs:
a) change timeout=0 to timeout=15 (or something like this)
b) let timeout=0 untouched and change the default to grub (so the boot-way should be: mbr -> windows-loader -> grub -> linux/win)
I am not 100% sure, if this works as intended. There are plenty of howtos on the internet dealing with the winbootloader -> grub stuff. maybe you should read one or two just to verify this.
watching someone else use your computer is like watching a drunk orangutan solve a rubix cube