Окончательное решение, не требующее привилегий 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
, выполняет итерацию по ним, затем прерывается на первом совпадении
На основании этого
( вариант использования :вы не можете загружаться с дисков 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