Я явно что-то упускаю из того, как BIOS определяет, какой диск загружаться с UEFI. У меня двойная загрузка с двумя SSD-дисками. Disk0 имеет Arch, Disk1 имеет Windows10. Обычно я использую загрузку systemd на Disk0 для загрузки Arch или Windows.

Мне нужно было обновить Windows10, и он не работает при двойной загрузке, поэтому я отключил Disk0. Система не имела проблем с загрузкой Windows, поэтому я закончил обновление и перезапустил пару раз, чтобы убедиться, что обновление завершено.

Затем я помещаю Disk0 обратно, но Windows10 загружается напрямую, и у меня больше нет опции загрузки UEFI в BIOS для Arch на Disk0.

Удаление Disk1 по-прежнему не позволяет загружаться с Disk0.

Как BIOS обнаруживает действительный раздел UEFI и почему он теперь не может определить раздел на Disk0?

2 ответа2

0

Обнаружено, что BIOS не обнаруживает разделы EFI на диске, а сообщает о них. UEFI хранит информацию менеджера загрузки в NVRAM. В моем случае Windows перезаписала запись NVRAM systemd-boot одной из своих, хотя она уже была. Я использовал установочный носитель arch и запустил 'efibootmgr', чтобы удалить дублирующуюся запись Windows10 и добавить запись для systemd-boot/arch согласно этой вики https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#efibootmgr

0

Двойной вопрос. Тем не мение

Любой метод будет работать, но есть некоторые оговорки и различия:

  • Некоторые EFI "услужливо" удаляют недоступные загрузчики из своих списков загрузчиков NVRAM. Если у вас один из них, и если вы установите загрузочный загрузчик, который должен быть запущен непосредственно из встроенного программного обеспечения, на ваш съемный диск, его запись исчезнет, если вы когда-нибудь загрузите компьютер с отключенным внешним диском. Это, очевидно, нежелательно, но может не иметь значения, если вы запускаете загрузчики, хранящиеся на этом диске, из другой загрузочной программы, хранящейся на первом диске (например, GRUB или rEFInd).
  • Если вы хотите переместить внешний диск между компьютерами и загрузить его на нескольких компьютерах, вам нужно иметь ESP на внешнем диске. В этом случае я бы порекомендовал сохранить ваш загрузчик или хотя бы его копию в виде EFI/BOOT/bootx64.efi на внешнем ESP. Таким образом, целевой компьютер, вероятно, поднимет его и даст возможность загрузить его из встроенного менеджера загрузки. (Этот прием также может помочь преодолеть проблему, указанную в предыдущем пункте).
  • Если вы переместите диск и сможете загрузить его на дополнительном компьютере даже без ESP (как, например, можно сделать с помощью rEFInd), запись /etc/fstab указывающая на ESP на основном компьютере, вероятно, не будет работать. Скорее всего, это будет безобидный сбой, но вы можете увидеть жалобы на отсутствующий раздел. В худшем случае может быть , если он работает (например, потому , что вы обратитесь к ВСД устройства файла, как /dev/sda1 , и если вы запустите обновление программного обеспечения , которое пытается обновить GRUB; это может вызвать серьезные проблемы на дополнительном компьютере.

В целом, я бы сказал, что вы должны подумать о том, как вы намереваетесь использовать диск (всегда подключенный к одному компьютеру, подключенный иногда, но никогда не используемый на другом компьютере, или в качестве установки ОС роуминга, используемой на нескольких компьютерах) и тип загрузчика требуемая конфигурация (один GRUB или тому подобное, который загружает все, менеджер загрузки, который загружает отдельный загрузчик для каждой ОС или дистрибутива, использование встроенного в машину менеджера загрузки для запуска загрузчика для каждой ОС и т. д.). Как только вы определились с этими факторами, преимущества и недостатки использования отдельного ESP на внешнем диске станут более понятными. Во многих случаях различия будут небольшими или не существующими.

Источник: ссылка

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .