No Image

Grub команды для загрузочной флешки

СОДЕРЖАНИЕ
788 просмотров
10 марта 2020

Установка загрузчика на флешку может понадобиться по нескольким причинам, например, вы хотите установить дистрибутив Linux на внешний носитель или же вам нужен еще один способ загрузить компьютер, когда основной загрузчик был затерт и система не загружается. Одним словом, может быть множество причин.

Мы уже рассматривали как установить Grub на флешку в статье про создание мультизагрузочной флешки из нескольких систем, а теперь поговорим об этом более детально.

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

Если вы устанавливаете на фшелку дистрибутив, то у вас не возникнет никаких проблем с установкой загрузчика. Он устанавливается так же, как и при установке на жесткий диск. Вам достаточно перейти в chroot окружение новой системы, подключить все ее разделы, а затем просто установить загрузчик командой:

И создать конфигурационный файл:

grub-mkconfig -o /boot/grub/grub.cfg

Но если вам нужен загрузчик без операционной системы, то дело немного усложняется. Вы не можете использовать просто grub-install, а конфигурация вообще не будет создана, так как утилита не понимает где находятся файлы загрузчика и файлы конфигурации для него. Но есть решение.

Важно заметить, что при любом способе установки загрузчика, желательно, чтобы на флешке использовалась таблица разделов MBR. Конечно, я не встречал флешек с GPT, но вы сами можете ее создать при желании, а тогда с установкой загрузчика возникнут проблемы. Второе, что важно заметить, фшелку желательно отформатировать в файловую систему fat32. Это важно, чтобы там можно было разместить файлы Grub. Потому что если флешка будет форматирована в NTFS, то ничего не выйдет, а в ext4 – то вы не сможете подключить ее в Windows и использовать для обмена файлами.

Читайте также:  Как построить вариационный ряд в excel

Далее подключите флешку в какую-нибудь папку, например, mnt:

sudo mount /dev/sdc1 /mnt/

Имя устройства /dev/sdb1 – это адрес первого раздела на вашей флешке. Обычно там есть только один раздел, так и должно быть. Если больше, то берите первый. А имя флешки может отличаться – sdb, sdc, sdd или другие. Смотрите как флешка называется у вас с помощью fdisk:

Когда устройство подключено мы можем перейти к установке загрузчика:

sudo grub-install –root-directory=/mnt/ /dev/sdc

Здесь мы указываем параметр –root-directory, это та папка, которая будет считаться корнем системы, и откуда будут браться файлы загрузчика при старте. Установщик автоматически скопирует их туда. Устройство /dev/sdb – ваша флешка. После того, как установка будет завершена, можно перейти к настройке пунктов меню. Забегая наперед, если эта команда не работает, используйте опцию –boot-directory вместо –root-directory, разные версии Grub работают по разному:

sudo grub-install –boot-directory=/mnt/boot –root-directory=/mnt/ /dev/sdc

Теперь нужно создать конфигурационный файл. Если вы используете grub-mkconfig, то получите такое же меню, как в вашей основной системе. Меня это вполне устраивает, только укажите правильное расположение файла, в папке /mnt:

sudo grub-mkconfig -o /mnt/boot/grub/grub.cfg

Теперь нам осталось протестировать как все работает. Для этого лучше использовать qemu:

qemu-system-x86 -hda /dev/sdc

Если возникли ошибки вы можете их быстро исправить не перезагружая компьютер. В дальнейшем, когда вам понадобятся новые пункты меню, вы можете добавить их вручную. Этот конфигурационный файл не будет стерт при обновлении системы, поскольку он на флешке.

Выводы

В этой статье мы рассмотрели как выполняется установка загрузчика grub на флешку. Несмотря на то, что это может вызвать некоторые сложности, процесс довольно понятен и не требует особых навыков. Зато, с такой флешкой вы можете быть уверены, что сможете загрузить компьютер, даже когда случайно повредили загрузчик. Если у вас остались вопросы, спрашивайте в комментариях!

Читайте также:  Если снятся сны мозг отдыхает или нет


Недавно оказался в такой вот ситуации. У меня есть Linux на машине и понадобилось переустановить/или установить другой дистрибутив. Отлично, это же легко! Загрузили дистрибутив с USB диска и вперед! Однако некоторые (особенно старые) машины не умеют загружаться с USB. Это было неприятно (особенно если учесть что я больше не записываю CD/DVD ни для каких нужд). Однако, если у вас есть GRUB1 установленный на машину, вы можете использовать его для загрузки с USB диска и даже переписать что-либо на жестком диске. Это вам конечно не поможет, если у вас компьютер без операционной системы или если у вас какой-нибудь Windows -> тогда, возможно, вам стоит посмотреть в сторону загрузки PXE. Я до сих пор не смог заставить так же работать GRUB2, некоторые вещи там делаются сложнее однако для старых машин этого может вполне хватить.

  1. Сначала определитесь с дистрибутивом (какой хотите загрузить/установить). Я использовал Linux Mint Debian записанный на USB через Unetbootin.
    Они (как и другие дистрибутивы) хранят это в syslinux.cfg, посмотрите пункт default и затем измените подчеркнутые места.
    [code]label unetbootindefault
    menu label Default
    kernel /ubnkern
    Добавить
    initrd=/ubninit boot=live config live-media-path=/casper quiet splash
    [/code]
  1. Загрузите целевую машину со вставленным USB приводом. После загрузки GRUB нажмите Escape и затем C для входа в командную строку GRUB.
  2. Если у вас всего два привода (включая тот что USB) на машине то внутренний будет обозначаться (hd0,0) и внешний (hd1,0), ну или что-то похожее.
    Я набрал следующее, измените у себя так как я показывал выше, нажимая Enter после каждой команды.
    [code]root (hd1,0)
    kernel /ubnkern
    initrd /ubninit boot=live config live-media-path=/casper quiet splash[/code]
  3. Готовы? Наберите boot и нажмите enter.
Читайте также:  Brother dcp 135c драйвер

Так же в GRUB замечательно работает автодополнение по кнопке Tab. Вы можете набрать root (hd нажать Tab и получить список доступных приводов, root (hd0, и получите доступные на приводе разделы и типы файловых систем, и наконец список целевых ядер и initrd образов.

Есть задача: требуется загрузить ось с флешки. Компьютер не умеет сам по себе стартовать с pendrive и/или отсутствует boot-flag на разделе с системой. На компьютере установлен grub2

1. Убедится, что требуемый раздел виден

Сначала нужно проверить, что флешка отображается в списке (ls). Например, нужен раздел (usb0, msdos6).

grub> ls
(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd0,msdos2) (hd1,msdos1) (fd0)

В моём флешки нет. Чтоб grub увидел флешку нужно загрузить ряд модулей:

grub> insmod uhci
grub> insmod fat

После этого снова попробовать, флешка должна появиться

grub> ls
(usb0) (usb0,msdos7) (usb0,msdos6) (usb0,msdos5) (usb0,msdos1) (hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd0,msdos2) (hd1,msdos1) (fd0)

Комментировать
788 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock
detector