Перейти к содержимому

Как создать гибридный живой USB

3

У меня есть ноутбук под управлением UEFI и Windows 8.1. Я хочу создать загрузочную USB-флешку с поддержкой Linux, которую можно использовать для загрузки либо моей старой системы BIOS, либо моей новой системы UEFI. Я согласен с двумя отдельными копиями живого дистрибутива на разных разделах флешки в случае необходимости. Какие шаги для этого?

Я читал другие посты, которые, кажется, указывают на то, что это возможно, но ни один из них не иллюстрирует, как это сделать:

Как создать гибридный раздел MBR / GPT на USB-накопителе?

Возможна ли гибридная USB-флешка Linux для UEFI и устаревшего BIOS?

1 943 просмотра
taz спросил 10 лет назад
T 160

1 ответ

4

Как вы просите четкую иллюстрацию, как это сделать, вот оно. Я предполагаю, что у вас есть ваш загруженный Linux.

  1. Разбить флешку

    Я рекомендую инструмент командной строки gdisk. Это дает очень чистые результаты. В качестве альтернативы вы можете использовать gparted.

    1. Создать новую таблицу разделов. Используйте GPT с защитным MBR.

    2. Определите эти разделы:

      • (необязательно) раздел данных
      • Раздел Linux
      • Устаревший загрузочный раздел BIOS (достаточно 1 МБ)
      • Системный раздел EFI (не менее 32 МБ)
    3. Пример: на моем флэш-накопителе объемом 64 ГБ результат выглядит следующим образом:

      Number Start (sector) End (sector) Size Code Name 1 2048 107632639 51.3 GiB 0700 DATA 2 107632640 124411903 8.0 GiB 8300 Linux filesystem 3 124411904 124413951 1024.0 KiB EF02 BIOS boot partition 4 124413952 124822453 199.5 MiB EF00 EFI System 
  2. Установите Linux на флэш-накопитель USB любым способом.

    Во время процесса желательно отформатировать раздел Linux с выбранной вами файловой системой ext4. Используйте этот раздел как root /.
    Отформатируйте системный раздел EFI с помощью FAT16.
    Загрузочный раздел BIOS остается неформатированным.

  3. Установите GRUB дважды

    На последнем этапе установите GRUB для обоих методов загрузки, загрузки в стиле UEFI и загрузки прежних версий BIOS.

    grub-install --target=x86_64-efi --removable /dev/sdx  grub-install --target=i386-pc /dev/sdx 

    Где /dev/sdxваш флешка, очевидно.
    Это --removableважно Мне понадобилось три часа, чтобы понять, что мне это нужно на съемном USB-накопителе ...

    Если вы устанавливаете GRUB на флэш-накопитель «извне» (не загружая Linux с флэш-накопителя USB), сначала необходимо смонтировать раздел Linux. Может быть, вы в него /mnt. Затем вы монтируете системный раздел EFI в /mnt/boot/efiкаталог Linux-разделов . Используйте в --root=/mntкачестве параметра для grub-install. Только тогда grub-installнаходит все необходимые каталоги.

Готово.

Для дальнейшего чтения:
мы не определяли разделы в MBR. Таким образом, вы можете спросить, почему это работает на старых машинах BIOS. Имейте в виду, мы установили GRUB в MBR. Во время устаревшего процесса загрузки BIOS выполняется загрузчик, сохраненный в MBR. Это загружает этап 1 GRUB, который затем переходит к загрузке этапа 2 из устаревшего загрузочного раздела BIOS. Но в настоящее время GRUB на самом деле ничего не знает ни о разделах MBR, ни о других. По этой причине информация о положении загрузочного раздела BIOS была встроена в этап GRUB 1. Следовательно, если загрузочный раздел BIOS перемещается, необходимо переустановить GRUB. После загрузки GRUB этапа 2 GRUB понимает GPT и может продолжить загрузку ядра Linux.

Спасибо за руководство! Это действительно очень полезно (еще не проверял). У меня, однако, есть проблема с установкой версии grub для efi, поскольку я работаю только на компьютере с BIOS. Я получаю это сообщение: grub-install: error: /usr/lib/grub/x86_64-efi/modinfo.sh не существует. Пожалуйста, укажите --target или --directory.. Есть ли способ заставить его установить его без загрузки через EFI?

starbeamrainbowlabs · 10 лет назад · 0

Да, это возможно. Сообщение об ошибке указывает, что 64-битный вариант EFI установщика grub отсутствует в вашей загруженной в данный момент системе. В Ubuntu вам необходимо установить grub-efi-amd64-bin. Кроме того, вы можете найти в онлайн-индексе пакетов информацию о том, какие установщики доступны вообще. Опыт может отличаться для других вкусов Linux.

Hermann · 10 лет назад · 0
Hermann ответил 10 лет назад
H 161