Проблема загрузки с разделом /boot на USB-накопителе

Это настройки Debian, позволяющие настройкам сценария инициализации SysV из /etc/default/networking применяться к служебному файлу systemd.

А именно:

  • НАСТРОЙКА _ИНТЕРФЕЙСЫ, которая отключает настройку интерфейсов при загрузке. если установлено "нет".
  • ИСКЛЮЧИТЬ _ИНТЕРФЕЙСЫ, список интерфейсов для исключения из конфигурация при загрузке (доступны подстановочные знаки оболочки ).
  • VERBOSE установлено значение «да» для дополнительных сообщений.

Они не задокументированы как внутренние элементы интеграции ifupdown в systemd.

источник :Чтение /etc/default/networking при запуске из systemd. Закрывает:#806883

Add an undocumented --read-environment option which will cause the VERBOSE, CONFIGURE_INTERFACES and EXCLUDE_INTERFACES environment variables to be read and act in the same way as with ifupdown's SysV init script. This allows the use of EnvironmentFile=-/etc/default/networking in the systemd service file.

3
04.09.2019, 17:38
2 ответа

Во-первых, MBR (Legacy )становится все менее распространенным в наши дни и постепенно заменяется EFI. Поскольку в вашем вопросе прямо не говорится, что вы знаете, что используете устаревшую загрузку, а не EFI, я предлагаю вам проверить, что вы на самом деле используете. Для этого загрузитесь в рабочую (основную )систему Debian и найдите:

ls /sys/firmware/efi/efivars/

Если это существует, значит, вы загрузились через EFI. Вы также должны заметить, что у вас есть каталог /boot/efi/, в котором смонтирован раздел EFI.


Настройка среды восстановления.

У вас есть рабочая среда, поэтому для решения проблемы вы можете использовать рабочую среду для загрузки в «сломанную» среду.

Вы упомянули, что используете зашифрованный LVM. Это делает это немного более сложным. Первое, что вам нужно сделать, это разблокировать зашифрованный диск с помощью пароля восстановления шифрования :

.
# Assuming your LVM is /dev/vg/encrypted
# This will create a decrypted block device /dev/mapper/decrypted

cryptsetup open /dev/vg/encrypted decrypted

Затем смонтируйте вашу «сломанную» систему в /mntи подключитесь к ней (, предполагая, что ваш загрузочный раздел USB/dev/sdb1):

mount /dev/mapper/decrypted /mnt
mount /dev/sdb1 /mnt/boot

mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc
mount --bind /run /mnt/run

# chroot into the recovery environment
chroot /mnt

Это должно оставить командную строку внутри вашей "сломанной" системы.

Если вы определенно используете устаревшую загрузку

Изнутри вашей системы восстановления (, описанной выше ), вам необходимо установить загрузчик в MBR вашего USB-накопителя, а НЕ в раздел /boot/. Если ваш /bootна USB-накопителе — /dev/sdb1, вам необходимо установить MBR на /dev/sdb, а НЕ /dev/sdb1

.
grub-install /dev/sdb

На всякий случай вам также следует запустить и обновить конфигурацию grub и initramfs:

update-grub
update-initramfs -uk all

Следите за любыми ошибками здесь.

Если вы действительно используете EFI

В некоторых микропрограммах BIOS используется только один или другой способ, поэтому, если вы загрузили основную систему с EFI, вам также потребуется загрузить USB-накопитель таким же образом. Изнутри вашей среды восстановления (, описанной выше )...

.

Сначала убедитесь, что на USB-накопителе есть раздел EFI.Если нет, проще всего скопировать /bootв безопасное место и повторно -отформатировать USB-накопитель. Используйте это, чтобы интерактивно начать заново с нуля на USB/dev/sdb:

cp -r /boot ~/old_boot
umount /boot
cfdisk -z /dev/sdb

Используя cfdisk, создайте новую таблицу разделов GPT, создайте два раздела -один "EFI" один "Linux".

Затем отформатируйте их:

mkfs.fat -F 32 -n EFI /dev/sdb1
mkfs.ext4 -L BOOT /dev/sdb2

Смонтировать и восстановить/boot

mount /dev/sdb2 /boot
cp -r ~/old_boot/* /boot

Отметьте /etc/fstab(, например cat /etc/fstab), убедитесь, что UUID соответствует /boot/и добавьте запись для /boot/efi, если необходимо, вы можете найти новые UUID с помощью:

blkid /dev/sdb1 /dev/sdb2

Затем, наконец, настройте EFI.

mount /dev/sdb1 /boot/efi

# If you've not already done so install grub efi:
apt-get install grub-efi-amd64-bin 

grub-install /dev/sdb
update-grub
update-initramfs -uk all
2
27.01.2020, 21:24

[1] Измените 1-ю последовательность загрузки на USB из BIOS

[2] Используйте Rufus для создания загрузочного USB.

Для этого вам потребуется платформа Windows для правильной работы Rufus. Получите желаемый ISO-образ дистрибутива Linux, а затем создайте загрузочный USB-накопитель с помощью rufus.

Надеюсь, это сработает.

Существует множество инструментов для создания загрузочного USB-накопителя, работающего в Linux. Но я не нашел ни одного безупречного. Итак, я доверяю Руфусу, и он меня никогда не подводил.

0
27.01.2020, 21:24

Теги

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