Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

"Error not found returned from legacy loader" failure

2013-11-07
2013-11-11
  • Dear Roderick,
    I am at my wits end here. I have used refind all of the last year and this year as well. I have a bootable usbstick from work with i think Ubuntu on it to be able to work remotely at home. Under Lion and mountain lion this has always worked like a charm. Just stick it in and refind finds it boot from it and away we go. Since upgrading to Mavericks this is no longer the case.

    When I start up my MBP it (USB in place) refind loads with only MacOs visible. Using esc then finds the USB but when i select the usb

    I keep getting the following error:

    Error: not found returned from Legacy loader
    Error: not found from LocateDevicePath
    Error: not found from LocateDevicePath
    Error: not found from LocateDevicePath
    Error: not found from LocateDevicePath
    Error: not found from LocateDevicePath
    Error: not found from LocateDevicePath
    Error: not found from LocateDevicePath
    Error: not found from LocateDevicePath
    Error: not found from LocateDevicePath
    Error: not found from LocateDevicePath
    Error: not found from LocateDevicePath
    Error: not found from LocateDevicePath
    Error: Load error while (re)opening our installation volume

    After that Refind cannot boot Macos either and I have to turn the mbp off to be able to boot macos again.

    The above happens with all Refind versions all the way back to 0.4.0. (while installing them by dragging the install.sh script into the terminal window)

    I have tried installing Refind with --alldrivers as well (again multiple versions) but to no avail. The only change is that refind displays the USB on the first load without me having to use the esc button. I still keep getting this error.

    Finally I tried installing some of the bin-gneu builds but this didn't solve the problem either.

    I am using a Macbook pro mid 2009 with a Samsung evo 256gb SSD with Mavericks 10.9

    The USB still functions flawlessly on windows systems (but using your neighbours computer to test it is one thing to claim his computer for whole days to work is another ;-))

    Problem is that I cannot do anything with the USB stick as it is provided by the company and I am not allowed or able to temper with it.

    I am pretty much a noob when it comes to this and I have exhausted my capabilities. I hope that you might have an answer.

     
  • As rEFInd runs before OS X, it's odd that an OS X upgrade could cause rEFInd to malfunction -- none of the changes to OS X should affect rEFInd. I have two guesses about the cause:

    • In the process of upgrading OS X, changes were written to the computer's NVRAM/PRAM which disrupted rEFInd's ability to launch a legacy OS. In this case, resetting the NVRAM/PRAM may fix the problem.
    • The OS X upgrade may have included a firmware upgrade, and the new firmware has a bug (or at least a change from previous behavior) that's causing the problem. In this case, downgrading to an older version of the firmware might fix the problem.

    The first of these solutions is likely to be less risky. In either case, there's a good chance that you'll need to re-install rEFInd, or at least re-bless it (via the OS X bless utility).

    If these options fail or if they seem to be too radical, another possible workaround is to abandon BIOS/legacy-mode booting of your USB flash drive. Instead, copy the kernel and initial RAM disk from that flash drive to your hard disk (or even to another USB flash drive). In Linux, the kernel will be called /boot/vmlinuz*, and the initial RAM disk will be /boot/init*. Put these files in the root (/) directory or /boot directory of any FAT or HFS+ partition on the disk. Also, create a refind_linux.conf file in the same location as the kernel, as described near the bottom of this page. When you reboot with these changes, you should see a new option for booting Linux via the vmlinuz* file. If you've set up the refind_linux.conf file, it should boot Linux in EFI mode.

     
  • Dear Roderick,

    Thanks very much for your response. I tried your first suggestion and this did not work.
    Option 2 is not the case because i checked the EFI firmware and that has not been changed since 2009. And the last option is not possible because of the protection installed by the IT department of my firm. :( So I will be taking my laptop to them to see if they can try and fix it.

     
  • If your Ubuntu uses a 3.3.0 or later kernel, you might be able to get it to boot by installing an EFI filesystem driver (included with rEFInd) for whatever filesystem you're using on the USB flash drive. You might also need a refind_linux.conf file in the directory that holds your kernel, though. (Whether this would be required depends on how it's partitioned and otherwise set up.) This should enable rEFInd to boot the USB flash drive's kernel directly in EFI mode, much as it would if you were to copy the kernel to your ESP or some other directory.