Пост написан по мотивам публикации Живительная флешка.
Предисловие
Доброго времени суток. Совсем недавно, читая Хабр, наткнулся на статью Живительная флешка, где был описан способ создания мультизагрузочной флешки с набором полезных утилит, разнообразных систем и т.д. И все бы ничего, да вот и тут зарыта собака — обратим внимание на эту ветку комментариев, в которой обсуждается работоспособность мультизагрузки в системах с UEFI. Таким образом я начал собственное расследование искать универсальный способ решения этой проблемы.
Далеко ходить не пришлось — еще со времен безумной популярности сборки Windows XP Zver Edition ее разработчики использовали набор утилит под названием RMPrepUSB для записи сборки на USB-накопитель. Сборка ушла из памяти людей, ну а сам проект пакета утилит продолжает развиваться и крепнуть. Ну а сама основа — проект Easy2Boot. Изучая их сайт я нашел универсальный способ создания мультизагрузочной флешки, которая может содержать в себе любой дистрибутив, LiveCD или образы дискет, которые Вы только захотите добавить. Итак, приступим к созданию такой чудо-флешки.
Начинаем
Идем на сайт и качаем последний архив с Install_RMPrepUSB_Full в названии. Распаковываем и устанавливаем.
Внимание: для любителей переносимости — можно открыть установочник в 7-zip (к примеру) и распаковать его в папку без установки.
Далее идем на сайт Easy2Boot и качаем архив с самим E2B, распаковываем в любую папку на ПК.
Подготовка флешки
Заходим в папку с E2B и запускаем файл _ISOdocsMake_E2B_USB_Drive.cmd.
Внимание: если Вы не устанавливали, а распаковывали RMPrepUSB, то на первом же этапе Вас попросят указать путь в папке RMPrepUSB.
Нас попросят указать номер накопителя из приведенного списка, спросят, действительно ли мы хотим форматировать накопитель и попросят выбрать ФС.
И вот тут внимание! Выбираем FAT32 — грузимся в UEFI без проблем, но нет поддержки файлов >4 Гб, и наоборот — NTFS без UEFI, но с поддержкой больших файлов. Если Ваши образы весять меньше 4 Гб каждый, то смело выбирайте FAT32. С NTFS немного сложнее, а именно — флешка в UEFI не загрузится, но если загрузить ее на обычном биосе, а потом выбрать образ для UEFI (об этом ниже), то Easy2Boot перепишет MBR флешки и она будет загружаться в UEFI, при условии, что в том образе есть его поддержка (наличие файлов efibootia32.efi и efibootbootx64.efi)
Идем по сложному пути — пишем N (то есть форматируем в NTFS), вылезет окошко с подтверждением, жмем ОК и ждем. После форматирования будут скопированы файлы E2B и на зеленом фоне появится надпись «Нажмите любую клавишу».
Структура папок или куда же класть образы?
Заходим на накопитель, видим файлы и папку _ISO. Кратко опишу структуру (подробности есть на сайте):
- ANTIVIRUS — закидываем образы антивирусных LIveCD (Kaspersky, Dr.Web и иже с ними)
- AUTO — кидаем любой образ в подпапку с нужным названием (к примеру, по пути UbuntuMy_Ubuntu_Distro.iso)
- LINUX — соответственно любой Лунксовый образ закидываем в эту папку.
- MAINMENU — закидываем образ в эту папку и он появится в главном меню Grub4DOS при загрузке (не в подменю, об этом позже)
- UTILITIES — образы дискет кидаем сюда
- UTILITIES_MEMTEST — то же самое, но, увы, точнее сказать не могу
- WIN — сюда мы будем складывать образы, подготовленные для загрузки в UEFI. Об этом позже
- WINDOWS — по структуре подпапок несложно понять, что для каждого семейства Windows нужно положить образ в соответствующую ему подпапку.
Далее запускаем RMPrepUSB, выбираем накопитель в списке и жмем Ctrl+F2, соглашаемся и ждем пару секунд. Программа пошаманит с файлами и можно грузиться с флешки.
Постой, а как же UEFI?
Ах, ну да. То, ради чего мы здесь и собрались. Для подготовки образа к загрузке в UEFI, скачаем архив, распакуем его. Устанавливаем файл ImDiskimdiskinst.exe из папки, после чего перетаскиваем файл образа на скрипт MakePartImage_AutoRun_FAT32.cmd в основной папке. Данный скрипт переделает образ в формат .imgPTN, при монтировании которого E2B будет переписывать MBR и монтировать образ как раздел FAT32. Подробнее Вы можете прочитать тут.
Как все это выглядит?
Рабочий пример — накидал разных образов на накопитель, структура такова:
- _ISOLINUXlinuxmint-17-xfce-dvd-64bit.iso
- _ISOWINru-en_win7_sp1_x86-x64_18in1_activated_v2.imgPTN
- _ISOWINBoot_USB_Sergei_Strelec_2014_v.6.9.imgPTN
- _ISOWINru_windows_8_1_pro_vl_x86_dvd_LITE_3.iso
Подменю Linux
Подменю с обычными ISO образами Windows
Подменю с образами для UEFI
При загрузки образа для UEFI нас спросят, действительно ли мы хотим переписать таблицу разделом флешки? Жмем Enter
А вот так выглядит загрузчик любого образа для UEFI. Инструкция по возвращению в главное меню ниже.
Грузимся в биосе, выбираем нужный UEFI образ, переключаем UEFI обратно и получаем флешку с одним разделом, содержащим файлы этого образа. Соответственно, если данный образ поддерживает загрузку в UEFI — он появится в списке устройств, с которых можно загрузиться.
Внимание! Если Вы загружались с образов, подготовленных для UEFI, то Вы заметите, что при следующей загрузке с накопителя будет меню загрузки с того самого образа. А где же все те, что мы набросали на флешку? Да и файлы на флешке не те… Тут два варианта — из загрузчика выбрать верхний пункт EASY2BOOT или в ОС запустить с флешки скрипт e2bRestoreE2B (run as admin).cmd.
В сухом остатке
Без минусов не обошлось и тут — приходится переключаться в биос для того, чтобы подключить нужный образ. Зато функционал данного набора утилит закрывает все мыслимые и немыслимые потребности в мультизагрузочной флешке.
Информация с сайта разработчиков
- www.easy2boot.com/faq-/how-e2b-works/
- www.easy2boot.com/make-an-easy2boot-usb-drive/
- www.easy2boot.com/add-payload-files/
- www.easy2boot.com/add-payload-files/makepartimage/
- www.easy2boot.com/add-payload-files/adding-uefi-images/
- www.easy2boot.com/add-payload-files/adding-windows-install-isos-without-needing-a-helper-flash-drive/
Автор: xxxTy3uKxxx