3

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

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

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

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

1 ответ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 - это ваш флэш-накопитель USB.
    Это --removable важно. Мне понадобилось три часа, чтобы понять, что мне это нужно на съемном USB-накопителе ...

    Если вы устанавливаете GRUB на флэш-накопитель "извне" (не загружая Linux с флэш-накопителя USB), сначала необходимо смонтировать раздел Linux. Может быть, вы монтируете его в /mnt . Затем вы монтируете системный раздел EFI в каталог Linux partitions /mnt/boot/efi . Используйте --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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .