Multiboot, UEFI, NTFS или почти рецепт счастья
Пост написан по мотивам публикации Живительная флешка.ПредисловиеДоброго времени суток, Хабр. Совсем недавно, читая Хабр, наткнулся на статью Живительная флешка, где был описан способ создания мультизагрузочной флешки с набором полезных утилит, разнообразных систем и т.д. И все бы ничего, да вот и тут зарыта собака — обратим внимание на эту ветку комментариев, в которой обсуждается работоспособность мультизагрузки в системах с 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 Скриншоты
Грузимся в биосе, выбираем нужный UEFI образ, переключаем UEFI обратно и получаем флешку с одним разделом, содержащим файлы этого образа. Соответственно, если данный образ поддерживает загрузку в UEFI — он появится в списке устройств, с которых можно загрузиться.Внимание! Если Вы загружались с образов, подготовленных для UEFI, то Вы заметите, что при следующей загрузке с накопителя будет меню загрузки с того самого образа. А где же все те, что мы набросали на флешку? Да и файлы на флешке не те… Тут два варианта — из загрузчика выбрать верхний пункт EASY2BOOT или в ОС запустить с флешки скрипт e2b\RestoreE2B (run as admin).cmd.
В сухом остатке Без минусов не обошлось и тут — приходится переключаться в биос для того, чтобы подключить нужный образ. Зато функционал данного набора утилит закрывает все мыслимые и немыслимые потребности в мультизагрузочной флешке.Информация с сайта разработчиков