Hi All! I hope this is not a repeat question. I looked around but found no topic similar to my problem.
I install rEFInd on my MacBook Pro (2011 vintage) a few months ago to put Windows 7 and Suse Linux on it for a triple-booting situation. This worked beautifully for a while. As of a few weeks ago, when I select the Linux option from the rEFInd menu, it boots to Windows 7 instead.
Has anyone encountered such a problem? Perhaps there is an easy fix? I was using it for work to run some tests on code which was made to compile in Linux (too many compilation issues on the MacOS).
Thanks for any help you can give!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Verify that rEFInd is setting the active partition correctly for Windows and Linux. To do this, run the following command in Mac OS X after selecting Windows and after selecting Linux:
sudo fdisk /dev/disk0
Verify that the GPT matches the MBR:
sudo gpt -r show -l /dev/disk0
Verify the existence of the boot code in the MBR and the PBR of the Windows and Linux partitions. The output can be used to identify the boot code type.
If the boot code for the Linux partition is being executed correctly but it won't boot then there may be a problem with the grub configuration file. Maybe you can use the grub console to diagnose the problem.
You could try modifying the Windows boot menu using EasyBCD so that it can be used to boot Linux. The NeoGrub feature I think is as powerful as grub on Linux. It uses a similar configuration and has a console that you can use to test commands that you would put in the menu list.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Triple-boot configurations on Macs tend to be like a cross between Frankenstein's Monster and a Rube Goldberg apparatus. This is especially true when, as is common, Linux is configured to boot in BIOS mode. You can simplify things by setting rEFInd to boot the Linux kernel directly in EFI mode. That way, you can leave the hybrid MBR flakiness to the Windows side, which both limits boot-time weirdness to Windows and makes it easier to set up a hybrid MBR that works.
To do this, you'll probably need an EFI filesystem driver for whatever filesystem holds your Linux kernel. Consult the rEFInd documentation on drivers for information on this topic. Installing the driver is easy; you generally just need to copy one file (possibly into a new directory). You may also need to create a /boot/refind_linux.conf file in Linux. See the end of the rEFInd documentation on booting Linux for information on this file.
IMO, setting it up this way is likely to be easier and simpler than mucking with the BIOS-side configuration, as Joe van Tunen describes. You may need to learn a bit about both hybrid MBRs and EFI boot loaders for Linux, though. In the long run, this knowledge will serve you well.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I must apologize for my delayed response. I was on a work trip then fell ill. I admit that both these solutions are a bit too technical for me to attempt. Everything was originally set up with automatic detection, which was working just fine. Is there any way to reinstall to get it to again detect install OS's correctly?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The problem isn't really with rEFInd; something in your BIOS boot loader configuration, or something that relates to it (like your hybrid MBR) has changed. Thus, re-installing rEFInd won't help. You must either track down and fix the problem (which is what Joe's suggestions aim to do) or bypass BIOS-mode booting (which is what my suggestion aims to do).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi All! I hope this is not a repeat question. I looked around but found no topic similar to my problem.
I install rEFInd on my MacBook Pro (2011 vintage) a few months ago to put Windows 7 and Suse Linux on it for a triple-booting situation. This worked beautifully for a while. As of a few weeks ago, when I select the Linux option from the rEFInd menu, it boots to Windows 7 instead.
Has anyone encountered such a problem? Perhaps there is an easy fix? I was using it for work to run some tests on code which was made to compile in Linux (too many compilation issues on the MacOS).
Thanks for any help you can give!
Verify that rEFInd is setting the active partition correctly for Windows and Linux. To do this, run the following command in Mac OS X after selecting Windows and after selecting Linux:
Verify that the GPT matches the MBR:
Verify the existence of the boot code in the MBR and the PBR of the Windows and Linux partitions. The output can be used to identify the boot code type.
If the boot code for the Linux partition is being executed correctly but it won't boot then there may be a problem with the grub configuration file. Maybe you can use the grub console to diagnose the problem.
You could try modifying the Windows boot menu using EasyBCD so that it can be used to boot Linux. The NeoGrub feature I think is as powerful as grub on Linux. It uses a similar configuration and has a console that you can use to test commands that you would put in the menu list.
Triple-boot configurations on Macs tend to be like a cross between Frankenstein's Monster and a Rube Goldberg apparatus. This is especially true when, as is common, Linux is configured to boot in BIOS mode. You can simplify things by setting rEFInd to boot the Linux kernel directly in EFI mode. That way, you can leave the hybrid MBR flakiness to the Windows side, which both limits boot-time weirdness to Windows and makes it easier to set up a hybrid MBR that works.
To do this, you'll probably need an EFI filesystem driver for whatever filesystem holds your Linux kernel. Consult the rEFInd documentation on drivers for information on this topic. Installing the driver is easy; you generally just need to copy one file (possibly into a new directory). You may also need to create a
/boot/refind_linux.conf
file in Linux. See the end of the rEFInd documentation on booting Linux for information on this file.IMO, setting it up this way is likely to be easier and simpler than mucking with the BIOS-side configuration, as Joe van Tunen describes. You may need to learn a bit about both hybrid MBRs and EFI boot loaders for Linux, though. In the long run, this knowledge will serve you well.
I must apologize for my delayed response. I was on a work trip then fell ill. I admit that both these solutions are a bit too technical for me to attempt. Everything was originally set up with automatic detection, which was working just fine. Is there any way to reinstall to get it to again detect install OS's correctly?
The problem isn't really with rEFInd; something in your BIOS boot loader configuration, or something that relates to it (like your hybrid MBR) has changed. Thus, re-installing rEFInd won't help. You must either track down and fix the problem (which is what Joe's suggestions aim to do) or bypass BIOS-mode booting (which is what my suggestion aims to do).