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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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:
Boot your Linux live distribution.
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.
If you use a separate /boot partition, mount it at /mnt/boot.
Mount your rEFInd ESP (/dev/sda6) at /mnt/boot/efi.
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:
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:
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
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:/mnt
(or some other location). For instance, if your Linux root (/
) filesystem is at/dev/sda5
, you'd mount that at/mnt
./boot
partition, mount it at/mnt/boot
./dev/sda6
) at/mnt/boot/efi
.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 ifrefind-install
omits a necessary driver, you can install it manually by copying the file to thedrivers
ordrivers_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