Menu

Showing up boot options slow

Teemo
2015-01-12
2015-02-02
  • Teemo

    Teemo - 2015-01-12

    After turing on my mac pro 3.1 the Refind Logo shows up, but it takes a while until boot options show up. Does anybody have the same problem?
    I installed windows 7 on another hard drive. Refind only finds the boot option after two searches by pressing esc two times. Then two similar boot options for windows show up. Am I the only one with these problems?

     
  • Roderick W. Smith

    For the delay after rEFInd launches:

    • Check to see what, if any, drivers are loaded. Each one takes a bit of time to load, and every driver that finds filesystems will end up causing rEFInd to scan that filesystem. All of this takes time, so you should definitely use as few filesystem drivers as possible.
    • If you have many filesystems (partitions/volumes), ensure that they don't have unnecessary /EFI directories, so as to reduce scan time. You might also consider using dont_scan_volumes in refind.conf to tell rEFInd to not scan those that you know don't have boot loaders on them.

    For the Windows 7 detection issue:

    • Try the current experimental version at http://www.rodsbooks.com/refind-bin-0.8.4.2.zip. This version includes some changes to improve the reliability of launching BIOS-mode boot loaders on second and later disks. I doubt if it would help with scanning them, but it's worth a try.
    • Use the scan_delay option in refind.conf to set a delay for scanning OSes. A 1-second delay is usually sufficient to work around the problem you note.
    • Without knowing what the captions under each boot option read, I can't offer advice on the duplicate entry.
     
  • Teemo

    Teemo - 2015-01-12

    Thanks a lot for your quick answer!
    Im not that IT guy so I dont know where in OSX to look up which drivers are loaded and how to change them.
    I found a refind.conf-sample file in the installation directory. Do I have to create a new refind.conf file there, or where should I write the command? If I have two drives which shouldn`t be scanned the command is: dont_scan_volumes "volume name 1", "volume name 2"?

    I tried installing your new version but unfortunately the problem still remains.
    The command then is: scan_delay 1 ?
    The captions under those two windows boot options are exactly the same: Boot Windows from FAT volume. Both options are bootable

    Thanks a lot for your help!!

     
  • Roderick W. Smith

    On a Mac, rEFInd 0.8.4 now installs to the ESP by default. This partition is not normally mounted on a Mac, so you must do this manually to edit refind.conf. Normally these commands will do the job:

    mkdir /Volumes/esp
    sudo mount -t msdos /dev/disk0s1 /Volumes/esp
    

    Sometimes you must change /dev/disk0s1 to something else, though, particularly if you've made significant changes to your partition table. Use diskutil list or my gdisk program to view your partition table and identify the ESP. Once the ESP is mounted as specified, rEFInd will probably reside in either /Volumes/esp/EFI/BOOT or /Volumes/esp/EFI/refind. Check for a refind.conf file in that location; if it's not present, it's almost certainly not rEFInd in the directory.

    Given that you've got two identical "Boot Windows from FAT volume" messages, my hunch is that you've got two FAT partitions, each with a Windows boot loader present. Identifying them and wiping the boot loader from one should eliminate the stray message; however, this task requires some expertise and is risky. Therefore, my suggestion is to just live with it. An extra boot option won't do you any harm, but trying to "fix" this minor annoyance could cost you a LOT of time, and possibly wipe out important files, if something goes wrong. It's just not worth the risk. (Note there's no "IMHO" in that statement.)

     
  • joevt

    joevt - 2015-01-13

    Shouldn't rEFInd show the name of the FAT volumes? Is it possible for a FAT volume to be unnamed? If so, they should be given a name in Mac OS X Finder, so that rEFInd can display their name.

    If the problem isn't resolved, it might help to post the results of the following commands (entered in Terminal.app):

    diskutil list
    sudo gpt -r show -l /dev/disk0
    sudo gpt -r show /dev/disk0
    sudo fdisk /dev/disk0
    

    rEFInd drivers are located where the rEFInd.efi binary is installed (probably on the ESP partition). Since you're not using linux, you can disable all the drivers by renaming the drivers folder (just append (disabled) or whatever you like to the drivers folder name). Since the MacPro3,1 uses a 64 bit EFI, you can remove the 32 bit drivers folder. If you want to use some of the drivers, delete the drivers you don't want to use or move them to a new folder for safe keeping.

    I would install rEFInd on an HFS partition to make things easier. For me it removes a 30 second delay that occurs before rEFInd appears. It sounds like you're getting a delay after rEFInd appears though. Another benefit of using an HFS partition is that you don't need to manually mount the ESP partition to edit the refind.conf file.

    The refind.conf file should match the refind.conf-sample file except for changes that you make (such as adding scan_delay 1). The refund.conf file should be located in the same folder as the rEFInd.efi binary.

     
  • Teemo

    Teemo - 2015-01-13

    Thank you both for your effort!
    I didn`t focus on solving the double Windows problem because the boot delay problem is more annoying for me.
    I tried the scan_delay from 1 to 10 but nothing changed. I also tried not to scan all volumes but the delay still remains.
    Then I installed Refit which immediately shows up the OSx drive. Is there any possibility that Refit can also detect Windows on another hard drive?

    If I try the solution installing Refind on an HFS partition, how can I install it there (which steps do I have to make)? A disadvantage is that I have one drive more appearing on my computer? or can I hide it?

     
  • Roderick W. Smith

    Joe, FAT volume names are definitely shown for EFI boot loaders. There's probably a quirk in the Mac BIOS/legacy boot code that's preventing the names from showing up there; I'll have to look into that....

    Teemo, be sure you're modifying the correct refind.conf file. If rEFInd is installed on an ESP, it won't be immediately accessible until you've mounted the ESP. I've seen people mistakenly modify the wrong refind.conf file for this reason. To be sure, try changing something big and obvious, like textonly, just temporarily and to be sure you've got the right file.

    You can install rEFInd to an HFS+ volume by using the --ownhfs {device-filename} option to install.sh. You'll need to create a small HFS+ partition (or use an existing one that has NO OS X installation (say, a data partition). You'll also need to know its device filename, such as /dev/disk0s4 or /dev/disk1s3. You should be able to get this detail out of Disk Utility. Be very careful with this option, since it installs rEFInd using the name normally used by the OS X boot loader. If you accidentally install to the normal OS X boot partition, this will replace that boot loader, rendering the OS unbootable! Also, given your description, I'm not sure this will help. This type of installation helps with cases where rEFInd doesn't appear for about 30 seconds; but you say that rEFInd pops up its display but then pauses for a bit before it shows any icons. That indicates that there's no (or relatively little) delay in launching rEFInd, but that rEFInd is taking a while to detect its OSes. That suggests an issue like rEFInd scanning too many filesystems or having to sift through too many files in an EFI directory on one of these filesystems. rEFIt might be faster if you don't have drivers for it or because rEFIt tries to scan fewer things. More information on your setup, such as complete partition table data, the filesystems they use, the filesystem drivers that rEFInd is loading, and the contents of any EFI directories on all of the partitions, might help me figure this out.

    If you do try the --ownhfs option, it should be possible to hide the partition from the Finder, but I'm not sure of the exact steps. (A brute-force method would be to change its type code with gdisk, but that might have unintended consequences.) I'm afraid I'm more of a Linux person than an OS X person, so I'm a bit foggy on some of these details.

     
  • Teemo

    Teemo - 2015-01-14

    I tried also to change the timeout command in the config file and it worked.

    As you mentioned my problem is that the rEFInd logo appears but then I have to wait for 20 sec. till the OSx partition shows up.So I think the solution with the HFS portion wouldt make any change. I did the diskutil list command and poste it here. I dont know if this can help you. If not please let me know which information you need and how I can get these for you.
    My system has two drives. On one is OS X and on the second was windows but I deleted it and made a Yosemite boot volume. After solving the delay problem I will install windows again.
    So here are the diskutil information:

    diskutil list
    /dev/disk0
    #: TYPE NAME SIZE IDENTIFIER
    0: GUID_partition_scheme 479.9 GB disk0
    1: EFI EFI 209.7 MB disk0s1
    2: Apple_HFS Yosemite 479.1 GB disk0s2
    3: Apple_Boot Recovery HD 650.0 MB disk0s3
    /dev/disk1
    #: TYPE NAME SIZE IDENTIFIER
    0: GUID_partition_scheme
    480.1 GB disk1
    1: EFI EFI 209.7 MB disk1s1
    2: Apple_HFS Yosemite Install Dis... 479.8 GB disk1s2

    start size index contents
    0 1 PMBR
    1 1 Pri GPT header
    2 32 Pri GPT table
    34 6
    40 409600 1 GPT part - "EFI System Partition"
    409640 935717264 2 GPT part - "Yosemite"
    936126904 1269536 3 GPT part - "Recovery HD"
    937396440 7
    937396447 32 Sec GPT table
    937396479 1 Sec GPT header

     
  • Teemo

    Teemo - 2015-01-14

    ok guys, now I know where the problem comes from, I changed back to the old graphics card which was factory built in there. The delay from Refind Banner to Bootvolume appearing shrinks to about 1-2 seconds.
    But what problem causes the new graphics card?

     
  • Teemo

    Teemo - 2015-01-14

    I´m doing some progress with my troubles, scan_delay 1 eliminated one time pressing esc. So the other boot possibilities show up after a single esc refresh...
    I hope I don´t annoy you too much with my problems ...

     
  • Teemo

    Teemo - 2015-01-15

    Short update: Now I completely fixed the problem "two times pressing esc until all Bootable devices show up". My solution was:
    1: I set scan_delay 1 in the refind.conf
    2: Copied the included drivers from the refind install content to a new created folder named "drivers" inside EFI/tools folder
    3: I set scan_driver_dirs EFI/tools/drivers,drivers in the refind.conf

    No changes to the problem with the long time between refind banner shows up and boot devices show up :(

     
  • Roderick W. Smith

    If changing the graphics card affected the delay, then that suggests something in the rEFInd graphics code is not interacting well with the new card. What sort of card is it (make and model)? Is it designed for a Mac, or is it something else that's you've plugged in and it works (aside from this issue)? It could be there's something wonky in the card's drivers that imposes a short delay, and rEFInd keeps hitting that code repeatedly, exaggerating it.

    You could try setting textonly in the refind.conf file, at least as a diagnostic tool. This will switch from GUI to text-only mode. If the delay persists, then that rules out a bunch of GUI-specific code in rEFInd; but if the delay goes away, it implicates that code.

    I'm still perplexed by the two-Esc problem. You might not need all of the drivers loading to resolve the problem. It would be interesting to know which driver(s) are needed to resolve the problem. Do you have any Linux filesystems on the computer?

     
  • Teemo

    Teemo - 2015-01-18

    Somehow I got bad luck... my new card is a Evga GTX 580 from MacVidCards (Flashed), but since two days the mac doesn´t recognize the card anymore at first start. Starting the mac with the old card is possible. If then restarting, the new card is beeing recognized and works. Now the mac also often hangs up during booting when the new card is installed the mac.

    Thanks for your advice, if I get the new card working again correcty, I will try the textonly setting.

    I exactly checked which driver is needed that all bootdevices are recognized at first.
    It is only the btrfs_x64.efi driver from the drivers_x64 folder.
    No I dont have any Linux systems on the mac. But later on I want to install windows on my mac again. Because of the macs age, bootcamp doesnt recognize my PCIe SSD as a bootvolume, only your really amazing rEFInd does :P

     
  • Roderick W. Smith

    It's a bit of a long shot, but you might try resetting your computer's NVRAM/PRAM:

    http://support.apple.com/kb/PH14222?viewlocale=en_US

     
  • Teemo

    Teemo - 2015-02-02

    Thanks for your help! I already tried it, but without any success.

     

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.