Как установить определенный загрузчик (например, из /dev/sdX#) в другой системный раздел EFI (например, /dev/sdY) и NVRAM?

Окончательное решение, не требующее привилегий root и доступное из не-интерактивной оболочки автоматизированным способом, более продвинутое и удобное в использовании, чем возможный дубликат ссылки, предоставленной ранее:

-XAUTHORITY:

ps -u $(id -u) -o pid= |
  xargs -I{} cat /proc/{}/environ 2>/dev/null |
  tr '\0' '\n' |
  grep -m1 '^XAUTHORITY='

-DISPLAY:

ps -u $(id -u) -o pid= |
  xargs -I{} cat /proc/{}/environ 2>/dev/null |
  tr '\0' '\n' |
  grep -m1 '^DISPLAY='

Фрагмент содержит список всех пользователей pids, выполняет итерацию по ним, затем прерывается на первом совпадении

На основании этого

0
29.01.2020, 22:18
1 ответ

( вариант использования :вы не можете загружаться с дисков nvme)

Ответ на собственный вопрос:

Наконец-то разобрался. grub-installerзаписывает в системный раздел EFI (ESP ), буквально просто записывая в /boot/efi. Поэтому либо монтируйте резервный ESP туда поверх реального, либо монтируйте его куда-то еще и переопределяйте параметром командной строки:

mkdir -p /mnt/boot/efi
mount /dev/FALLBACK /mnt/boot/efi

До этого мы должны были успешно запустить grub-install, который запишет в какой-то (, скажем, случайно )выбранный EFI. Назовем этот диск ОСНОВНЫМ. Дважды -проверьте, что запись в NVRAM материнской платы правильно указывает на вашу первую основную установку EFI.

efibootmgr -v
ls -l /dev/disk/by-partuuid  # confirm that your first grub-install made an entry pointing to the UUID of /dev/PRIMARY

(это устройства, напр. для устройств nvme вам нужен префикс уровня устройства -nvme0n1(, а не nvme0), точно так же, как sdaили что-то в этом роде)

Хорошо, теперь мы готовы:

grub-install --efi-directory=/mnt/boot/efi --bootloader-id=my-fallback-grub

Теперь убедитесь, что у вас есть две записи для двух разных разделов EFI:

efibootmgr -v

Отрегулируйте порядок соответствующим образом с помощью efibootmgr --bootorder 3,1,2,etc

.
0
28.04.2021, 23:25

Теги

Похожие вопросы