http://habrahabr.ru/post/240793/
Пост написан по мотивам публикации «Живительная флешка».
Предисловие
Доброго времени суток, Хабр. Совсем недавно, читая Хабр, наткнулся на статью
Живительная флешка, где был описан способ создания мультизагрузочной флешки с набором полезных утилит, разнообразных систем и т.д. И все бы ничего, да вот и тут зарыта собака — обратим внимание на
эту ветку комментариев, в которой обсуждается работоспособность мультизагрузки в системах с UEFI. Таким образом я начал
собственное расследование искать универсальный способ решения этой проблемы.
Далеко ходить не пришлось — еще со времен безумной популярности сборки Windows XP Zver Edition ее разработчики использовали набор утилит под названием
RMPrepUSB для записи сборки на USB-накопитель. Сборка ушла из памяти людей, ну а сам проект пакета утилит продолжает развиваться и крепнуть. Ну а сама основа — проект
Easy2Boot. Изучая их сайт я нашел универсальный способ создания мультизагрузочной флешки, которая может содержать в себе любой дистрибутив, LiveCD или образы дискет, которые Вы только захотите добавить. Итак, приступим к созданию такой чудо-флешки.
Начинаем
Идем на сайт и качаем последний архив с
Install_RMPrepUSB_Full в названии. Распаковываем и устанавливаем.
Внимание: для любителей переносимости — можно открыть установочник в 7-zip (к примеру) и распаковать его в папку без установки.
Далее идем на сайт Easy2Boot и
качаем архив с самим E2B, распаковываем в любую папку на ПК.
Подготовка флешки
Заходим в папку с E2B и запускаем файл
_ISO\docs\Make_E2B_USB_Drive.cmd.
Внимание: если Вы не устанавливали, а распаковывали RMPrepUSB, то на первом же этапе Вас попросят указать путь в папке RMPrepUSB.
Нас попросят указать номер накопителя из приведенного списка, спросят, действительно ли мы хотим форматировать накопитель и попросят выбрать ФС.
И вот тут внимание! Выбираем FAT32 — грузимся в UEFI без проблем, но нет поддержки файлов >4 Гб, и наоборот — NTFS без UEFI, но с поддержкой больших файлов. Если Ваши образы весять меньше 4 Гб каждый, то смело выбирайте FAT32. С NTFS немного сложнее, а именно — флешка в UEFI не загрузится, но если загрузить ее на обычном биосе, а потом выбрать образ для UEFI (об этом ниже), то Easy2Boot перепишет MBR флешки и она будет загружаться в UEFI, при условии, что в том образе есть его поддержка (наличие файлов
efi\bootia32.efi и
efi\boot\bootx64.efi)
Идем по сложному пути — пишем N (то есть форматируем в NTFS), вылезет окошко с подтверждением, жмем ОК и ждем. После форматирования будут скопированы файлы E2B и на зеленом фоне появится надпись «Нажмите любую клавишу».
Структура папок или куда же класть образы?
Заходим на накопитель, видим файлы и папку
_ISO. Кратко опишу структуру (подробности есть
на сайте):
- ANTIVIRUS — закидываем образы антивирусных LIveCD (Kaspersky, Dr.Web и иже с ними)
- AUTO — кидаем любой образ в подпапку с нужным названием (к примеру, по пути Ubuntu\My_Ubuntu_Distro.iso)
- LINUX — соответственно любой Лунксовый образ закидываем в эту папку.
- MAINMENU — закидываем образ в эту папку и он появится в главном меню Grub4DOS при загрузке (не в подменю, об этом позже)
- UTILITIES — образы дискет кидаем сюда
- UTILITIES_MEMTEST — то же самое, но, увы, точнее сказать не могу
- WIN — сюда мы будем складывать образы, подготовленные для загрузки в UEFI. Об этом позже
- WINDOWS — по структуре подпапок несложно понять, что для каждого семейства Windows нужно положить образ в соответствующую ему подпапку.
Далее запускаем RMPrepUSB, выбираем накопитель в списке и жмем Ctrl+F2, соглашаемся и ждем пару секунд. Программа пошаманит с файлами и можно грузиться с флешки.
Постой, а как же UEFI?
Ах, ну да. То, ради чего мы здесь и собрались. Для подготовки образа к загрузке в UEFI, скачаем
архив, распакуем его. Устанавливаем файл
ImDisk\imdiskinst.exe из папки, после чего перетаскиваем файл образа на скрипт
MakePartImage_AutoRun_FAT32.cmd в основной папке. Данный скрипт переделает образ в формат .imgPTN, при монтировании которого E2B будет переписывать MBR и монтировать образ как раздел FAT32. Подробнее Вы можете прочитать
тут.
Как все это выглядит?
Рабочий пример — накидал разных образов на накопитель, структура такова:
- _ISO\LINUX\linuxmint-17-xfce-dvd-64bit.iso
- _ISO\WIN\ru-en_win7_sp1_x86-x64_18in1_activated_v2.imgPTN
- _ISO\WIN\Boot_USB_Sergei_Strelec_2014_v.6.9.imgPTN
- _ISO\WIN\ru_windows_8_1_pro_vl_x86_dvd_LITE_3.iso
СкриншотыГлавное меню флешкиПодменю LinuxПодменю с обычными ISO образами WindowsПодменю с образами для UEFIПри загрузки образа для UEFI нас спросят, действительно ли мы хотим переписать таблицу разделом флешки? Жмем EnterА вот так выглядит загрузчик любого образа для UEFI. Инструкция по возвращению в главное меню ниже.
Грузимся в биосе, выбираем нужный UEFI образ, переключаем UEFI обратно и получаем флешку с одним разделом, содержащим файлы этого образа. Соответственно, если данный образ поддерживает загрузку в UEFI — он появится в списке устройств, с которых можно загрузиться.
Внимание! Если Вы загружались с образов, подготовленных для UEFI, то Вы заметите, что при следующей загрузке с накопителя будет меню загрузки с того самого образа. А где же все те, что мы набросали на флешку? Да и файлы на флешке не те… Тут два варианта — из загрузчика выбрать верхний пункт
EASY2BOOT или в ОС запустить с флешки скрипт
e2b\RestoreE2B (run as admin).cmd.
В сухом остатке
Без минусов не обошлось и тут — приходится переключаться в биос для того, чтобы подключить нужный образ. Зато функционал данного набора утилит закрывает все мыслимые и немыслимые потребности в мультизагрузочной флешке.
Информация с сайта разработчиков