Установка grub на флешку

Обновлено: 21.11.2024

Я пытаюсь создать USB-накопитель с двумя установленными дистрибутивами Linux. Идея состоит в том, чтобы носить с собой USB-накопитель и загружать дистрибутивы на компьютере, доступном в том месте, где я в данный момент нахожусь. Я знаю, что это может быть плохой практикой, но я просто хочу попробовать.

Я попытался установить дистрибутив Kali Linux на свой USB-накопитель в соответствии с этим видео, в котором виртуальная машина VirtualBox используется для установки операционной системы. на USB-накопитель.

При первой попытке я не загрузил свою виртуальную машину в режиме EFI, поэтому ОС не загружалась. был установлен в устаревшем режиме (инструкции по загрузке записаны в MBR). Все было в порядке, пока я загружался на свой компьютер, поддерживающий устаревшую загрузку, но когда я попытался загрузиться с моего Microsoft Surface (который не поддерживает устаревшую загрузку), я, очевидно, не смог загрузиться с внешнего диска.

Поэтому я попытался переустановить Kali с активированным режимом EFI на виртуальной машине, но и на этот раз мне не повезло, и я не смог загрузить дистрибутив на своем Surface. Ситуация была такой же, как когда я пытался загрузиться со своего Surface с установленным дистрибутивом в устаревшем режиме: Surface вообще не распознал загрузочный USB-накопитель.

Погуглив, я нашел множество решений для установки/переустановки GRUB на USB/внешний диск, но когда я попробовал их, оказалось, что они работают только до тех пор, пока я загружаюсь с того же устройства, на которое я установил GRUB. USB-накопитель. Например, когда я использовал виртуальную машину VirtualBox для установки GRUB на свое USB-устройство, я смог загрузить свой дистрибутив Kali на USB-устройство ТОЛЬКО с этой виртуальной машины VirtualBox.

Кажется, я что-то здесь упускаю. Может кто-нибудь помочь мне прояснить и, может быть, решить?

Прилагаю скриншоты, описывающие разметку моего USB-накопителя и содержимое ESP-раздела на USB-накопителе после установки Kali Linux в режиме EFI, если они могут помочь:

Мне удалось загрузить свою систему на ОБОИХ компьютерах, поддерживающих загрузку EFI. Я только что переместил загрузчик Kali, расположенный в моем ESP, из /EFI/Kali в резервный путь /EFI/BOOT и переименовал загрузчик из «grubx64.efi» в резервное имя «bootx64.efi». Я не знаю, почему в процессе загрузки не удалось загрузить /EFI/Kali/grubx64.efi. У кого-нибудь есть подсказки?

Теперь мне нужно сделать все загружаемым в устаревшем режиме (то есть с помощью BIOS), возможно ли это? Кажется, можно загрузить USB-накопитель как в UEFI, так и в устаревшем режиме, но есть ли способ настроить все, не нарушая работу моей фактической загрузочной конфигурации EFI?

Как установить Grub2 на USB из Windows. Ниже описан процесс установки Grub2 на USB-накопитель из Windows. Мы будем использовать grub-install.exe, который поставляется с zip-файлом grub-for-windows. После выполнения этих инструкций загрузчика ваш USB-накопитель должен быть загрузочным Grub2 из UEFI или BIOS на всех компьютерных системах.

Вы также можете использовать этот метод для замены или обновления версии Grub2 с последовательной загрузкой syslinux, которая поставляется с YUMI-UEFI.

Установка Grub2 на USB из Windows

Примечание. Grub2 для BIOS (i386-pc) можно установить на раздел exFAT, NTFS или Fat/Fat32. В то время как UEFI Grub2 (i386-efi/x86_64-efi) будет установлен только на раздел, отформатированный Fat/Fat32. Хотя вы по-прежнему можете загружать и запускать файлы из разделов NTFS и exFAT.

<р>1. Загрузите grub-2.04-for-windows.zip и извлеките (разархивируйте) его содержимое на рабочий стол Windows. Кроме того, вы можете использовать модифицированную версию Grub2 от a1ive, которая включает дополнительные функции.

Как показано ниже, у вас должна получиться папка grub-2.04-for-windows. Эта папка будет содержать файл grub-install.exe среди нескольких других файлов.

<р>2. Вам нужно будет использовать командную строку для запуска grub-install.exe
Чтобы открыть командную строку;
1.) В поле Windows «⌕ Введите здесь для поиска» введите cmd.exe< br />2.) Затем нажмите «Запуск от имени администратора»

<р>3. Затем, чтобы перейти в каталог grub-2.04-for-windows,
введите следующее в командной строке и нажмите Enter.

<р>4. Теперь вам нужно открыть Windows Disk Management Tool, чтобы определить букву USB-накопителя и связанный с ним номер диска.
Для этого введите следующее и нажмите Enter.

<р>5.В окне «Управление дисками» запишите, какой номер диска и буква тома принадлежат вашему USB-устройству.

<р>7. Затем, чтобы установить Grub2 для 32-разрядной версии UEFI,

<р>8. Наконец, чтобы установить Grub2 для 64-разрядной версии UEFI,

Если все прошло хорошо, теперь вы сможете загрузиться с USB-накопителя в работающую среду Grub2. Теперь ваше USB-устройство может загружаться с UEFI и BIOS из 32-разрядных или 64-разрядных систем. Поддержка всех трех архитектур i386-pc, i386-efi и x86_64-efi.

Если вы использовали это руководство на диске, подготовленном для YUMI-UEFI, загрузчик Syslinux должен был быть напрямую заменен на Grub 2. ;)

Как установить Grub2 на USB из Linux, чтобы сделать BIOS загрузочным USB UEFI, который может загружаться на всех машинах. В следующем руководстве я покажу вам один из способов простой установки загрузчика Grub2 на флэш-накопитель USB из работающей операционной среды Linux. Ubuntu использовался для выполнения всех шагов в этом руководстве. По завершении ваше устройство должно иметь возможность загружаться как с машин UEFI, так и с машин BIOS, использующих 32- или 64-битные архитектуры.

Примечание. В этом руководстве по установке USB-накопителя Grub2 предполагается, что вы будете использовать Ubuntu для создания флэш-накопителя с поддержкой Grub2. Он может работать или не работать в других операционных средах Linux.

Предпосылки:

  • Работающая ОС Linux (например, Ubuntu)
  • Компьютер, который может загружаться с USB-накопителя.
  • USB-накопитель (в формате FAT32)
  • Не бойтесь терминала

Предупреждение. В этом руководстве предполагается, что вы начинаете с USB-накопителя, отформатированного в файловой системе Fat32. Имейте в виду, что вы перезапишете любой существующий загрузчик и grub.cfg.

Прежде чем продолжить, загрузитесь на рабочий стол Linux (здесь использовалась Ubuntu). После запуска с рабочего стола вставьте флэш-накопитель.

Как использовать Linux для установки Grub2 на USB

Получите последний исходный код Grub2 и загрузите его

Сначала нам нужно установить необходимые пакеты, получить последний исходный код Grub2 из репозитория, а затем загрузить его.

1.) Чтобы получить права администратора (root), откройте терминал ctrl+alt+t, затем введите следующее и нажмите Enter.

2.) Необязательный шаг: чтобы обновить перед продолжением, введите

3.) Чтобы установить необходимые пакеты,

а. Чтобы получить последний исходный код Grub2,

б. Теперь перейдите в каталог grub,

<р>в. Затем, чтобы загрузить его,

Компиляция Grub2 для поддержки BIOS и UEFI на 32/64-битных платформах

Чтобы поддерживать загрузку BIOS или UEFI как с 32-, так и с 64-разрядных платформ, Grub2 должен быть скомпилирован для каждой архитектуры. Для этого мы создадим отдельные контейнеры для каждой сборки.

1.) Сначала создайте отдельный рабочий контейнер для каждой платформы,

2.) Затем настроить, а затем собрать для 64-битного UEFI Grub2,

а. Сначала перейдите в каталог EFI64,

б. Затем настроить и сделать Grub2 для 64-битного UEFI,

3.) Теперь нужно настроить, а затем сделать для Grub2 32-битный UEFI,

а. Перейдите в каталог EFI32,

б. Затем настроить и сделать Grub2 для 32-битного UEFI,

4.) Наконец, настроить и собрать для Grub2 BIOS

а. Перейдите в каталог BIOS,

б. Затем настроить и сделать для систем BIOS,

Поиск и подключение USB-устройства

Прежде чем двигаться дальше, вам нужно найти USB-устройство и смонтировать его.

1.) Во-первых, вам нужно выяснить, какое устройство является вашим USB. Чтобы сделать это,

2.) Обратите внимание, какое устройство относится к вашему USB.

3.) Теперь, чтобы создать каталог, который будет использоваться для типа точки монтирования,

4.) Затем вам нужно смонтировать USB-устройство, чтобы установить на него Grub2. Для этого введите следующее (заменив x на фактическое USB-устройство).

Установка USB-накопителя Grub2

В следующем разделе рассматривается установка Grub2 всех трех архитектур (64-разрядная UEFI, 32-разрядная UEFI, BIOS) на USB-накопитель.

Согласно руководству Grub, для съемных установок требуется параметр --removable (за исключением i386-pc). При использовании этого вы также должны указать --boot-directory и --efi-directory . Кроме того, мы добавим параметр --force, чтобы системы с ошибками BIOS могли определять USB как жесткий диск.

1.) Чтобы установить 64-разрядную версию Grub2 UEFI x86_64-efi,

а. Первое изменение контейнера EFI64,

б. Затем установите x86_64-efi,

2.) Затем, чтобы установить 32-разрядную версию Grub2 UEFI i386-efi,

а. Первое изменение контейнера EFI32

б. Затем установите i386-efi,

3.) Наконец-то поставить Grub2 BIOS i386-pc,
(заменив x на ваше устройство).

а. Сначала измените контейнер BIOS,

б.Затем установите i386-pc,

Loopback Загрузите ISO-образ Ubuntu с USB-накопителя Grub2 (необязательно)

Следующие шаги необязательны, но они дополнят ваши усилия. На этих шагах вы добавите простой пример файла конфигурации на USB-накопитель, который позволит вам напрямую загружаться из ISO-файла Ubuntu с помощью функции обратной связи. Затем вы загружаете ubuntu.iso на USB-накопитель. И, наконец, перезагрузите компьютер, чтобы проверить работоспособность.

1.) Сначала введите следующее, чтобы перейти в каталог grub на USB-накопителе.

2.) Затем, чтобы загрузить файл конфигурации обратной связи grub2, введите

3.) Затем, чтобы вернуться к корневому каталогу USB, введите

4.) Теперь, чтобы загрузить Ubuntu.iso, введите

5.) Перезагрузите компьютер, настроив BIOS или меню загрузки на загрузку с USB-устройства.

Если все пойдет хорошо, теперь вы должны загружаться с USB-накопителя, подготовленного для Grub2.

При желании можно использовать загрузочное меню Grub2 для обратной загрузки с ISO-образа Ubuntu, скопированного на USB-накопитель.

сообщить об этом объявлении

Часто при замене неисправного диска в конфигурации RAID1 (или во многих других случаях) grub не загружается. Обычно это происходит потому, что биос ожидает найти загрузчик и различные файлы, от которых зависит загрузчик, на первом диске в машине. Если это диск, который был заменен, то загрузка grub завершится ошибкой.

Один из способов восстановления — загрузить сервер с USB-накопителя, на котором установлен grub, а затем вручную указать grub, как загружаться с доступных дисков.

Если вы читаете это перед заменой диска, обязательно скопируйте файл /boot/grub/menu.lst с компьютера перед его выключением. Это убережет вас от многих страданий.

Существует множество сложных руководств о том, как это сделать, однако, если вас не волнует содержимое вашего USB-накопителя, это действительно очень просто.

Вставьте USB-диск в работающий компьютер с Linux (не монтируйте его). На моем компьютере он обычно определяется как /dev/sdb. Если ваш USB-накопитель распознается по-другому (и/или ваш жесткий диск — /dev/sdb), то вы должны заменить все приведенные ниже экземпляры /dev/sdb тем, что действительно распознается вашим USB-накопителем. Это очень важно.

Создайте один раздел. Обычно я делаю это с помощью:

Не стесняйтесь создавать раздел FAT32, если вы хотите использовать этот накопитель на разных машинах с разными операционными системами (включая Windows).

Смонтируйте только что созданный раздел:

Это должно создать каталог /mnt/boot/grub.

Он также создаст /mnt/boot/grub/device.map, который представляет собой список дисков на компьютере, на котором он запущен. Этот список будет включать не только USB-накопитель, но и жесткий диск вашего компьютера. Например:

Таким образом, единственным отображаемым устройством будет ваш USB-накопитель. Затем снова запустите:

Теперь самое сложное. Вам нужна конфигурация grub, которая будет иметь смысл для загружаемого сервера.

Если вы используете grub1…

Надеюсь, у вас есть копия файла menu.lst с сервера. В этом случае просто скопируйте его в /mnt/boot/grub/ и все готово. В противном случае вам нужно будет создать его. Ниже приведен образец.

Если вы используете grub2…

Затем отредактируйте. Вам может понадобиться что-то вроде:

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

Возможно, ваш компьютер просто загрузится с вашим файлом menu.lst. В таком случае - поздравляю! См. последний шаг ниже, чтобы выяснить, как обеспечить загрузку без USB-накопителя. С другой стороны, если это не удастся, вам нужно будет экспериментально выяснить, на каком диске какие разделы и какие ядра. К счастью, grub поддерживает завершение с помощью табуляции, что упрощает эту работу:

Когда появится меню grub, выберите из списка меню наиболее вероятного кандидата и нажмите «e» для редактирования.

Вы должны увидеть различные строки из строф для выбранного вами элемента списка (т. е. раздел root, kernel и initrd). Вы можете использовать стрелки вверх/вниз для выбора строки. Если это не сработает, ищите подсказки на экране, как обойти. Для перемещения влево и вправо по заданной строке может потребоваться сочетание клавиш Ctl-b и Ctl-f для перехода назад и вперед. Вам также может понадобиться использовать клавишу удаления (не Backspace) для удаления символов

Выберите строку, удалите символы в конце строки, а затем попробуйте автодополнение с помощью табуляции с различными параметрами. Например, в корневой строке попробуйте ввести просто:

А затем вкладку. Вам должны быть представлены доступные диски (с номером 0 и выше). Попробуйте ввести один из дисков и нажать вкладку, и вам должны быть представлены доступные разделы. Продолжайте этот процесс, пока не найдете тот, который кажется правильным.

Когда вы закончите и успешно загрузитесь, вы можете убедиться, что загрузка будет работать без USB-ключа, установив grub на все доступные диски:

Читайте также: