Я пытаюсь создать загрузочный USB-накопитель для 20.04. Если я сделаю загруженный образ 20.04, я смогу правильно загрузить диск. Однако, если я извлекаю все содержимое 20.04 в каталог, а затем воссоздаю ISO и dd его на диск, полученный диск не загружается. Мой zbook просто издает звуковой сигнал и возвращается в меню загрузки. Команду для создания ISO я взял из нескольких статей. Но я уверен, что это должен быть сам созданный ISO. Есть идеи?
tl; dr Когда вы воссоздаете ISO из извлеченных файлов, вы (правильно) не переносите ни загрузочный блок BIOS, ни системный раздел EFI, ни ESP во вновь созданный USB-накопитель. Следовательно, система не сможет загрузиться с этого диска.
Системная микропрограмма не знает, как загрузить операционную систему с диска, и вместо этого передает эту ответственность небольшой программе, называемой загрузчиком . Он хранится на диске в указанном месте, где его может легко найти прошивка. Место, где хранится загрузчик, зависит от метода, используемого микропрограммой для загрузки с диска. Сегодня на платформах x86-64 используются два разных метода загрузки: современный EFI и устаревшая загрузка BIOS.
Я полагаю, что ваш HP Z-Book достаточно новый, чтобы быть как x86-64, так и поддерживать загрузку EFI. Вы сможете включить поддержку устаревших версий BIOS в служебной программе настройки микропрограммы системы, хотя это может отличаться на других ноутбуках и может быть изменено для новых ноутбуков.
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 для продолжения загрузки.
Следующий метод извлекает содержимое ISO в раздел
Создать загрузчик Grub2, использующий постоянные разделы, очень просто. *
Откройте папку 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 напрямую