суббота, 22 февраля 2014 г.

Мультизагрузочная флешка с Linux и grub2

Дабы сто раз не перезаписывать флешку для установки того или иного дистрибутива Linux, решено было сделать её мультизагрузочной.
Порядок действий таков: скачиваем нужные образы дистрибутивов, устанавливаем на флешку grub2, копируем образы на флешку.
Далее подробная инструкция.


Имеются образы.
CentOS-6.5-x86_64-minimal.iso
debian-7.4.0-amd64-netinst.iso
linuxmint-16-mate-dvd-64bit.iso
ubuntu-13.10-desktop-amd64.iso

Примечание:
/dev/sdb - имя устройства (флешки) в моём случае.

1. Форматируем флешку в FAT32:
$ sudo mkfs.vfat -n MULTIBOOT_FLASH /dev/sdb1

2. Монтируем:
$ sudo mount /dev/sdb1 /mnt

3. Устанавливаем grub:
$ sudo grub-install --no-floppy --root-directory=/mnt/ /dev/sdb
...
...
Installation finished. No error reported.

4. Создаём конфигурационный файл grub2:
$ sudo vim /mnt/boot/grub/grub.cfg
### CentOS-6.5-x86_64-minimal.iso
### debian-7.4.0-amd64-netinst.iso
### linuxmint-16-mate-dvd-64bit.iso
### ubuntu-13.10-desktop-amd64.iso

menuentry "CentOS-6.5-x86_64-minimal" {
    loopback loop /boot/iso/CentOS-6.5-x86_64-minimal.iso
    linux (loop)/isolinux/vmlinuz boot=casper iso-scan/filename=/boot/iso/CentOS-6.5-x86_64-minimal.iso noeject noprompt --
    initrd (loop)/isolinux/initrd.img
}

menuentry "debian-7.4.0-amd64-netinst" {
    loopback loop /boot/iso/debian-7.4.0-amd64-netinst.iso
    linux (loop)/install.amd/vmlinuz boot=casper iso-scan/filename=/boot/iso/debian-7.4.0-amd64-netinst.iso noeject noprompt --
    initrd (loop)/install.amd/initrd.gz
}

menuentry "linuxmint-16-mate-dvd-64bit" {
    loopback loop /boot/iso/linuxmint-16-mate-dvd-64bit.iso
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/linuxmint-16-mate-dvd-64bit.iso noeject noprompt --
    initrd (loop)/casper/initrd.lz
}

menuentry "ubuntu-13.10-desktop-amd64" {
    loopback loop /boot/iso/ubuntu-13.10-desktop-amd64.iso
    linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/boot/iso/ubuntu-13.10-desktop-amd64.iso noeject noprompt --
    initrd (loop)/casper/initrd.lz
}

5. Копируем образы в /mnt/boot/iso:
$ sudo mkdir /mnt/boot/iso
$ cp ~/ISO/*.iso /mnt/boot/iso

6. Размонтируем:
$ sudo umount /mnt/

7. Перезагружаемся, проверяем

P.S. Если во время загрузки будет ошибка с secure boot, его надо отключить.

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

9 комментариев:

  1. Этот комментарий был удален автором.

    ОтветитьУдалить
  2. Всё понятно описано, только есть проблема:
    уже давно существуют дистрибутивы на DVD (более 4-х Гб), а значит FAT32 бесполезна.

    ОтветитьУдалить
  3. У меня большая флэшка - 32GiB. Нужно залить MacOS например, и кучу дистров типа всё "включено" для начинающих пытливых умов. Может есть решение?

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

    ОтветитьУдалить
  5. для пробы записал 2 дистрибутива:
    ubuntu-gnome-15.10-desktop-amd64.iso
    debian-live-8.2.0-amd64-gnome-desktop.iso

    ubuntu загружается как положено live, все хорошо
    а debian загружается не live, а установка в текстовом режиме

    как поправить?

    а так такой способ лучший, когда ручками мульти флеш делаешь, спасибо

    ОтветитьУдалить
  6. Попробуйте распаковать iso и посмотреть, что там прописано в menu.lst и grub.cfg.

    ОтветитьУдалить
  7. Amet Umerov, открыл iso менеджером архивов, но файлы menu.lst и grub.cfg поиск не находит...

    menuentry "debian-live-8.2.0-amd64-gnome-desktop" {
    loopback loop /boot/iso/debian-live-8.2.0-amd64-gnome-desktop.iso
    linux (loop)/install/vmlinuz boot=install iso-scan/filename=/boot/iso/debian-live-8.2.0-amd64-gnome-desktop.iso noeject noprompt --
    initrd (loop)/install/initrd.gz
    }

    что здесь поправить?

    ОтветитьУдалить
  8. А как сделать такую флешку с uefi загрузкой?

    ОтветитьУдалить
  9. Спасибо. Всё очень ясно описано. ... Не разделяю мнение комментатора о ненужности больших образов на флеш-карте. Искал вашу статью, потому что мне, как раз, нужно то, что ему, почему-то, ненужно ))...

    ОтветитьУдалить