Как заставить GRUB загружаться с другого USB-накопителя

Используйте"$@"(с двойными кавычками):

run() {
    if [[ "$(printenv DRY_RUN)" = "yes" ]]
    then
        echo "${@}"
    else
    "$@"
    fi
}

Без них $@расширяется до одного токена.

0
18.01.2020, 13:30
2 ответа

Думаю, может быть, дело не в жратве.

Если вы хотите запускать Linux с USB-накопителей (и не хотите возиться с памятью компьютера ), вам понадобятся два разных USB-накопителя/флеш-накопителя:

  1. Для установки на
  2. Для запуска из

Кроме того, вы должны создать раздел размером 1 ГБ на втором USB-накопителе/флеш-накопителе для установки загрузчика.

0
04.02.2020, 09:30

GRUB опирается на аппаратную поддержку системной прошивки. В старой системе на основе BIOS -прошивка часто поддерживает только одно запоминающее устройство USB во время загрузки, и даже это только в том случае, если вы специально выбрали загрузку с этого устройства. Другими словами, поддержка уровня BIOS -для USB-накопителей весьма ограничена.

В частности, если вы добавляете карту USB 3.x PCIe в систему, материнская плата которой имеет только порты USB 2.0, микропрограмма почти наверняка вообще не распознает контроллер USB 3.x XHCI. Я никогда не видел, чтобы такая карта расширения поставлялась с ПЗУ расширения BIOS, которое расширило бы поддержку загрузки BIOS для устройства USB 3.x.

Кроме того, эти chainloaderзаписи потребуют от вас наличия еще одного экземпляра GRUB на флэш-накопителе USB 3.0, что потребует от вас управления двумя -сконфигурированными GRUB с различной конфигурацией в одной системе и одной ОС. Я бы назвал это ненужным усложнением.

Вам потребуется загрузить ядро ​​Linux и файл initramfs с устройства USB 2.0 и убедиться, что все драйверы контроллера USB включены в файл initramfs. Как только ядро ​​запустится и загрузит драйверы USB из initramfs, оно будет иметь полную поддержку USB 3.x и сможет монтировать корневую файловую систему с устройства USB 3.0.

По сути, это означает, что /bootбудет разделом на флэш-накопителе USB 2.0, а корневая файловая система (и остальная часть ОС )— на флэш-накопителе USB 3.0. Если вы хотите изменить существующую установку на это,вам придется:

  • скопировать корневую файловую систему на устройство USB 3.0
  • измените строки linux...существующей конфигурации GRUB, чтобы они указывали на новую корневую файловую систему
  • загрузитесь в новой конфигурации и убедитесь, что она работает
  • убедиться, что update-grubбудет правильно регенерировать конфигурацию GRUB с правильной root=опцией ядра, чтобы обновления системы не приводили к сбою GRUB (если необходимы исправления, редактирования /etc/default/grubдолжно быть достаточно)
0
07.05.2021, 06:17

Теги

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