Ubuntu 20.04 LTS - не удается создать загрузочную флешку

Я пытаюсь создать загрузочный USB-накопитель для 20.04. Если я сделаю загруженный образ 20.04, я смогу правильно загрузить диск. Однако, если я извлекаю все содержимое 20.04 в каталог, а затем воссоздаю ISO и dd его на диск, полученный диск не загружается. Мой zbook просто издает звуковой сигнал и возвращается в меню загрузки. Команду для создания ISO я взял из нескольких статей. Но я уверен, что это должен быть сам созданный ISO. Есть идеи?

3
задан 30 July 2021 в 18:51

2 ответа

tl; dr Когда вы воссоздаете ISO из извлеченных файлов, вы (правильно) не переносите ни загрузочный блок BIOS, ни системный раздел EFI, ни ESP во вновь созданный USB-накопитель. Следовательно, система не сможет загрузиться с этого диска.

Проблема

Загрузка загрузчика

Системная микропрограмма не знает, как загрузить операционную систему с диска, и вместо этого передает эту ответственность небольшой программе, называемой загрузчиком . Он хранится на диске в указанном месте, где его может легко найти прошивка. Место, где хранится загрузчик, зависит от метода, используемого микропрограммой для загрузки с диска. Сегодня на платформах x86-64 используются два разных метода загрузки: современный EFI и устаревшая загрузка BIOS.

Я полагаю, что ваш HP Z-Book достаточно новый, чтобы быть как x86-64, так и поддерживать загрузку EFI. Вы сможете включить поддержку устаревших версий BIOS в служебной программе настройки микропрограммы системы, хотя это может отличаться на других ноутбуках и может быть изменено для новых ноутбуков.

Системный раздел EFI (ESP)

x86-64 Прошивка на основе EFI загружает загрузчик, ища файл с именем /efi/boot/bootx64.efi (регистр не имеет значения) на специальный раздел в формате FAT32 с типом 0xEF или Системный раздел EFI (ESP) на выбранном загрузочном диске. Некоторые BIOS могут (по-видимому) также загружаться из файловых систем NTFS.

Большинство дистрибутивов Linux, включая Ubuntu, теперь распространяют образ диска, совместимый с El Torrito.Это означает, что один и тот же диск может быть загружен устаревшей версией BIOS или современной прошивкой на основе EFI в соответствующих режимах загрузки. Когда вы извлекаете или монтируете диск (то есть из файлового менеджера GNOME Files), раздел EFI сохраняется как отдельный файл efi.img , но на самом деле это не , как Диск размещен на CD / DVD, записанном из этого файла ISO.

Таким образом, микропрограмма системы не распознает этот файл как действительный системный раздел EFI при его копировании на USB-накопитель. Привод отклоняется прошивкой, так как не считает диск загрузочным.

Устранение проблемы

Вы можете создать системный раздел EFI, используя диски GNOME, GParted или инструменты командной строки, такие как gdisk . Новый раздел должен иметь тип ESP и быть отформатирован как FAT32.

Содержимое efi.img должно быть извлечено в папку с именем efi на целевом диске, чтобы bootx64.efi отображался по пути /efi/boot/bootx64.efi в корне диска.

Остальная часть ISO может быть извлечена в тот же раздел, и это то, что делают такие инструменты, как Rufus. Однако для большинства дистрибутивов Linux часто требуется дополнительный шаг: метка файловой системы часто используется для идентификации диска, с которого следует загружаться, и, следовательно, метка файловой системы должна совпадать с меткой файла ISO. В противном случае (например, с Ubuntu) ядро ​​не сможет найти корневую файловую систему SquashFS для продолжения загрузки.

3
ответ дан 20 August 2021 в 10:31

Есть много способов сделать Загрузочный USB-накопитель

Следующий метод извлекает содержимое ISO в раздел

Создать загрузчик Grub2, использующий постоянные разделы, очень просто. *

  • Загрузочная установка Ubuntu или Live USB.
  • Вставьте целевой USB.
  • Запустите GParted.
  • Создайте таблицу разделов GPT на целевом USB.
  • Создайте слева загрузочный раздел BIOS размером 1 МБ, отформатированный как неформатированный.
  • Добавьте рядом с ним загрузочный раздел FAT32 EFI размером 300 МБ.
  • Добавьте корневой раздел ext4, достаточно большой для содержимого ISO Ubuntu (~ 3 ГБ на 20.04).
  • Создайте раздел ext4 с меткой casper-rw
  • Добавьте раздел данных NTFS, если хотите.
  • Применить все операции.
  • Отметить раздел 1 bios_grub.
  • Пометить загрузку раздела 2, особенно
  • Закрыть GParted.

gparted

  • Откройте папку ISO от имени администратора, откройте ISO с помощью Archive Manager.

  • Извлеките содержимое ISO в корневой раздел Target.

  • Перетащите загрузочную папку и папку EFI из окна Archive Manager в загрузочный раздел EFI.

  • Отредактируйте sdx2 / boot / grub / grub.cfg добавление set root = (hd0,3) после первой строки, которая начинается с menuentry .

  • Добавьте пробел и слово «постоянный» после ---.

      set timeout = 5 
    menuentry "Ubuntu persistent" {
    set root = (hd0,3) 
    set gfxpayload = keep 
    linux / casper / vmlinuz file = / cdrom / preseed / ubuntu.seed boot = casper quiet splash --- постоянный 
    initrd / casper / initrd 
    } 
     
  • Установить grub, если в режиме BIOS или загрузился с USB-накопителя, запустите:

      sudo mount / dev / sdx2 / mnt 
     
    sudo grub-install --boot-directory = / mnt / boot / dev / sdx {{1} } 
  • Если установленная система находится в режиме UEFI, загрузитесь с целевого диска и выполните указанное выше.

* Загрузка на основе mkusb от sudodus

Другой метод создания загрузочного USB - это загрузка файлов ISO напрямую

Образ шаблона BIOS / UEFI для загрузки файлов ISO

4
ответ дан 20 August 2021 в 10:31

Другие вопросы по тегам:

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