воскресенье, 11 февраля 2018 г.

Создаем мультизагрузочную флешку в linux с Grub

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



Выберем второй способ а те кому не нравится набирать команды ручками в терминале смотрите Несколько linux на загрузочной флешке.

Итак понадобится сама флешка,  iso образ системы linux например linux mint 18.3 и системный загрузчик GRUB.

Если флешка чем-то заполнена с неё придётся все удалить или просто отформатировать. Откройте программу Gparted и там найдите вашу флешку и не спешите закрывать программу.



Теперь флешка подготовлена. Далее устанавливаем GRUB для этого выполняем команду в терминале. В Gparted находим точку монтирования и подставляем вместо /media/bootusb а также смотрим как определилась флешка. На картинке вы видите что флешка определилась как  /dev/sdd вот этот путь и печатаем вместо /dev/sda

sudo grub-install --no-floppy --root-directory=/media/bootusb /dev/sda



Загрузчик установили. Создадим файл конфигурации.

sudo gedit /media/bootusb/boot/grub/grub.cfg

Откроется пустой файл который нужно будет наполнить следующим текстом.

#Простое меню

# таймаут меню
set timeout=10

# выбранный пункт по умолчанию
set default=0

# разрешение
set gfxmode=1024x768,800x600

# загружаем модуль файловой системы ext2
insmod ext2

# загружаем шрифт
# включаем графическое меню

loadfont /boot/polices/unicode.pf2
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else terminal gfxterm; fi

# настроим цвета
set color_normal=white/black
set menu_color_normal=white/black
set menu_color_highlight=light-blue/black

# Далее пошли три пункта меню

# Пункт загрузка с диска

menuentry "Boot from first hard disk" {
set root=(hd1)
chainloader +1
}

# Пункт перезагрузить ПК

menuentry "Reboot" {
insmod reboot
reboot
}

#Пункт выключить ПК

menuentry "ShutDown PC"{
halt
}

Добавим шрифты.

mkdir /media/bootusb/boot/polices/
cp /usr/share/grub/unicode.pf2 /media/bootusb/boot/polices/

Добавляем linux mint 18.3. На флешку копируем iso файл linuxmint-18.3-mate-64bit.iso.

В файл grub.cfg добавляем пункт с linux mint 18.3

#0
menuentry "linux mint 18.3" {
loopback loop /linuxmint-18.3-mate-64bit.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/linuxmint-18.3-mate-64bit.iso locale=ru_RU.UTF-8 console-setup/layoutcode=ru noprompt splash --
initrd (loop)/casper/initrd.lz
}

Флешка готова. Пробуем загрузиться с неё. Заходим в Биос и выбираем нашу загрузочную флешку с linux.

Пошла загрузка с флешки и мы видим на черном фоне экрана меню с пунктами которые напечатали в grub.cfg



Если размер флешки позволяет можно скопировать несколько разных файлов  iso linux и добавить пункты в grub.cfg.