Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#91 boot from 2nd internal HD

open
nobody
None
5
2011-09-26
2011-09-26
Anonymous
No

Greetings!

I have a MacBookPro2,1 with firmware MBP21.00A5.B08. I am trying to use refit to boot linux from a 2nd internal HD. I installed Ubuntu 11.04 on the HD using another computer and installed it in my Mac laptop. When I hold the option key and select refit, the choice to boot Linux shows up. However, it always says something like "Cannot find operating system" when I try. Can you suggest what to try next?

Discussion

  • Joe van Tunen
    Joe van Tunen
    2011-09-26

    The current release version of rEFIt (0.14) will properly detect Boot Camp partitions on multiple drives but it will not properly boot a partition that is on a disk that is not the one that contained the Boot Camp partition that was last selected for booting by Startup Disk preferences or Boot Camp Assistant or the bless command.

    Startup Disk preferences won't show the partition if it doesn't have certain Windows boot files on it so you may need to use the bless command.
    sudo bless --device /dev/disk1s2 --setBoot --legacy --legacydrivehint /dev/disk1

    In the above bless command,
    --device doesn't really matter because it's not meaningful when --legacy is used.
    --legacy requires --setBoot. It tells the Mac that BIOS will be used for booting. This is stored in the "efi-boot-device" NVRAM variable. "efi-boot-device-data" is an encoded version of the same information.
    --legacydrivehint requires --legacy. It tells what hard disk the BIOS should use as the first hard disk. This is stored in the "BootCampHD" NVRAM variable.

    To boot Mac OS X, use the following bless command (or use Startup Disk preferences panel):
    bless --folder /System/Library/CoreServices --file /System/Library/CoreServices/boot.efi --setBoot

    Note that switching booting back to Mac OS X does not remove the setting for the legacydrivehint.

    The latest source code for rEFIt (post version 0.14) sets the BootCampHD so that you can boot from Boot Camp partitions that are on any disk. You can recompile it yourself using Windows or try the version I compiled at:
    http://members.shaw.ca/joevt/refit.efi.zip

    If the problem is not the BootCampHD nvram variable, then there may be something wrong with the way the partitions are setup on your 2nd internal HD. The script at http://members.shaw.ca/joevt/dumpvols2.sh.zip will dump information about your partition setup. The MBR should match partitions in the GPT. The flagged boot partition should have boot code in the first block of the partition. The MBR should have boot code also.