Озадачился недавно созданием такой USB-флэшки, чтобы и грузиться с неё можно было бы (желательно несколько вариантов загрузки), и файлы хранить можно было.
Прогуглив как следует, было найдено решение, которым спешу поделиться (и сохранить себе на память, конечно же :) ).
Понадобятся:
Приступим к форматированию (например, в ntfs):
В Вашем случае, раздел девайса может называться и sdc1, и sdd1 - будьте внимательны.
Затем можно установить метку раздела, дабы сразу было понятно, что это. Например, так:
Для начала необходимо создать директорию, куда будем монтировать. Например,
Настало время определиться, где же будут лежать iso-образы, которые будут грузиться с флэшки. Мне представляется, что директория /iso в корне флэшки - крайне подходящий вариант. Создаём такую любым удобным способом. В моём случае:
Осталось подготовить grub.cfg, отвечающий нашим нуждам. Открываем файл любым редактором, например, nano:
В итоге, мы имеем USB-flash носитель с установленным загрузчиком, двумя директориями /boot и /iso. Эти директории нужны для загрузки с флэшки. В остальное свободное место можно совершенно спокойно складывать разные файлы: полезные и не очень. Таким образом, если носитель воткнуть до старта системы, то при разрешённой в BIOS (*EFI) загрузке с USB будут грузиться положенные iso-файлы ОС, а если же флэшка вставлена во время работы системы, то она будет открываться как файловое хранилище. Просто и удобно ;)
P.S. 20.05.2014 заметка была существенно обновлена, чтобы отражать существующие реалии.
Прогуглив как следует, было найдено решение, которым спешу поделиться (и сохранить себе на память, конечно же :) ).
Понадобятся:
- сам носитель USB-flash
- дистрибутив GNU/Linux из которого и будем производить операции
- ntfsprogs, ntfs-3g, grub2
- iso-файлы ОС, которые будут загружаться с флэшки
Приступим к форматированию (например, в ntfs):
mkfs.ntfs -f /dev/sdb1Если команда не срабатывает (такое бывает в Kubuntu 13.04, например), то вместо mkfs.ntfs нужно использовать mkntfs. В остальном - без изменений.
В Вашем случае, раздел девайса может называться и sdc1, и sdd1 - будьте внимательны.
Затем можно установить метку раздела, дабы сразу было понятно, что это. Например, так:
ntfslabel -v /dev/sdb1 MultiBootUSBПосле этого нужно примонтировать данный раздел.
Для начала необходимо создать директорию, куда будем монтировать. Например,
mkdir /media/MultiBootUSBИ после этого с чистой совестью можно монтировать:
mount /dev/sdb1 /media/MultiBootUSB/Теперь установим загрузчик на носитель. Обратите внимание, поскольку ставим на носитель, а не на раздел носителя, то цифры 1 после sdb нет:
grub2-install --boot-directory=/media/MultiBootUSB/boot /dev/sdbВажно:
- в некоторых дистрибутивах команда может вызываться как grub-install (без двойки).
- в старых версиях grub вместо --boot-directory=/media/MultiBootUSB/boot надо было писать --root-directory=/media/MultiBootUSB/
Настало время определиться, где же будут лежать iso-образы, которые будут грузиться с флэшки. Мне представляется, что директория /iso в корне флэшки - крайне подходящий вариант. Создаём такую любым удобным способом. В моём случае:
mkdir /media/MultiBootUSB/isoи складываем в неё нужные нам iso-файлы. Я положу дистрибутив Ubuntu 14.04.
Осталось подготовить grub.cfg, отвечающий нашим нуждам. Открываем файл любым редактором, например, nano:
nano /media/MultiBootUSB/boot/grub/grub.cfgИ вписываем туда нужные параметры. В рассматриваемом случае это:
set default="0"Пункт меню для Ubuntu будет справедлив и для любой другой *buntu-системы и им подобных, нужно лишь поменять переменную isofile во второй строке на подходящий, ну и само название пункта - menuentry.
set timeout=5
menuentry "ubuntu-14.04-desktop-amd64" {
set isofile="/iso/ubuntu-14.04-desktop-amd64.iso"
loopback loop $isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile quiet splash noprompt --
initrd (loop)/casper/initrd.lz
}
В итоге, мы имеем USB-flash носитель с установленным загрузчиком, двумя директориями /boot и /iso. Эти директории нужны для загрузки с флэшки. В остальное свободное место можно совершенно спокойно складывать разные файлы: полезные и не очень. Таким образом, если носитель воткнуть до старта системы, то при разрешённой в BIOS (*EFI) загрузке с USB будут грузиться положенные iso-файлы ОС, а если же флэшка вставлена во время работы системы, то она будет открываться как файловое хранилище. Просто и удобно ;)
P.S. 20.05.2014 заметка была существенно обновлена, чтобы отражать существующие реалии.