I didn't touch anything but suddenly I cannot boot in Windows 7 or Ubuntu on my MacBook Pro (Santa Rosa). The message is BOOTMGR is missing. My assumption is that my second hard drive is now the first hard drive, meaning that normally my 500GB is /dev/disk0, but now my 200GB is /dev/disk0. On Santa Rosa, my 200GB is connected with ATA and my 500GB is SATA, both use GUID Partion Table.
How to tell my Mac to use the SATA first, maybe that will fix my problem? Or how to disable the 200GB without opening my Mac?
Here's more information on the partition, since my SuperDrive DVD is broken and that Santa Rosa is not booting from USB (something like USB legacy is not supported)...
500GB - SATA /dev/disk1 *should be first*
Number Start (sector) End (sector) Size Code Name
1 40 409639 200.0 MiB EF00 EFI System Partition
2 409640 156965623 74.7 GiB AF00 Untitled
3 157227768 606475343 214.2 GiB 0700 Untitled
4 606475344 976773127 176.6 GiB 0700 Untitled
1 =
Partition GUID code: C12A7328-F81F-11D2-BA4B-00A0C93EC93B (EFI System)
Partition unique GUID: A38E3351-5D64-4ACD-8A4F-7005B334C879
First sector: 40 (at 20.0 KiB)
Last sector: 409639 (at 200.0 MiB)
Partition size: 409600 sectors (200.0 MiB)
Attribute flags: 0000000000000000
Partition name: 'EFI System Partition'
200GB - ATA /dev/disk0
Number Start (sector) End (sector) Size Code Name
1 40 409639 200.0 MiB EF00 EFI System Partition
2 409640 97401831 46.2 GiB AF00 MAC50GB
3 97665024 194666495 46.3 GiB 0700 WIN50GB
4 194666496 390721535 93.5 GiB 0700 EXT
1 =
Partition GUID code: C12A7328-F81F-11D2-BA4B-00A0C93EC93B (EFI System)
Partition unique GUID: 56D21DB0-7070-4DE0-AC39-15BA5FC847E1
First sector: 40 (at 20.0 KiB)
Last sector: 409639 (at 200.0 MiB)
Partition size: 409600 sectors (200.0 MiB)
Attribute flags: 0000000000000000
Partition name: 'EFI System Partition'
If anyone can help me!
Bad news, is was not my assumption. Looks like the first hard drive is not /dev/disk0 (500GB) but still having the same error when booting in Windows 7 or Ubuntu (BOOTMGR is missing).
What to do?
Maybe the legacy boot drive setting in NVRAM (the "BootCampHD" NVRAM variable) is pointing to the wrong drive. You can try using Startup Disk preferences panel to fix it. First select the correct Windows partition in Startup Disk preferences, close Startup Disk preferences, then open Startup Disk preferences and reselect Mac OS X.
Also, read these:
https://sourceforge.net/tracker/?func=detail&aid=3414173&group_id=161917&atid=821765
https://sourceforge.net/tracker/index.php?func=detail&aid=3440370&group_id=161917&atid=821764
Thank you so much for taking the time to troubleshoot my situation. I am well aware that the problem is not Refit (well AFAIK)...
I tried your suggestion, but it's not working for me. Here's a pastebin of dumpvols.sh, maybe someone will find something strange about my MBR or EFI:
http://paste.ubuntu.com/891527/
You have two partitions that can give the BOOTMGR is missing error message:
/dev/disk0s4 BOOTCAMP (189.6 GB) on your Mac OS X disk (SATA drive)
and
/dev/disk1s3 WIN50GB (49.7 GB) (ATA drive).
Which partition do you want to boot? Does it contain BOOTMGR in the root directory of the partition?
You could use dd to edit the error message so that it appears different on each partition; then you would be able to tell which partition the error message is coming from.
You could use fdisk to unflag the partition on the other hard drive so that the boot code won't try to boot it.
It looks like the last legacy OS you tried to boot on your Mac OS X disk was the Linux partition. Are you sure you selected the correct Windows partition in rEFIt?
Did you try the build of rEFIt that I compiled?
What do the NVRAM variables (efi-boot-device, BootCampHD, etc) in the dumpvols.sh output say when you have the Windows partition on your other disk selected in Startup Disk preferences panel? (You have to close the preference panel for the change to take effect).
What do the NVRAM variables (efi-boot-device, BootCampHD, etc) in the dumpvols.sh output say when you have the Windows partition on your Mac OS X disk selected in Startup Disk preferences panel?
Hi,
I want to boot from /dev/disk0 or /dev/disk1 (depending or what order they came up - sometimes the 500GB is /dev/disk1 and other time /dev/disk0). I have a triple-boot setup: Mac, Linux, Windows 7 on 500GB partition 2, 3, 4:
Number Start (sector) End (sector) Size Code Name
1 40 409639 200.0 MiB EF00 EFI System Partition
2 409640 156965623 74.7 GiB AF00 Untitled
3 157227768 606475343 214.2 GiB 0700 Untitled
4 606475344 976773127 176.6 GiB 0700 Untitled
Strangely when it was working, REFIT showed Mac, Linux, Windows & Windows again (the other NTFS partition on my second drive). If you know any link that can teach me how to use "dd" to change the error message (BOOTMGR is missing) that would be great.
Not sure what to do with your compile version of refit.efi? I simply copied it to /efi/refit/refit.efi but it doesn't change nothing.
My MacBook Pro is a bit old (Santa Rosa) and I cannot boot from USB. Is there any hope?
-Startup Manager-
When MAC OS X:
"efi-boot-device" = "<array><dict><key>IOMatch</key><dict><key>IOProviderClass</key><string>IOMedia</string><key>IOPropertyMatch</key><dict><key>UUID</key><string>CBFE7C18-8A68-4623-AC1C-A8FA017F275A</string></dict></dict><key>BLLastBSDName</key><string>disk0s2</string></dict></array>"
"fmm-computer-name" = <"Patrick Coulombe’s MacBook Pro">
"boot-image" = <02010c00d041030a0000000001010600021f03120a000000000000000404180033003400610061006200640030003000300000007fff0400>
"platform-uuid" = <000000000000100080000022412bb759>
"prev-lang:kbd" = <"en:29">
"BootCampHD" = <02010c00d041030a0000000001010600021f03120a000000000000007fff0400>
"SystemAudioVolume" = <24>
"efi-boot-device-data" = <02010c00d041030a0000000001010600021f03120a0000000000000004012a00020000002840060000000000d0da540900000000187cfecb688a2346ac1ca8fa017f275a02027fff0400>
===============================================================================
When Windows:
"efi-boot-device" = "<array><dict><key>MemoryType</key><integer size="64">0xb</integer><key>StartingAddress</key><integer size="64">0xffe00000</integer><key>IOEFIDevicePathType</key><string>HardwareMemoryMapped</string><key>EndingAddress</key><integer size="64">0xfff8ffff</integer></dict><dict><key>IOEFIDevicePathType</key><string>MediaFirmwareVolumeFilePath</string><key>Guid</key><string>2B0585EB-D8B8-49A9-8B8C-E21B01AEF2B7</string></dict><dict><key>IOEFIBootOption</key><string>HD</string></dict></array>"
"fmm-computer-name" = <"Patrick Coulombe’s MacBook Pro">
"boot-image" = <02010c00d041030a0000000001010600021f03120a000000000000000404180033003400610061006200640030003000300000007fff0400>
"platform-uuid" = <000000000000100080000022412bb759>
"prev-lang:kbd" = <"en:29">
"BootCampHD" = <02010c00d041030a0000000001010600021f03120a000000000000007fff0400>
"SystemAudioVolume" = <24>
"efi-boot-device-data" = <010318000b0000000000e0ff00000000fffff8ff0000000004061400eb85052bb8d8a9498b8ce21b01aef2b77fff0400>
===============================================================================
If anyone stumble upon this thread when searching for "BOOTMGR is missing" and have a similar setup (2 hds SATA / ATA), I fixed the problem (well, not really fix) the hard way: removing the ATA (second) hd. Surely the second HD had a wrong MBR / GTP table / partition...
Did you try booting the disk by bypassing rEFIt using the Startup Manager?
http://support.apple.com/kb/HT1310
The Startup Manager will show a Windows option for each hard disk that has partitions listed in the MBR. When you choose a Windows option, it will boot the partition that is flagged as the startup partition in the MBR of the disk that the Windows option corresponds to. Your dumpvols output showed partition 3 as the startup partition. I think that's your Linux partition. You should use fdisk to set it to partition 4 for Windows.
View and moderate all "support-requests Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Support Requests"
This same problem just happened to me this morning. I have a dual-boot setup with MacOSX and Ubuntu. This has worked for months. The only change on the system was keeping up to date with Ubuntu updates.
This morning, when I tried to boot to Linux I received the error "Bootmgr is missing".
I have reinstalled grub2 on the root partition using a Ubuntu Live CD, but this has not changed anything.
View and moderate all "support-requests Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Support Requests"
I was able to work around this by using the Startup Manager to manually select the correct partition and Grub2 booted normally. I removed the boot flag from one partition that had been showing up incorrectly as Windows in ReFit.
The remaining mystery is how ReFit mixed up what it assigned to the Linux icon and the Windows icon.
Last edit: Anonymous 2015-12-24
The Startup Manager does not select Windows partitions. It selects Windows disks. The disk has a flag in the MBR that states which partition on the disk is supposed to boot.
rEFIt does select Windows partitions by setting the flag in the MBR for the partition for you. However, you need to use a recompiled version of rEFIt (which I mentioned before) that includes the code that will select the Windows disk if you have more than one Windows disk to select from.
Read these:
https://sourceforge.net/tracker/?func=detail&aid=3414173&group_id=161917&atid=821765
https://sourceforge.net/tracker/index.php?func=detail&aid=3440370&group_id=161917&atid=821764
I believe rEFInd also has code that properly selects the Windows disk.
http://www.rodsbooks.com/refind/