Установка 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.) Затем нажмите «Запуск от имени администратора»
введите следующее в командной строке и нажмите Enter. <р>4. Теперь вам нужно открыть Windows Disk Management Tool, чтобы определить букву USB-накопителя и связанный с ним номер диска.
Для этого введите следующее и нажмите Enter.
<р>5.В окне «Управление дисками» запишите, какой номер диска и буква тома принадлежат вашему USB-устройству.
Если все прошло хорошо, теперь вы сможете загрузиться с 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 на все доступные диски:
Читайте также: