Menu

Various questions about rEFInd

mekineer
2013-12-15
2014-01-04
  • mekineer

    mekineer - 2013-12-15

    Can you tell me which of these statements are true:
    1) Windows XP 32 bit will not be aware that other partitions exist on a GPT partitioned drive.
    2) Windows XP 32 bit will not boot from a GPT partition, even using rEFInd.
    3) Windows XP 32 bit will not boot from an EFI laptop, even using rEFInd, unless EFI has BIOS compatibility mode.
    4) Macbook Pro A1212 (Core 2 Duo) does not have BIOS compatibility mode, so in order to use XP, I need a hybrid MBR/GPT.
    5) Macbook Pro A1212 (Core 2 Duo) has EFI, and I can use a regular MBR from third party partitioning tool, and Windows XP won't care about laptop being EFI only.
    6) I can copy over an image of OS X into an MBR partition, and rEFInd will find it and allow me to boot OS X
    7) I can download the rEFInd ISO, burn it to CD, and boot from it to try it out.
    8) I can download the rEFInd ISO, burn it to CD, and boot from it to install it into a partition (and if so, can it be any partition, including ones that have an existing OS).
    9) I can edit the rEFInd menu so it displays the image and name that I want it to, for each OS

     
  • mekineer

    mekineer - 2013-12-15

    My guesses:
    1) True
    2) False
    3) False
    4) False, and what's so great about Boot Camp?
    5) True, and rEFInd will alter the MBR to boot itself first
    6) True, based on Myths and facts on the rEFIt web page
    7) No idea, but I hope so
    8) No idea, but I hope so... why should I have to boot into some OS to install rEFInd anyway?
    9) True, and I could have read a little more, as it plainly says so

     
  • mekineer

    mekineer - 2013-12-15

    10) To keep all the boot loaders in the partition boot records, from trying to be boot managers themselves, I should hide all partitions except the destination partition, before installing the OS.

     
  • Roderick W. Smith

    1) Windows XP 32 bit will not be aware that other partitions exist on a GPT partitioned drive.

    Windows XP will not be aware of any real partitions on a GPT disk. It will see a GPT disk as having a single partition of type 0xEE that spans the entire disk, but this is the GPT's "protective" partition; it doesn't actually correspond to a real partition's start and end points, even on a 1-partition disk.

    2) Windows XP 32 bit will not boot from a GPT partition, even using rEFInd.

    Correct.

    3) Windows XP 32 bit will not boot from an EFI laptop, even using rEFInd, unless EFI has BIOS compatibility mode.

    Correct.

    4) Macbook Pro A1212 (Core 2 Duo) does not have BIOS compatibility mode, so in order to use XP, I need a hybrid MBR/GPT.

    I'm not familiar with that particular model, but my understanding is that all Intel-based Macs have a CSM (hence BIOS compatibility mode, aka legacy mode). One caveat, though: Some early models shipped with firmware that lacked a CSM, but the CSM became available as a firmware upgrade. If your Mac is early enough, therefore, you might need to install a firmware upgrade to get a CSM for it. Note that Apple uses the presence of a hybrid MBR to activate the CSM, so if you had an old Mac with old firmware and put a hybrid MBR on it, that would do you no good; without a CSM to activate, the hybrid MBR will, at best, not interfere with the boot process. At worst, the Mac would refuse to boot with a hybrid MBR. (I don't know offhand how these old models reacted to hybrid MBRs.)

    5) Macbook Pro A1212 (Core 2 Duo) has EFI, and I can use a regular MBR from third party partitioning tool, and Windows XP won't care about laptop being EFI only.

    This is probably technically true, provided your firmware has CSM support, but you can easily dig yourself into some serious trouble if the computer is already booting OS X. This is because the MBR and GPT partitioning systems are distinct, but use one common disk sector (sector 0, aka the MBR). Thus, if you've got GPT partitions and then use a GPT-unaware tool to create "new" partitions, you'll trash your GPT partitions. GPT and MBR can be made to (sort of) coexist by using a hybrid MBR, but as the linked-to page describes, hybrid MBRs are flaky and dangerous. I recommend using them only when it's absolutely required.

    6) I can copy over an image of OS X into an MBR partition, and rEFInd will find it and allow me to boot OS X

    If you're talking about a hybridized partition in a hybrid MBR setup, then it doesn't matter. Such a partition is primarily a GPT partition; it's an MBR partition only insofar as it has a duplicate entry in the MBR.

    If you're talking about a pure-MBR (no GPT) disk, then in theory, yes. In practice, I've not tried it; and even if it does work, the OS X installer refuses to install to an MBR disk, so installing OS X on an MBR disk will prevent you from upgrading to a new version of OS X.

    7) I can download the rEFInd ISO, burn it to CD, and boot from it to try it out.

    Correct.

    8) I can download the rEFInd ISO, burn it to CD, and boot from it to install it into a partition (and if so, can it be any partition, including ones that have an existing OS).

    Correct, with the caveat that rEFInd must reside on a partition that the EFI can read. This means FAT or HFS+ on a Mac, unless some other tool loads an EFI filesystem driver and then launches rEFInd.

    9) I can edit the rEFInd menu so it displays the image and name that I want it to, for each OS

    Correct, within certain limits. (Icon sizes are fixed, for instance.)

    10) To keep all the boot loaders in the partition boot records, from trying to be boot managers themselves, I should hide all partitions except the destination partition, before installing the OS.

    No. Under EFI, boot code in partition boot records (PBRs) is ignored; that's a BIOS feature. rEFInd reads PBR code to try to identify BIOS-bootable OSes, but of course this happens after rEFInd is already running. Also, there's no way to "hide" a GPT partition. Under MBR, this is typically done by adding 0x10 to the partition's type code, but even that's only effective for tools that recognize this convention. Under GPT, there's no equivalent convention.

     
  • mekineer

    mekineer - 2013-12-16

    Booted from Hiren, and created a non-hybrid, plain vanilla mbr. Partitioned everything with 1st primary partition being 8GB fat32. I am trying to install rEFInd, but am kind of lost in the Shell>ls, which tells me "Cannot open current directory - No Mapping". Mount command doesn't seem to work with -l flag? /dev/fd0 is also an invalid 'mount' paramter. I would love to "cp refind_x64.efi fs0:\", but it's just not happening.

    EDIT: things I learned in the efi shell:
    "map -b" lists the devices / partitions
    "mount <device>" mounts the device you want, like fs0
    "ls" won't work, but you can now "cd fs0", and then "ls" will work

     

    Last edit: mekineer 2013-12-18
  • mekineer

    mekineer - 2013-12-16

    So, Not being successful with the rEFInd cd. I booted into Hiren again, and copied over all the files of the cd into the first primary, FAT32 partition.

    EDIT: I learned how to make this FAT32 magically become an EFI system partition aka ESP, just by changing the partition ID to 0xEF (at least I hope). I used Paragon partition manager for this, as I don't think Gparted has the option.

     

    Last edit: mekineer 2013-12-18
  • Roderick W. Smith

    My understanding is that, with a disk that has a plain-vanilla MBR, a Mac will boot in BIOS/CSM/legacy mode. rEFInd is an EFI-mode program, and so will be useless in that environment. Maybe you could get it to work with an EFI System Partition (ESP) on the disk -- that is, a FAT partition with a type code of 0xEF -- but I can make no promises of that. Certainly EFI-mode booting from an MBR disk is a rather obscure option, under any EFI.

     
  • mekineer

    mekineer - 2013-12-17

    Thanks for all the insight!
    http://refit.sourceforge.net/myths/
    "Fact: You need BIOS compatibility for 2D/3D accelleration"
    Is this still true? This is/was only for Linux, right? Or is it for the older Macs? Will this help: http://support.apple.com/downloads/MacBook_Pro_EFI_Firmware_Update_1_5_1 (I found Macbook Pro 17, Core 2 Duo, in the list here: http://support.apple.com/kb/HT1237?viewlocale=en_US)

    Answer here: http://www.odi.ch/prog/macbookpro/
    "As you have probably heard, Intel Macs don't come with a PC BIOS. They have an alternative boot firmware called EFI. In contrast to BIOS, a portion of EFI is installed on a partition on the harddrive. This makes it extensible. It also provides the BIOS calls for Linux. Decent EFI support is in process of being implemented into Linux since kernel 3.1 onwards only. Some drivers still rely on BIOS calls (graphics!). So currently don't bother with a pure EFI installation. It probably won't work."

    I guess the newer Kernels will support the old Macbook Pro sort-of-EFI implementation?

     

    Last edit: mekineer 2014-01-03
  • mekineer

    mekineer - 2013-12-17

    From http://forums.fedoraforum.org/archive/index.php/t-292451.html "It's sort of a mess right now with BIOS and EFI, there isn't a really good way to know in advance which is best. Usually, not always, it's the case that EFI has better ACPI and AHCI support so you get slightly better performance and battery life, than CSM-BIOS. But one common drawback of EFI mode boot is that proprietary video drivers often don't work in that mode. But if you don't plan on using the proprietary driver instead of the open source one that'll be used by default, this shouldn't be a problem."

     
  • mekineer

    mekineer - 2013-12-17

    After I copied the rEFInd files to the fat32 partition, the rEFInd bootable CD no longer works. I get a black screen, and after a long while, I get the error message: "no bootable device – insert boot disk and press any key". The rEFIt CD, however, still works.

    EDIT: I made a mistake in copying over the rEFInd files from the CD. I copied them to a folder named refind, rather than to the root of the FAT32 partition. I didn't even need to use the ESP ID on this FAT32 parititon. Using the default location works: /efi/boot on the first fat32 partition, as Roderick mentions below.

     

    Last edit: mekineer 2014-01-03
  • mekineer

    mekineer - 2013-12-17

    What is this all about? "this is a native efi32 bootloader, instead of a CSM loader"
    http://forums.macrumors.com/showthread.php?t=1598176&page=2

     
  • Roderick W. Smith

    http://refit.sourceforge.net/myths/
    "Fact: You need BIOS compatibility for 2D/3D accelleration"
    Is this still true?

    No, although with caveats. Some drivers (especially proprietary Nvidia and AMD/ATI drivers) work better when booted in BIOS/CSM/legacy mode. This seems to vary from one machine to another, though, so a blanket statement such as the one on the rEFIt page is far too broad to be useful.

    So currently don't bother with a pure EFI installation. It probably won't work."

    I disagree strongly with this conclusion, although I admit that it's correct in a few cases. An EFI-mode Linux installation will probably work on a Mac, although it may be necessary to use an open source video driver. In a few cases, even that won't work, or there may be other hardware issues; but I've also heard of cases where an EFI-mode installation handles hardware better than a BIOS-mode installation. In other words, a blanket statement that either mode always works better is at least partially wrong.

    I guess the newer Kernels will support the old Macbook Pro sort-of-EFI implementation? It may be time for me to leave behind 32 bit operating systems.

    All current kernels, and even older ones from well before the 3.1 cutoff point mentioned in the bit you quoted, support EFI. This support has been improving, though, so a claim that support was bad before version X of the kernel may well be correct, provided "bad" is defined to mean that it lacks a particular feature.

    Macs don't have a "sort-of-EFI" firmware; they have an EFI. It's a peculiar EFI in many ways, but it is an EFI. My own Mac (an ancient 32-bit model) boots fine in EFI-only mode using rEFInd and the EFI stub loader.

    After I copied the rEFInd files to the fat32 partition, the rEFInd bootable CD no longer works. I get a black screen, and after a long while, I get the error message: "no bootable device – insert boot disk and press any key". The rEFIt CD, however, still works.

    I'm afraid I don't know what's going on here, except to say that Apple's EFI implementation is a bit peculiar.

    What is this all about? "this is a native efi32 bootloader, instead of a CSM loader"
    http://forums.macrumors.com/showthread.php?t=1598176&page=2

    That's a boot loader to boot a 64-bit OS X kernel on a 64-bit Mac with a 32-bit EFI. There were one or two generations of Macs that shipped this way. Such Macs can't officially boot the latest version or two of OS X, but that new boot loader enables them to do so -- or so it's claimed. (I've never tried it because my Mac is an even older version with a 32-bit CPU.)

     
  • mekineer

    mekineer - 2013-12-18

    Do the different stages have to match up in bit size? This mac has EFI32. Am I then required to use refind_ia32.efi? Can refind_ia32.efi chain-load a 64-bit boot loader?

    OMG... I can right click by tapping with 3 fingers in Gparted bootable iso. Thank you, thank you. Fn delete for the normal delete key. None of this works in Hiren's MiniXP, however.

     

    Last edit: mekineer 2013-12-19
  • mekineer

    mekineer - 2013-12-18

    I got rEFInd installed. Sort of... it takes 45 seconds for the rEFInd menu to show up. 30 seconds if I remove my bootable USB drive. It may be that I put a lot of empty ext2 partitions (sda5 through sda11). It may not be rEFInd though: holding down C to boot from CD, the CD will start to boot up in ~40 seconds. I hope I just need a firmware upgrade.

    EDIT: I found out I have the latest firmware, using AIDA on Hiren

    I made a mistake in copying over the rEFInd files from the CD. I copied them to a folder named refind, rather than to the root of the FAT32 partition. I didn't even need to use the ESP ID on this FAT32 parititon, for this to work.

    I didn't use the OS x command Bless, or do this: http://www.rodsbooks.com/efi-bootloaders/installation.html#register. Registering the boot loader with the EFI, at least on this Mac, may only be necessary if I use a nonstandard location for the boot loader (standard is EFI/BOOT).

     

    Last edit: mekineer 2014-01-03
  • mekineer

    mekineer - 2013-12-18

    I installed XP ok (includes driverpacks). Manilla MBR, rEFInd in the default location. I don't know if it is using 32 bit or 64 bit, as both are present. I have to use shift-f10 for right click I want to scream. The one thing is that I had to spit out the CD each time to continue with the installation (and put it back in because my install needs it). With the CD in place, rEFInd never comes up, and I can't choose Windows from HD to continue the installation.

    I couldn't install XP from USB, because rEFIt, rEFInd, or PLOP boot manager could not get the Sandisk/Rufus USB drive to go. Only the PLOP boot manager could get my Patriot/YUMI USB to go, but then I have no keyboard. So instead of flash drives I am doing optical media. I thought, aha! I'll get Hiren to be my default on the YUMI, but then Hiren loads, and still no keyboard. :-/

     

    Last edit: mekineer 2013-12-19
  • Roderick W. Smith

    rEFInd can only launch like-size EFI programs, so a 32-bit rEFInd can only launch a 32-bit boot loader.

    See here for information on sluggish launching of rEFInd.

    The EFI/BOOT/boot{arch}.efi filename is a fallback filename that most EFIs will launch if no other boot loader is registered in NVRAM. Some Macs honor this name on their internal hard disks, but I'm pretty sure that some Macs don't. If it works for you, then great.

     
  • mekineer

    mekineer - 2013-12-22

    rEFInd can only launch like-size EFI programs, so a 32-bit rEFInd can only launch a 32-bit boot loader.

    rEFInd launched 32 bit Windows XP, although it is not an EFI program.

    I was not able to launch the 64 bit version of rEFInd (located at efi/boot).
    1) Does this mean only the 32 bit version of rEFInd will work with my mac's 32 bit EFI?
    2) Does it follow, that I won't be able to boot any 64 bit operating systems on this mac, using rEFInd?

    EDIT:
    Answer 1) at https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface
    "An x86_64 EFI firmware does not include support for launching 32-bit EFI apps (unlike x86_64 Linux and Windows versions which include such support). Therefore the UEFI application must be compiled for that specific firmware processor bitness/architecture. "
    Answer 2) With rEFInd, I am stuck with the architecture of the EFI/UEFI, because I will get the error: "Invalid loader file!" when trying to load a kernel of different bitness/architecture. I should use Grub. See:
    https://sourceforge.net/p/refind/discussion/general/thread/50a546eb/

     

    Last edit: mekineer 2014-01-03
  • mekineer

    mekineer - 2013-12-22

    I was hoping to use bcfg, despite the recommendation to use efibootmgr. However, the rEFInd shell doesn't have it. There is a Shell 2.0 version at the following link, that will work with older EFI pre 2.3 firmware, however, it will not work with my mac, because the shell is 64 bit (and my mac firmware 32 bit).
    https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#UEFI_Shell
    I launched a terminal window in Parted Magic, and efibootmgr was an unrecognized command. In SysRescueCD, efibootmgr gave the error message: "fatal: couldn't open either sysfs or procfs directories for accessing EFI variables." https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#Requirements_for_UEFI_Variables_support_to_work_properly

    EDIT: "efibootmgr command will work only if you have booted the system in UEFI mode itself, since it requires access to UEFI Runtime Variables which are available only in UEFI boot mode (with "noefi" kernel parameter NOT being used). Otherwise the message Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables is shown."
    I believe with the MBR in place, I am booting into CMS BIOS mode.

     

    Last edit: mekineer 2014-01-03
  • mekineer

    mekineer - 2013-12-24

    There is no 30 second delay into rEFInd, if I hold down the Option key during boot (MacbookPro2,1). I can then start rEFInd or Windows XP instantaneously (those are the two options presented).

     

    Last edit: mekineer 2014-01-03
  • mekineer

    mekineer - 2013-12-24

    I tried to install Arch Linux. The CD hangs prompting me to enter 1 or 2 something. Afterwards, XP does not boot, because the first fat32 partition (in which it is installed) is no longer set active. I reset the first partition active (also ran mbrfix dos command, although I found I didn't need to as only setting the XP partition active was sufficient): then XP starts up with the firmware boot manager, but it no longer shows in the rEFInd menu. I ran a file comparison program to see if any of the rEFInd files had changed (no). The MBR must be somehow different?

    I started rEFIt from CD, and it found Windows XP also. For some reason, rEFInd dropped it from the menu.

    I see someone installing Windows 7 had the same issue I did, installing Arch Linux:
    http://forums.macrumors.com/showpost.php?p=7667032&postcount=23
    https://sourceforge.net/p/refit/feature-requests/85/

     

    Last edit: mekineer 2014-01-03
  • mekineer

    mekineer - 2014-01-03

    I installed Crunchbang Linux, which did not give me the "CD hangs prompting me to enter 1 or 2..." problem I had before with Arch and Manjaro. Crunchbang was on DVD, so maybe I just need to use DVD's?** I installed Crunchbang 64-bit without installing Grub. Neither rEFIt or rEFInd can find Crunchbang, probably because it is 64 bit. After installing Grub, rEFInd lists a linux entry. Selecting the linux entry loads Grub. rEFInd also lists a Windows entry, but this entry also loads Grub. So the end effect is that I should use either rEFIt/rEFInd or Grub, but not both.

    I should probably use Grub for this Mac, since it has a 32 bit EFI, and I wish to use 64 bit operating systems, that Grub can load, but not rEFIt/rEFInd.

    Even though I am using CSM-BIOS, in Crunchbang, the controls for volume, brightness, and num lock work (unfortunately, I don't have to use the "fn" key to make them work, so I wonder how I am going to use the corresponding function keys) (EDIT: for solutions, search "fnmode")

    ** EDIT: Manjaro burned to DVD had the same ill result. The reason is: " Most of the 32-bit EFI Macs and some 64-bit EFI Macs refuse to boot from a UEFI(X64)+BIOS bootable CD/DVD. If one wishes to proceed with the installation using optical media, it might be necessary to remove UEFI support first. " from https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#Remove_UEFI_boot_support_from_Optical_Media

     

    Last edit: mekineer 2014-01-06
  • mekineer

    mekineer - 2014-01-03

    Can try Linux or Windows directly via firmware + Grub? http://glandium.org/blog/?p=2830

    Or Windows directly via firmware? " I got Windows 7 x64 working on a MacBookPro2,1 (the first Core2Duo MacBook's). It freezes when trying to boot from the x64 DVD as my laptop used to. The solution is to boot from a X32 CD, format the drive, swap disks to a x64 disk, robocopy /MIR %CDROM% %HARDDISK% and then remove the CD and reboot. It will boot into a Vista x64 install. From here you run through the install without formatting and you're good to go. As per usual, you can use a recent MacBook Leopard restore disk to get the latest drivers to install.
    An advantage exists if you install the Windows 7 WinPE via the WAIK CD, then you can actually execute the x64 setup.exe from the DVD and format your hard disk. " http://arstechnica.com/civis/viewtopic.php?t=66411

     

    Last edit: mekineer 2014-01-03
  • mekineer

    mekineer - 2014-01-04

    I understand rEFInd is mainly for EFI, but it has been able to detect OS's in the MBR, so I am wanting to see if it can also detect boot loaders in VBR's.

    With Grub in the MBR, rEFInd just boots Grub, no matter what OS I select, where again I have pretty much the same OS selections to choose from.

    I want to try installing Grub to the VBR, where I think maybe rEFInd may find it. I just want all you Linux to use your own grub, whatever grub you want, and keep it to yourself. I realize this creates an extra step in the boot process, but I want to try and see how it goes.

    I am assuming here that the command "grub-install /dev/sda7", installs to the VBR. Maybe it installs to the root of the partition? I don't know.

    Ok, so, I installed 64 bit Crunchbang to SDA7 VBR, and rEFIt/rEFInd found it but couldn't load it, just a "_" blinking at the top left of the screen. Another side effect was that rEFInd could not load Windows XP, but rEFIt could. I tried MBRfix, but I am not sure if that fixed it, or if I just needed to use rEFIt. Every time I try to load Crunchbang on SDA7, the firmware EFI (press alt on boot) stops detecting the presence of Windows. After I boot Windows with rEFIt, the firmware EFI decides Windows exists again.

    Oh, I see a likely reason. In MBR, maybe only one partition can be set as boot, and I marked SDA7 with the boot flag (which removed the boot flag for the Windows partition).

    I went to install the 32 bit version of Crunchbang. One reboot, I saw that both SDA1 and SDA7 had boot flags, so there goes the previous hypothesis. Grub installed to SDA7 again. Same issue as before. This time, rEFInd made a pretty graphic for the Debian installation. However, booting this hung after invoking the command:
    Starting vmlinuz-3.2.0-4-686-pae
    Using load options 'ro root=UUID=b22702ab-163f-4d7f-b411-814be1c4a5f8 initrd=boot\initrd.img-3.2.0-4-686-pae

    After installing Grub to the MBR, I am back at the same situation as before this post: booting both Windows XP and Crunchbang from Grub in the MBR

     

    Last edit: mekineer 2014-01-06

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.