I wonder if you can help me with my triple boot set up.
My set up is Macbook Pro 9,1 - 250GB SSD as Disk0 1TB HD as disk1 (replaing the optical drive).
ESP is at disk0s1 (I beleive)
OSX Yosemite at disk0s2
OSX Recovery at disk0s3
And Linux installed at disk0s4 and Linux swap at disk0s5
Linux was installed via a bootcamp fudge (Started the bootcamp install then switch it to linux once partitions worked)
The on the HD
Disk1s1 is EFI
Disk1s2 is Mac Data (my mac /Users/ folder)
Disk1s3 is Boot Camp with win7
Diskutil list:
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme 240.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_CoreStorage 221.1 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
4: Microsoft Basic Data 18.1 GB disk0s4
5: Linux Swap 1.0 MB disk0s5
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme 1.0 TB disk1
1: EFI EFI 209.7 MB disk1s1
2: Apple_HFS Mac Data 899.9 GB disk1s2
3: Microsoft Basic Data BOOTCAMP 100.0 GB disk1s3
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Mac SSD *220.7 GB disk2
Logical Volume on disk0s2
F719FE3C-7A58-4C9D-86EA-C73686A39CE0
Unencrypted
When I boot refind I have these options:
Apple, Linux, Legacy OS, Windows Bootcamp
Booting apple and linux works no problem, No idea what the legacy os is, poss linux swap? It give a no bootable device message and boot windows from bootcamp gives the same no boot message.
If I boot holding down alt I can select OSX or BootCamp (but not Linux)
How can I get refind to boot windows from bootcamp on disk 1, and how can I hide the legacy os?
Sorry for the long message but apprecite if you can help.
Kind regards
Paul
Last edit: Paul Kingham 2014-12-27
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I was able to edit the refind.conf and set a scan delay, I used 5 as a test.
Whilst it does pause at startup it still does not pick up disk1 Win7 BootCamp.
Seems odd. When I boot holding alt down I see Mac SSD, Windows, EFI
Any pointers appreciated
Thanks
Paul
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I gave up on rEFInd for my 2011 iMac today, and found even after that the BOOTCAMP on disk1 would not boot. I realized that Windows has a boot.ini file (or in Windows 7 something like it) that needed to be fixed. I had bought and used WinClone for a couple of years, and its "Make Legacy Bootable..." option recovered my BOOTCAMP and things are soft of normal with the Apple boot options. My Boot Camp still see the disk1 HD as a bootable Mac OS though even though I deleted all that...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for the reply Steve, it seems like there isnt much help out there.
I could set my MAC SSD as the start drive then hold down alt to boot windows or EFI to then boot linux but it's all a bit crap. I was hoping someone would pipe up and give me a tweak for the refind.conf file or something.
I'm hopeful but not for much longer. I donated to this project a while back so I hope someone can help.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
BIOS-mode booting is a bit touchy; sometimes it works and sometimes it doesn't, and my own ability to test this is limited, since I don't normally install BIOS-mode OSes on my own Macs.
Can you try installing the older rEFIt alongside rEFInd? (Just copy the rEFIt files to the ESP, but do not set it as the default.) If rEFIt can boot your Windows installation then something has broken in rEFInd. If rEFIt can't do it, then I'm afraid it was broken in the code from the start and don't know how to fix it. (The BIOS-mode boot code for Macs in rEFInd is from rEFIt and does a lot of stuff that I just plain don't understand.)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The problem is that rEFIt and rEFInd don't support booting BIOS mode on disks that are not set as the Boot Camp disk. The Boot Camp disk is the disk containing the Windows partition that was last selected in the Startup Disk System Preferences panel. Another way to set the Boot Camp disk is to set the legacy disk using the bless command.
rEFIt has code to set the Boot Camp disk to the disk containing the partition that you select in the rEFIt menu but the code wasn't included in the last released binary. This means you have to download the latest code and compile it yourself.
rEFInd does not include that code. You would have to compare the code of rEFIt's released version with rEFIt's latest code, then add those changes (just a couple lines of code) to rEFInd's code, then recompile rEFInd.
If you have a 30 second delay at startup, then you should install rEFIt or rEFInd or both to their own HFS partition instead of the ESP partition. You can create small partitions just for them. That way you don't need to mess with hidden partitions (except for taking screenshots in rEFInd which has to save to an ESP partition since EFI doesn't have write access to HFS partitions).
When you hold option at startup, you should see two "Windows" options, one for each disk. One will boot the first disk in BIOS mode, and the other will boot the second disk in BIOS mode. The boot code in the MBR of the disk is executed - this usually boots the partition of the disk that is marked as the active partition (set in the MBR partition table of the disk). rEFIt and rEFInd have code to set the active partition in the MBR of the disk containing the selected partition.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You seem to be more familiar with this code than I am. Is there any chance you could put together a patch to rEFInd's source code and e-mail it to me? I could then include this support in rEFInd.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I believe rEFInd was started from rEFIt 0.14 (r463). So all the changes after that were not included in rEFInd (even though rEFInd started a couple years after the last code change to rEFIt). Most of those are website related. Only a couple are code changes to refit itself (r467, r472). https://sourceforge.net/p/refit/code/commit_browser
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks, Joe. I've applied that commit, and r472 for the heck of it, to rEFInd. I've tested on my Mac Mini, but this computer has just one internal disk, so there's no problem for the patch to fix on this computer. If somebody who's had problems could test this patched version and report back (here or via e-mail), I'd appreciate it. Here's a download link:
The source code is up on the rEFInd git repository. Note that this version also includes some changes to install.sh to help the script detect existing rEFInd installations.
Oh, and FWIW, I used the rEFIt source code from a Debian package as my starting point for rEFInd, the reason being that it included a large number of patches required to get the program to compile under Linux with GNU-EFI rather than the Windows development tools that Christoph Pfisterer used. Presumably that package wasn't quite up to date, although it had the same version number ("0.14") as the latest rEFIt from Sourceforge.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I downloaded the new 0.8.4.2 and manually updated my rEFInd HFS partition (I did not try the install.sh script). I used it to boot 3 legacy OS's on 2 different hard drives in my MacPro3,1. It seems to be working as expected now.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for checking that, Joe. With any luck I'll be able to push this out as a regular release, with some more tweaks to other features, this weekend.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
HI
I wonder if you can help me with my triple boot set up.
My set up is Macbook Pro 9,1 - 250GB SSD as Disk0 1TB HD as disk1 (replaing the optical drive).
ESP is at disk0s1 (I beleive)
OSX Yosemite at disk0s2
OSX Recovery at disk0s3
And Linux installed at disk0s4 and Linux swap at disk0s5
Linux was installed via a bootcamp fudge (Started the bootcamp install then switch it to linux once partitions worked)
The on the HD
Disk1s1 is EFI
Disk1s2 is Mac Data (my mac /Users/ folder)
Disk1s3 is Boot Camp with win7
Diskutil list:
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme 240.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_CoreStorage 221.1 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
4: Microsoft Basic Data 18.1 GB disk0s4
5: Linux Swap 1.0 MB disk0s5
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme 1.0 TB disk1
1: EFI EFI 209.7 MB disk1s1
2: Apple_HFS Mac Data 899.9 GB disk1s2
3: Microsoft Basic Data BOOTCAMP 100.0 GB disk1s3
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Mac SSD *220.7 GB disk2
Logical Volume on disk0s2
F719FE3C-7A58-4C9D-86EA-C73686A39CE0
Unencrypted
When I boot refind I have these options:
Apple, Linux, Legacy OS, Windows Bootcamp
Booting apple and linux works no problem, No idea what the legacy os is, poss linux swap? It give a no bootable device message and boot windows from bootcamp gives the same no boot message.
If I boot holding down alt I can select OSX or BootCamp (but not Linux)
How can I get refind to boot windows from bootcamp on disk 1, and how can I hide the legacy os?
Sorry for the long message but apprecite if you can help.
Kind regards
Paul
Last edit: Paul Kingham 2014-12-27
I was able to edit the refind.conf and set a scan delay, I used 5 as a test.
Whilst it does pause at startup it still does not pick up disk1 Win7 BootCamp.
Seems odd. When I boot holding alt down I see Mac SSD, Windows, EFI
Any pointers appreciated
Thanks
Paul
I gave up on rEFInd for my 2011 iMac today, and found even after that the BOOTCAMP on disk1 would not boot. I realized that Windows has a boot.ini file (or in Windows 7 something like it) that needed to be fixed. I had bought and used WinClone for a couple of years, and its "Make Legacy Bootable..." option recovered my BOOTCAMP and things are soft of normal with the Apple boot options. My Boot Camp still see the disk1 HD as a bootable Mac OS though even though I deleted all that...
Thanks for the reply Steve, it seems like there isnt much help out there.
I could set my MAC SSD as the start drive then hold down alt to boot windows or EFI to then boot linux but it's all a bit crap. I was hoping someone would pipe up and give me a tweak for the refind.conf file or something.
I'm hopeful but not for much longer. I donated to this project a while back so I hope someone can help.
BIOS-mode booting is a bit touchy; sometimes it works and sometimes it doesn't, and my own ability to test this is limited, since I don't normally install BIOS-mode OSes on my own Macs.
Can you try installing the older rEFIt alongside rEFInd? (Just copy the rEFIt files to the ESP, but do not set it as the default.) If rEFIt can boot your Windows installation then something has broken in rEFInd. If rEFIt can't do it, then I'm afraid it was broken in the code from the start and don't know how to fix it. (The BIOS-mode boot code for Macs in rEFInd is from rEFIt and does a lot of stuff that I just plain don't understand.)
The problem is that rEFIt and rEFInd don't support booting BIOS mode on disks that are not set as the Boot Camp disk. The Boot Camp disk is the disk containing the Windows partition that was last selected in the Startup Disk System Preferences panel. Another way to set the Boot Camp disk is to set the legacy disk using the bless command.
rEFIt has code to set the Boot Camp disk to the disk containing the partition that you select in the rEFIt menu but the code wasn't included in the last released binary. This means you have to download the latest code and compile it yourself.
rEFInd does not include that code. You would have to compare the code of rEFIt's released version with rEFIt's latest code, then add those changes (just a couple lines of code) to rEFInd's code, then recompile rEFInd.
This was discussed before:
https://sourceforge.net/p/refit/support-requests/91/
https://sourceforge.net/p/refit/support-requests/109/
https://sourceforge.net/p/refit/support-requests/115/
https://sourceforge.net/p/refit/bugs/214/
https://sourceforge.net/p/refit/bugs/226/
If you have a 30 second delay at startup, then you should install rEFIt or rEFInd or both to their own HFS partition instead of the ESP partition. You can create small partitions just for them. That way you don't need to mess with hidden partitions (except for taking screenshots in rEFInd which has to save to an ESP partition since EFI doesn't have write access to HFS partitions).
When you hold option at startup, you should see two "Windows" options, one for each disk. One will boot the first disk in BIOS mode, and the other will boot the second disk in BIOS mode. The boot code in the MBR of the disk is executed - this usually boots the partition of the disk that is marked as the active partition (set in the MBR partition table of the disk). rEFIt and rEFInd have code to set the active partition in the MBR of the disk containing the selected partition.
Joe,
You seem to be more familiar with this code than I am. Is there any chance you could put together a patch to rEFInd's source code and e-mail it to me? I could then include this support in rEFInd.
I don't know about a patch. But you can easily see the added lines in the rEFIt source forge pages.
https://sourceforge.net/p/refit/code/467/
I believe rEFInd was started from rEFIt 0.14 (r463). So all the changes after that were not included in rEFInd (even though rEFInd started a couple years after the last code change to rEFIt). Most of those are website related. Only a couple are code changes to refit itself (r467, r472).
https://sourceforge.net/p/refit/code/commit_browser
Thanks, Joe. I've applied that commit, and r472 for the heck of it, to rEFInd. I've tested on my Mac Mini, but this computer has just one internal disk, so there's no problem for the patch to fix on this computer. If somebody who's had problems could test this patched version and report back (here or via e-mail), I'd appreciate it. Here's a download link:
http://www.rodsbooks.com/refind-bin-0.8.4.2.zip
The source code is up on the rEFInd git repository. Note that this version also includes some changes to
install.sh
to help the script detect existing rEFInd installations.Oh, and FWIW, I used the rEFIt source code from a Debian package as my starting point for rEFInd, the reason being that it included a large number of patches required to get the program to compile under Linux with GNU-EFI rather than the Windows development tools that Christoph Pfisterer used. Presumably that package wasn't quite up to date, although it had the same version number ("0.14") as the latest rEFIt from Sourceforge.
I downloaded the new 0.8.4.2 and manually updated my rEFInd HFS partition (I did not try the install.sh script). I used it to boot 3 legacy OS's on 2 different hard drives in my MacPro3,1. It seems to be working as expected now.
Thanks for checking that, Joe. With any luck I'll be able to push this out as a regular release, with some more tweaks to other features, this weekend.