Menu

refind-install with

MooCan
2017-10-16
2017-10-16
  • MooCan

    MooCan - 2017-10-16

    Hello

    First of all, many thanks for this great EFI Software.

    Here the contents:
    /dev/sda2 => EFI windows
    /dev/sda6 => EFI root for refind and tools
    /dev/sda7 => EFI linux

    I don't want to install refind nor any other EFI inside the windows EFI partition (/dev/sda2)
    So under linux (live distribution) I ran these command:

    # mkdir /boot/efi
    # mount /dev/sda6 /boot/efi
    # mkdir -p /boot/efi/EFI/Boot
    # ./refind-install --root /boot/efi/EFI/ --alldrivers
    

    Each time, any value I'm using after root parameter, refind-install is mounting windows EFI partition (/dev/sda2/) and make what he wants and modify this partition.

    Is there any way to force refind-install to respect {rootdir} value without trying to detect another esp partition as in EFI standard I can have many esp partition (windows is another story).
    My goal is to have a dedicated esp partition for each system.

    I'm doing it using gdisk and changing partition type code from /dev/sda2 EF00 to 0700 before each update or install and restoring back. I have already ereased two times my esp windows :(

    Many thanks for your advices

    Kind Regards
    Moo

     
  • Roderick W. Smith

    You're misunderstanding the --root parameter. It's used to point to a Linux distribution's root (/) partition mount point, not an ESP's mount point. When fed an ESP, there's really no telling what it might do, since all the script's assumptions will be wrong. That said, my guess is that it's seeing no ESP mounted within the specified directory, and so is looking for an ESP, finding your Windows ESP, and mounting it. Given your situation, I recommend you try this:

    1. Boot your Linux live distribution.
    2. Mount the Linux distribution at /mnt (or some other location). For instance, if your Linux root (/) filesystem is at /dev/sda5, you'd mount that at /mnt.
    3. If you use a separate /boot partition, mount it at /mnt/boot.
    4. Mount your rEFInd ESP (/dev/sda6) at /mnt/boot/efi.
    5. Run refind-install --root /mnt. I'd omit the --alldrivers parameter, since loading unnecessary drivers takes time, provides no benefit, and on some systems it can cause a hang or other weird problems. If you need more than one driver, or if refind-install omits a necessary driver, you can install it manually by copying the file to the drivers or drivers_x64 subdirectory of the rEFInd installation directory.

    Alternatively, instead of steps #1-4, you can use rEFInd on a USB flash drive or CD-R to boot into your normal Linux distribution. (If it's not configured to mount /dev/sda6 at /boot/efi, you'll need to mount it manually, as the equivalent to step #4.)

    You could also install it manually, either from the Linux emergency boot or from Windows. Manual installation instructions are provided on rEFInd's documentation:

    http://www.rodsbooks.com/refind/installing.html

     

Log in to post a comment.