Установить загрузчик на флешку

Возникла необходимость установить Linux.
Бегать за «болванкой» как-то надоело.
Решил поставить с флешки.
Нашел достаточно простой вариант описанный в статье МУЛЬТИЗАГРУЗОЧНАЯ ФЛЕШКА. СОЗДАНИЕ ЗАГРУЗОЧНОЙ ФЛЕШКИ USB MULTIBOOT.
Мультизагрузочная флешка (usb multiboot) – это многоцелевой инструмент, представленный в виде USB носителя и предназначенный для работы с компьютером без использования операционной системы.
Мультизагрузочная флешка позволяет загрузиться и протестировать компьютерное «железо», разбить жесткий диск на разделы или загрузить Live CD, установить ОС и т.д.
Для того чтобы всё это сделать надо:1. скачать архив usb_multiboot.zip с сайта wa7.ru или с моего архива

2. ПК с ОС Windows 3. Конечно же flash и выполнение инструкций в этом руководстве
И так с помощью этого набора утилит можно создать мультизагрузочную флешку, содержащую MemTest86 и т.д., а также легко можно будет добавить на флешку другие сборки и реаниматоры и инсталяторы ОС. Загрузка сделана с помощью загрузчика GRUB (GRand Unified Bootloader).
Приступим. 1. Форматируем USB-FLASH с помощью Format_usb.exe (файловую систему можно выбрать любую, а в device выбрать свою флешку).
Примечание: у меня в конце форматирования выдало ошибку, пришлось отформатировать стандартными средствами «Мой компьютер» -> Правой кнопкой мыши на фашей флешке-> выбираем «Форматировать…». Форматируем 🙂
2. Запускаем GUI-GRUB-INSTALL.exe, отмечаем точкой Disk, выбираем свой USB-FLASH диск и жмём кнопочку «Install»

3. Копируем в корневой каталог нашей будущей мультизагрузочной флешки, следующие файлы:
grldr, menu.lst, bootfont.bin и memtest.img Эти файлы есть в архиве.
На этом наш первый usb multiboot готов! И теперь начинается самое интересное – редактирование файла menu.lst с помощью обычного блокнота.

Содержимое файла menu.lst

timeout 30 default /default title Alkid Live CD find —set-root /minint/setupldr.bin chainloader /minint/setupldr.bin title MemTest86+ v2.11 find —set-root /Memtest.img map —mem /Memtest.img (fd0) map —hook chainloader (fd0)+1 title SanBuild — 2009 — OK find —set-root /SanBuild.iso map /SanBuild.iso (0xff) || map —mem /SanBuild.iso (0xff) map —hook chainloader (0xff) title Zalil XP find —set-root /WINDOWS_XP_PRO_SP3_RUS_ORIGINAL_2009_LEX.ISO map /WINDOWS_XP_PRO_SP3_RUS_ORIGINAL_2009_LEX.ISO (0xff) || map —mem /WINDOWS_XP_PRO_SP3_RUS_ORIGINAL_2009_LEX.ISO (0xff) map —hook chainloader (0xff) title boot NTLDR of Windows NT/2K/XP map (hd0) (hd1) map (hd1) (hd0) map —hook find —set-root /ntldr chainloader /ntldr title boot BOOTMGR of Windows VISTA map (hd0) (hd1) map (hd1) (hd0) map —hook find —set-root /bootmgr chainloader /bootmgr title boot floppy chainloader (fd0)+1 rootnoverify (fd0) savedefault —wait=2 title boot CD cdrom —init map —hook chainloader (cd0) title reboot savedefault —wait=2 reboot Параметры файла menu.lst
Timeout — означает сколько времени будет отображаться загрузочное меню в секундах.
Title – это просто название пункта меню, можно писать все что угодно это Ваше желание.

Дальше идет путь к файлу, который будет загружаться при выборе этой позиции в загрузочном меню.
Например: чтобы подключить в меню еще какой нибуть образ диска
1. Надо просто скопировать вот эту секцию
title «Моя первая мультизагрузочная флешка usb multiboot» find –set-root /имя файла образа.iso map /имя файла образа.iso (0xff) || map –mem /имя файла образа.iso (0xff) map –hook chainloader (0xff) 2. Добавить секцию в файл menu.lst.
Сохранить и конечно же скопировать этот образ в корень флешки.
После внесенных изменений и после первой перезагрузки на экране должны появиться (в зависимости от настройки menu.lst) следующие пункты:
1 Live CD 2 MemTest86+ v2.11 3 Acronis 4 boot NTLDR of Windows NT/2K/XP 5 boot BOOTMGR of Windows VISTA 6 boot floppy 7 boot CD 8 reboot Советую пункты с 4 по 8 не удалять так как эти пункты бывают время от времени нужны.
Пункт 4 и 5 это загрузчики ОС WIN XP и WIN VISTA (возможно и для WIN SEVEN подойдет 5 пункт, просто не проверял)
Еще чтобы у Вас на флешке был Live CD надо найти диск с Live CD или скачать образ с интернета распаковать его или открыть и скопировать файл ntdetect.com в корневой каталог флешки (находится он в папке I386).
Скопировать папку I386 и PROGRAMS в корневой каталог флешки и переименовать I386 в miniNT.
В качестве Live Cd можно попробовать Alkid Live CD.
Еще один момент подключайте все что можете, только не подключайте установочные образы с Windows, т.к. при загрузке выдается ошибка,
Я бы посоветовал сделать флешку с acronisом, Hiren´s Boot CD, ERD Commander, Live CD и т.д
Все на этом наша мультизагрузочная флешка полностью готова.
P.S. Не бойтесь экспериментировать, Вы от этого только больше опыта наберетесь

Статья изменена 02.02.2013:
Добавлен пример загрузки WinPE на примере HBCD. Поправлены ссылки. У нас уже есть флешка с записанным на нее загрузчком Grub4Dos. Но мы не знаем как с ним работать. На самом деле это не так трудно. И зачастую загрузка той или иной загрузочной программы сводиться лишь к редактированию пункта ее загрузки в menu.lst.
Я надеюсь, что вы все-таки, хоть как то, но ознакомились с Руководством по Grub4dos.
Первое что мы сделаем, это избавимся от menu.lst, т.е. очистим полностью его содержимое =). В дальнейшем будет лучше самому добавить то что надо, и так как тебе надо, и не лицезреть это разноцветное меню.
Потом добавим наиболее распространенные пункты меню, такие как перезагрузка, выключение, загрузка с флоппи-диска, загрузка с CD-ROM, загрузка с жесткого диска, и загрузка Windows.
Затем познакомимся с запуском программ из загрузочных образов на примере небольших утилит предназначенных для тестирования RAM и HDD на предмет неисправностей, а именно Memtest86+ и Victoria. Узнаем как грузиться из .ISO образа. Покажу как загрузить WinPE (на примере Hiren’s BootCD 15.1)
Все операции по редактированию menu.lst будем проводить в обычном текстовом редакторе, я предпочитаю AkelPad, чего и вам советую (будет меньше проблем с кодировкой, и переносом строк в Unix, нежели со стандартным «Блокнотом» Windows).

А теперь обо всем подробней.
1. Откроем через AkelPad menu.lst и удаляем все содержимое.
2. Добавим пункт меню «Загрузка с жесткого диска HD0»:
Примечание: если выбрать этот пункт, то скорей всего произойдет загрузка нашей флешки, так и должно быть, но многое зависит от вашего BIOS.
title Boot HDD0
chainloader (hd0)+1
rootnoverify (hd0) 3. Добавим аналогично пункт меню «Загрузка с жесткого диска HD1»:
title Boot HDD1
chainloader (hd1)+1
rootnoverify (hd1) 4. Добавим пункт меню «Загрузка с CD0»:
title Boot CD0
cdrom —init
map —hook
chainloader (cd0) 5. Ну и просто, вдруг понадобится «Загрузка с floppy»:
title Boot Floppy
chainloader (fd0)+1
rootnoverify (fd0) 6. Добавим пункт меню «Перезагрузка ПК»:
title Reboot
reboot 7. Добавим пункт меню «Выключение ПК»:
title Shutdown
halt 8. Добавим пункт меню «Поиск и загрузка Windows NT/2000/XP»:
title Find and load NTLDR of Windows NT/2K/XP
find —set-root —ignore-floppies —ignore-cd /ntldr
map () (hd0)
map (hd0) ()
map —rehook
find —set-root —ignore-floppies —ignore-cd /ntldr
chainloader /ntldr 8. Добавим пункт меню «Поиск и загрузка Windows Vista/7/8»:
title Find and load BOOTMGR of Windows VISTA/7/8
find —set-root —ignore-floppies —ignore-cd /bootmgr
map () (hd0)
map (hd0) ()
map —rehook
find —set-root —ignore-floppies —ignore-cd /bootmgr
chainloader /bootmgr 9. Разместим, как удобней. Посмотрим что получилось:

10. Проверим наше меню в деле. Запускаем MobaLiveCD. (п.13). Видим примерно следующее:

11. Можно попробовать попереходить по пунктам, посмотреть возникающие ошибки :).
12. Закрываем MobaLiveCD.
13. Переходим к добавлению программы Memtest86+. Скачиваем файл MEMTEST.IMG. Переносим его на флешку.
14. Добавляем пункт меню «Memtest86+ 4.20»:
title Memtest86+ 4.20
map —mem /MEMTEST.IMG (fd0)
map —hook
chainloader (fd0)+1
rootnoverify (fd0)
map —floppies=1
boot 15. Пробуем запуститься через MobaLiveCD.

Пару слов о том, что такое Memtest86+, и зачем она нужна. При подозрениях на какую-либо неисправность ПК, в которой может быть виновата оперативная память, первым делом я запускаю Memtest и проверяю ей память. Если после полного цикла тестов (поле Pass — выделено зеленым), никаких ошибок (поле Errors- выделено красным) не обнаружено, значит оперативная память исправна.
16. Теперь перейдем к запуску программы для тестирования жесткого диска Victoria 3.52. Скачиваем ее. Переносим скачанный файл Victoria-v.3.52.3.ima на флешку.
17. Добавляем пункт меню «Victoria 3.52 DOS»:
title Victoria 3.52 DOS
map —mem /Victoria-v.3.52.3.ima (fd0)
map —hook
chainloader (fd0)+1
rootnoverify (fd0)
map —floppies=1
boot 18. Пробуем запуститься через MobaLiveCD.

Прежде чем пользоваться данной утилитой следует почитать документацию на сайте автора. можно найти пошаговую инструкцию по работе с ней. Ну и если интересно, что такое bad-сетор и как их устранить, можно почитать , , или .
19. Теперь перейдем к запуску Hiren’s BootCD с флешки. Скачиваем ISO-образ диска нужной версии. У меня версия 15.1. Достаем из образа папку «HBCD» и кладем ее в корень флешки.

20. Добавляем пункт меню «Hiren’s BootCD 15.1»:
title Hiren’s BootCD 15.1
configfile /HBCD/menu.lst 21. Пробуем запуститься через MobaLiveCD.

22.Дополнительно добавим пункт загрузки Mini Windows Xp из HBCD в наше меню.
title Mini Windows Xp HBCD
chainloader /HBCD/XP/XP.BIN Вот так мы научились загружаться с образов дисков и дискет, с помощью прямого маппинга в память.
Общий случай загрузки XXX.ima (XXX.img) следующий:
title XXX.ima
map —mem /XXX.ima (fd0)
map —hook
chainloader (fd0)+1
rootnoverify (fd0)
map —floppies=1
boot С загрузкой из образа CD-диска (.ISO) немного трудней.
Общий случай загрузки XXX.iso следующий:
title XXX.iso
map /XXX.iso (0xff) || map —mem /XXX.iso (0xff)
map —hook
chainloader (0xff) Общий случай загрузки WinPE следующий (где XXX.BIN — загрузчик WinPE):

Универсальное меню загрузчика Груб (Grub) menu.lst для PuppyRus

Загрузчик Груб ищет файл menu.lst по очереди в /menu.lst, /boot/grub/menu.lst, /grub/menu.lst
* Решётки экранируют коментарии — # вспомогательный текст, игнорируется программой.

Код загрузочной записи в menu.lst, в следующем примере для ПР_15-12

title PuppyRus-Icewm_15-12 HOPM. (pfix=fsck) # тоже рабочий вариант (правильно указывать каталог установки ПРА, здесь указан каталог «pra») find —set-root —ignore-floppies —ignore-cd /PuppyRus-Icewm_15-12/initrd.gz rootnoverify (hd0,2) /PuppyRus-Icewm_15-12/ kernel /PuppyRus-Icewm_15-12/vmlinuz pmedia=atahd psubdir=PuppyRus-Icewm_15-12 pfsdir=/PuppyRus-Icewm_15-12/packages pfix=fsck initrd /PuppyRus-Icewm_15-12/initrd.gz title PuppyRus-Icewm_15-12 B O3У find —set-root —ignore-floppies —ignore-cd /PuppyRus-Icewm_15-12/initrd.gz # тоже рабочий вариант (правильно указывать каталог установки ПРА, здесь указан каталог «pra») rootnoverify (hd0,2) /PuppyRus-Icewm_15-12/ kernel /PuppyRus-Icewm_15-12/vmlinuz pmedia=atahd psubdir=PuppyRus-Icewm_15-12 pfsdir=/PuppyRus-Icewm_15-12/packages pfix=ram initrd /PuppyRus-Icewm_15-12/initrd.gz

Код загрузочной записи в menu.lst, в следующем примере для pra03-1808-fat

title pra03-1808-fat c жocткoгo c coxpaнением в каталоге СОХР # тоже рабочий вариант (правильно указывать каталог установки ПРА, здесь указан каталог «pra») find —set-root —ignore-floppies —ignore-cd /pra/initrd.xz rootnoverify (hd0,3) /pra03-1808-fat/initrd.xz kernel /pra03-1808-fat/vmlinuz-4.4.1-pf3 dir=pra03-1808-fat changes=/pra03-1808-fat/coxp/ initrd /pra03-1808-fat/initrd.xz title pra03-1808-fat c жocткoгo с сохранением B БA3E # тоже рабочий вариант (правильно указывать каталог установки ПРА, здесь указан каталог «pra») find —set-root —ignore-floppies —ignore-cd /pra/initrd.xz rootnoverify (hd0,3) /pra03-1808-fat/initrd.xz kernel /pra03-1808-fat/vmlinuz-4.4.1-pf3 dir=pra03-1808-fat initrd /pra03-1808-fat/initrd.xz title pra03-1808-fat c жocткoгo в O3y модули 001* и 070*, без сохранения и подкачки #set d=pra #kernel /%d%/vmlinuz-4.8.10-pf8 dir=%d% quiet copy2ram noswap #initrd /%d%/initrd.xz # строки выше не сработали, возможно из-за ранней версии грубдос rootnoverify (hd0,3) /pra03-1808-fat/initrd.xz kernel /pra03-1808-fat/vmlinuz-4.4.1-pf3 dir=pra03-1808-fat quiet copy2ram rammod=001;070 noswap initrd /pra03-1808-fat/initrd.xz

Код загрузочной записи в menu.lst, в следующем примере для pra-roll-180101-gtk3-03

title pra-roll-1806-gtk3-01 c жocткoгo c coxpaнением в каталоге СОХР # тоже рабочий вариант (правильно указывать каталог установки ПРА, здесь указан каталог «pra») find —set-root —ignore-floppies —ignore-cd /pra/initrd.xz rootnoverify (hd0,3) /pra-roll-1806-gtk3-01/initrd.xz kernel /pra-roll-1806-gtk3-01/vmlinuz-4.15.4-pf_64 dir=pra-roll-1806-gtk3-01 changes=/pra-roll-1806-gtk3-01/coxp/ initrd /pra-roll-1806-gtk3-01/initrd.xz title pra-roll-1806-gtk3-01 c жocткoгo с сохранением B БA3E # тоже рабочий вариант (правильно указывать каталог установки ПРА, здесь указан каталог «pra») find —set-root —ignore-floppies —ignore-cd /pra/initrd.xz rootnoverify (hd0,3) /pra-roll-1806-gtk3-01/initrd.xz kernel /pra-roll-1806-gtk3-01/vmlinuz-4.15.4-pf_64 dir=pra-roll-1806-gtk3-01 initrd /pra-roll-1806-gtk3-01/initrd.xz title pra-roll-1806-gtk3-01 c жocткoгo в O3y модули 001* и 070*, без сохранения и подкачки #set d=pra #kernel /%d%/vmlinuz-4.8.10-pf8 dir=%d% quiet copy2ram noswap #initrd /%d%/initrd.xz # строки выше не сработали, возможно из-за ранней версии грубдос rootnoverify (hd0,3) /pra-roll-1806-gtk3-01/initrd.xz kernel /pra-roll-1806-gtk3-01/vmlinuz-4.15.4-pf_64 dir=pra-roll-1806-gtk3-01 quiet copy2ram rammod=001;070 noswap initrd /pra-roll-1806-gtk3-01/initrd.xz

Содержимое рабочего варианта menu.lst в целом виде можебыть подобным, в коде уточняются диски и каталоги:

# меню для Grub4Dos версия 0.4.4 # в виндосы хр-7, линухи, ремблок 2017-0410 # цвета меню:текст/фон до и после выделения ## с применённымифайлами настроек #/mnt/sda1/Boot/grub/nastrojki_menu/pupirus/pictures/PUPPYRUS.gz и #/mnt/sda1/Boot/grub/nastrojki_menu/pupirus/unifont/unifont-rus.hex.gz ## не работают #color black/light-blue white/light-blue default /default # умолчание загрузки с пункта, отмеченного ниже «savedefault» timeout 10 # фоновый рисунок и стиль при загрузке Папи Линукс gfxmenu /Boot/grub/nastrojki_menu/pupirus/pictures/PUPPYRUS.gz /Boot/grub/nastrojki_menu/pupirus/unifont/unifont-rus.hex.gz #строки настроек рисунка и стиля экрана с реаниматорского диска #default /default #gfxmenu (hd0,0)/Boot/mammatus.xpm — строка из настроек ремонтного диска, её отсутствие не сказывается на работе юэсбэ-носителя title поиск загрузчика ОС ntldr (C:/ Boot Windows NT/2K/XP) find —set-root /ntldr chainloader /ntldr title Винд Vista, 7 # тоже рабочий вариант следующей строки (найти диск на ПК с файлом-загрузчиком «bootmgr7» в корневом каталоге) find —set-root —ignore-floppies —ignore-cd /bootmgr7 rootnoverify (hd0,0) /bootmgr7 chainloader /bootmgr7 title PEMOHT lock find —set-root /boot/Remont/podmenu.lst configfile /boot/Remont/podmenu.lst #————- линукс (папирус) # меню лист для пра03-1612 title pra03-1612-middle c жocткoгo с сохранением истории # тоже рабочий вариант (правильно указывать каталог установки ПРА, здесь указан каталог «pra») find —set-root —ignore-floppies —ignore-cd /pra/initrd.xz rootnoverify (hd0,2) /pra03-1612-middle/ kernel /pra03-1612-middle/vmlinuz-4.8.10-pf8 dir=pra03-1612-middle changes=/pra03-1612-middle/coxp/ initrd /pra03-1612-middle/initrd.xz title pra03-1612-middle c жocткoгo с сохранением в базе # тоже рабочий вариант (правильно указывать каталог установки ПРА, здесь указан каталог «pra») find —set-root —ignore-floppies —ignore-cd /pra/initrd.xz rootnoverify (hd0,2) /pra03-1612-middle/ kernel /pra03-1612-middle/vmlinuz-4.8.10-pf8 dir=pra03-1612-middle initrd /pra03-1612-middle/initrd.xz title pra03-1612-middle c жocткoгo в озу, без сохранения и подкачки # тоже рабочий вариант rootnoverify (hd0,2) /pra03-1612-middle/ find —set-root —ignore-floppies —ignore-cd /pra03-1612-middle/initrd.xz kernel /pra03-1612-middle/vmlinuz-4.8.10-pf8 dir=pra03-1612-middle copy2ram noswap quiet initrd /pra03-1612-middle/initrd.xz # меню лист для PuppyRus title PuppyRus 13-12 Большой (pfix=fsck) rootnoverify (hd0,2) /PuppyRus_13-12-Big/initrd.gz kernel /PuppyRus_13-12-Big/vmlinuz pmedia=idehd psubdir=PuppyRus_13-12-Big pfsdir=/PuppyRus_13-12-Big/packages pfix=fsck initrd /PuppyRus_13-12-Big/initrd.gz savedefault title PuppyRus 13-12 B O3У (pfix=ram) rootnoverify (hd0,2) /PuppyRus_13-12-Big/initrd.gz kernel /PuppyRus_13-12-Big/vmlinuz pmedia=idehd psubdir=PuppyRus_13-12-Big pfsdir=/PuppyRus_13-12-Big/packages pfix=ram initrd /PuppyRus_13-12-Big/initrd.gz title PuppyRus-Icewm_15-12 HOPM. (pfix=fsck) # тоже рабочий вариант (правильно указывать каталог установки ПРА, здесь указан каталог «pra») find —set-root —ignore-floppies —ignore-cd /PuppyRus-Icewm_15-12/initrd.gz rootnoverify (hd0,2) /PuppyRus-Icewm_15-12/ kernel /PuppyRus-Icewm_15-12/vmlinuz pmedia=atahd psubdir=PuppyRus-Icewm_15-12 pfsdir=/PuppyRus-Icewm_15-12/packages pfix=fsck initrd /PuppyRus-Icewm_15-12/initrd.gz title PuppyRus-Icewm_15-12 B O3У find —set-root —ignore-floppies —ignore-cd /PuppyRus-Icewm_15-12/initrd.gz # тоже рабочий вариант (правильно указывать каталог установки ПРА, здесь указан каталог «pra») rootnoverify (hd0,2) /PuppyRus-Icewm_15-12/ kernel /PuppyRus-Icewm_15-12/vmlinuz pmedia=atahd psubdir=PuppyRus-Icewm_15-12 pfsdir=/PuppyRus-Icewm_15-12/packages pfix=ram initrd /PuppyRus-Icewm_15-12/initrd.gz title PuppyRus 13-11 HOPM. (pfix=fsck) rootnoverify (hd0,0) /L/PuppyRus_13-11/initrd.gz kernel /L/PuppyRus_13-11/vmlinuz pmedia=idehd psubdir=L/PuppyRus_13-11 pfsdir=/L/PuppyRus_13-11/packages pfix=fsck initrd /L/PuppyRus_13-11/initrd.gz title PuppyRus 13-11 B O3У (pfix=ram) rootnoverify (hd0,0) /L/PuppyRus_13-11/initrd.gz kernel /L/PuppyRus_13-11/vmlinuz pmedia=idehd psubdir=L/PuppyRus_13-11 pfsdir=/L/PuppyRus_13-11/packages pfix=ram initrd /L/PuppyRus_13-11/initrd.gz title PuppyRus 13-11 KOMAH. CTPOKA (pfix=nox) rootnoverify (hd0,0) /L/PuppyRus_13-11/initrd.gz kernel /L/PuppyRus_13-11/vmlinuz pmedia=idehd psubdir=L/PuppyRus_13-11 pfsdir=/L/PuppyRus_13-11/packages pfix=nox initrd /L/PuppyRus_13-11/initrd.gz title PuppyRus 13-11 ПИТОН HOPM. (pfix=fsck) # находит по пути «PuppyRus/PuppyRus-13-11», сканируявсе имеющиеся носители find —set-root —ignore-floppies —ignore-cd /PuppyRus/PuppyRus-13-11/initrd.gz kernel /PuppyRus/PuppyRus_13-11/vmlinuz pmedia=usbflash psubdir=PuppyRus/PuppyRus-13-11 pfsdir=/PuppyRus/PuppyRus_13-11/packages pfix=fsck initrd /PuppyRus/PuppyRus_13-11/initrd.gz #————- title Grub4Dos commandline\n(только специалистам) commandline #————- откат title поиск загрузчика Груб grldr (NT,ХР) find —set-root /grldr chainloader /grldr title поиск любого загрузчика root (hd0,0) root (hd0,0) chainloader +1 title Винд Vista, 7 # тоже рабочий вариант следующей строки (найти диск на ПК с файлом-загрузчиком «bootmgr7» в корневом каталоге) find —set-root —ignore-floppies —ignore-cd /bootmgr7 rootnoverify (hd0,0) /bootmgr7 chainloader /bootmgr7 #————- выход title TIEPE3ATIYCK (перезапуск) reboot title BbIK/II-O4EНI/IE (выключение) halt

Команды Grub4dos

Файл конфигурации Grub4dos состоит из команд (неполный список)

# комментарий — знак решётки — указание загрузчику не обрабатывать строку boot — передача управления ядру, загруженному командой kernel или «следующему» загрузчику, по команде chainloader color light-gray/black yellow/green light-cyan/black light-green/black — задаёт цвета меню cat — выводит на экран содержимое файла cmp — сравнивает содержимое двух файлов chainloader /ntldr — передает управление загрузчику, в примере /ntldr chainloader (hd0)+1 — передает управление на загрузочный сектор устройства (hd0) chainloader +1 — передает управление на загрузочный сектор корневого устройства configfile /cfg/next.lst — открывает файл конфигурации, перейти в субменю default 0 — установка пункта меню по умолчанию, выполняемого по истечении таймаута fallback 1 — установка пункта меню выполняемого, если невозможна загрузка по умолчанию find —set-root /file — поиск файла и установка раздела на котором он расположен в качестве корневого halt — выключение рабочей станции help — вывод подсказки для команды gfxmenu /boot/message33.gz — установка фоновой графической картинки, оно же русификация меню lock — блокировка выполнения команд для пользователя не указавшего пароль команды password quit — выход из GRUB, в DOS makeactive — установка флага АКТИВНЫЙ на раздел диска, выбранный командой root map (hd0) (hd1) — «свопирование» разделов для обеспечения возможности загрузки windows со второго и последующих дисков map (hd1) (hd0) timeout 20 — установка времени в секундах до выполнения команды следующей команды title Boot Name — название пункта меню testvbe MODE — тестирование режима MODE видеоадаптера password abcd — установка пароля, при достижении команды требует ввода пароля pause — ожидание нажатия клавиши partnew — создание первичного раздела partype — изменение типа раздела rootnoverify (hd0,0) — отмена проверки тип файловой системы диска выбранного командой root root (hd0,1) — выбор корневого (текущего) диска reboot — перезагрузка рабочей станции hide — скрытие раздела жёсткого диска unhide — отменяет скрытие раздела жёсткого диска vbeprobe — определение и вывод доступных режимов видеоадаптера

Эти же директивы могут быть использованы в командной оболочке загрузчика, вызываемой при запущенном меню клавишей C.

Ссылки:

  • Что такое GRUB4dos и с чем его едят, или как сделать флешку загрузочной
  • Конфигурация файла Меню

Загрузка ISO-образов в Grub4dos

Grub4dos поддерживает загрузку систем расположенных на ISO-образах, как прямо с жёсткого диска, так и предварительно перемещая их в оперативную память. В этом смысле Grub4dos выгодно отличается от других загрузчиков семейства Grub. Загрузка с ISO-образов может быть востребована для восстановления или обслуживания системы, например с помощью ERD Commander.

Для добавления в Grub4dos загрузки с ISO-образа

  • ISO-образ CD-диска размещается в доступном месте жёсткого диска

Внимание! следует помнить, что : если ISO-образ размещается в оперативной памяти компьютера — то ОЗУ компьютера должно быть больше, чем загружаемый ISO-образ если ISO-образ «загружается» с жёсткого диска — то он должен быть непрерывным (не содержать фрагментов) и не быть сжатым

  • в файл меню Grub4dos C:\menu.lst добавляются например строки

title Boot from ISO find —set-root /<ПОЛНОЕ_ИМЯ_ОБРАЗА>.iso map —sectors-per-track=0 —heads=0 /<ОБРАЗ>.iso (0xff) || map —sectors-per-track=0 —heads=0 —mem /<ОБРАЗ>.iso (0xff) map —hook chainloader (0xff) boot

Ссылки:

  • Команда «MAP»
  • boot from iso, grub
  • Boot iso?
  • chainloading в iso

Загрузка Grub4dos «по цепочке»

Для использования Grub4dos нет необходимости устанавливать его основным загрузчиком жёсткого диска. Grub4dos может быть внедрён в системах Linux и Windows путём организации загрузки «по цепочке».

Загрузка Grub4dos из ntldr

Ntldr это загрузчик операционных систем Windows NT/2000/XP и Windows Server 2000/2003. Для организации загрузки «по цепочке» используется специальный файл grldr.

Для загрузки Grub4dos из NTLDR

  • загрузчик grldr размещается в доступном месте, например в корне диска C:\

Внимание! В сжатой ntfs-системе можно деактивировать сжатие файла grldr.

  • создаётся конфигурации меню C:\menu.lst
  • в меню загрузчика ntldr C:\boot.ini добавляется строка с пунктом загрузки

C:\GRLDR=»Grub4dos Start»

Ссылки:

  • Установка загрузчика Grub4dos
  • Установка Grub4Dos на жесткий диск

Загрузка Grub4dos из Bootmgr

Bootmgr это загрузчик операционных систем Windows Vista/7/8. Для организации загрузки «по цепочке» используется специальный файл grldr.mbr.

Для загрузки Grub4dos из Bootmgr

  • файлы загрузчика Grub4dos — grldr.mbr и grldr — размещаются в доступном месте, например в корне диска C:\

Внимание! В сжатой ntfs-системе можно деактивировать сжатие файлов grldr.mbr и grldr.

  • создаётся меню загрузчика Grub4dos — C:\menu.lst
  • запускается командная строка Windows от имени Администратора, например так

> runas /user:Администратор cmd.exe

  • в открывшемся окне выполняются команды

> bcdedit /create /d «Grub4Dos» /application bootsector — создание новой записи с именем «Grub4Dos» в хранилище данных конфигурации загрузки > set store={id} — {id} это идентификатор созданной записи, выданный первой командой > bcdedit /set %store% device partition=C: — указание раздела на котором находится файл grldr.mbr > bcdedit /set %store% path \grldr.mbr — ввод имени файла > bcdedit /displayorder %store% /addlast — (при необходимости) смещение новой записи в конец меню Дополнительно могут быть использованы команды > bcdedit — просмотр параметров всех установленных пунктов меню > bcdedit /set {id} description «Новое название» — изменение названия записи с указанным {id} > bcdedit /default {id} — задание системы с указанным {id} загружаемой по умолчанию > bcdedit /timeout XX — задание времени показа меню перед загрузкой (в секундах) > bcdedit /delete {id} — удаление записи с указанным {id}

Загрузка Grub4dos из Grub2

Grub4dos поддерживает загрузку «по цепочке» из загрузчика Grub2 — так называемое «Grub to Grub».

Для загрузки Grub4dos «по цепочке» из Grub2 на примере Debian

  • в файл конфигурации Grub2 /etc/grub.d/40_custom добавляется секция

menuentry «Grub4Dos» —class gnu-linux { linux16 /boot/grub4dos/grub.exe —config-file=/boot/grub4dos/menu.lst }

  • обновляется файл конфигурации Grub2

# update-grub

Ссылки:

  • Загрузка GRUB4DOS из GRUB2

menu.lst — примеры использования меню grub4dos

Для начала мы должны иметь флешку или внешний жесткий диск с установленным на него загрузчиком grub4dos, если еще не имеем, то перейдем к руководству, как это сделать — http://nikiton21.ru/blog/post/bootice-flash

И естесственно закинем все необходимые файлы для загрузки — http://nikiton21.ru/blog/post/grub4dos-google

Для надежности можно проверить работоспособность загрузчика — http://nikiton21.ru/blog/post/grub4dos-load-test

Можно начинать, примеры использования menu.lst ниже:

Файл menu.lst начинается с данных строк:

timeout 30 default /default gfxmenu (hd0,0)/gfxmenu

где таймаут — это задержка перед выполнением пункта (если не нажать клавишу), дефолт — он везде дефолт, а вот третий пункт интереснее — он содержит графическое окружение. Без него наш grub будет работать в консольном режиме — разницы, практически, никакой, но мне приятнее смотреть на графический интерфейс + таким образом я получаю возможность отображения кириллицы в пунктах меню. hd0,0 — это всегда то устройство, с которого осуществляется загрузка.

Картинка splashimage grub4dos

splashimage /menu/pic/main.xpm.gz

Свой шрифт меню grub4dos

/menu/fonts/graphfont /menu/fonts/8x16_866.psf

Установка цвета меню grub4dos

color black/cyan yellow/cyan

Установка по умолчанию пункта меню

#default /windefault default 2

Раз уж пошла речь про разделение, то давайте создадим подменю, специально для разных разрядностей наших образов семерки. На флешке уже должен быть файл menu_win7.lst — ознакомившись с его структурой, вы сами поймете что к чему. Но как к нему перейти? Магическая строка в menu.lst творит чудеса

title Установка Windows 7 SP1 (x86-x64, RUS-ENG) find —set-root /menu/menu_win7.lst configfile /menu/menu_win7.lst

Ниже меню для прямой загрузки с ISO образа без записи в память ПК образа

title Загрузка Windows 7 PE (Live CD) map /IMG/WIN7PE.ISO (hd32) map (hd0) (hd1) map (hd1) (hd0) map —hook chainloader (hd32)

Сразу хочется предупредить про hd32 — это для образов, объемом менее 4 гб 0xff — я так понимаю что с поддержкой файлов более 4 гб.

Загрузка с дискеты, floppy дисковода

title Загрузка с дискеты chainloader (fd0)+1 rootnoverify (fd0) savedefault —wait=2

Загрузка с CD/DVD-рома

title Загрузка с CD/DVD cdrom —init map —hook chainloader (cd0)

Перезагрузка

title Перезагрузка savedefault —wait=2 reboot

Выключение

title Выключение halt

Найти и загрузить NTLDR загрузчик Windows NT/2K/XP

title Загрузчик NTLDR (NT/2K/XP) find —set-root —ignore-floppies —ignore-cd /ntldr map () (hd0) map (hd0) () map —rehook find —set-root —ignore-floppies —ignore-cd /ntldr chainloader /ntldr savedefault —wait=2

Найти и загрузить BOOTMGR загрузчик Windows Vista/7/8

title Загрузчик BOOTMGR (Vista/7/8) find —set-root —ignore-floppies —ignore-cd /bootmgr map () (hd0) map (hd0) () map —rehook find —set-root —ignore-floppies —ignore-cd /bootmgr chainloader /bootmgr savedefault —wait=2

Найти и загрузить IO.SYS загрузчик Windows 9x/Me

title Загрузчик IO.SYS (9x/Me) find —set-root /io.sys chainloader /io.sys savedefault —wait=2

Установка Windows XP из ISO образа на загрузочном носителе (флешке, usb-hdd) — в 2 этапа. Образ грузится в память.

title 1.1 ->> XP setup from iso find —set-root /ISO/XP/XP.iso #map (hd0) (hd1) #map (hd1) (hd0) map —mem /ISO/img/firadisk.ima (fd1) map —mem (md)0x6000+800 (fd0) map /ISO/XP/XP.iso (0xfe) map —hook dd if=(fd1) of=(fd0) count=1 chainloader (0xff) title 1.2 ->> Continue XP setup find —set-root /ISO/XP/XP.iso #map (hd0) (hd1) #map (hd1) (hd0) map —mem /ISO/XP/XP.iso (0xff) map —hook chainloader (hd0)+1

Запуск Windows XP с 1 раздела

title Windows XP с 1 раздела ntldr/ntdetect.com won’t start if are not on first disk, first active partition, thus the mapping #map (hd0) (hd1) #map (hd1) (hd0) map —hook rootnoverify (hd0,0) chainloader /ntldr

Запуск Windows XP со 2 раздела

title Windows XP со 2 раздела ntldr/ntdetect.com won’t start if are not on first disk, first active partition, thus the mapping #map (hd0) (hd1) #map (hd1) (hd0) map —hook rootnoverify (hd0,1) chainloader /ntldr

Запуск Windows с HDD (первой попавшейся)

title Запуск Windows с HDD rootnoverify (hd0,0) chainloader (hd0,0)+1

Запуск установки Windows 7 c ISO образа с загрузочного носителся — потребуются дополнительные действия по монтированию образа при необходимости (Sift+F10 и т.д. ну народ в курсе) — Образ не грузится в память, как думают некоторые.

title Windows 7 install by nikiton21.ru map /ISO/L/nikiton21_live.iso (hd32) #map (hd1) (hd0) #map (hd0) (hd1) map —hook chainloader (hd32)

Запуск Aklid Live USB/CD (с распакованного)

title Aklid Live USB full 28.08.2010 find —set-root /minint/setupldr.bin chainloader /minint/setupldr.bin

Запуск Aklid Live USB/CD с ISO образа на диске — образ мапится в память

title Alkid Live CD USB full 2010.08.28 from iso map —mem /ISO/img/firadisk.gz (fd0) map —mem /ISO/L/alkid.live.cd.usb.full.2010.08.28.iso (hd32) map —hook chainloader (hd32)

Запуск Live USB/CD основанных на WIM — образы мапятся напрямую, не в память. (xalex, Sonya, VasAlex, zhuk, nikiton21)

title Live CD/USB WIM Edition map /ISO/L/Live.iso (hd32) map —hook chainloader (hd32)

Запуск систем с образов Floppy — дисководов

title Boot floppy MS-DOS 8.0 from Windows Melenium map —mem /ISO/L/winme.ima (fd0) map —hook chainloader (fd0)+1 rootnoverify (fd0)

Запуск Kaspersky Rescue live

title Kaspersky Rescue live 25.11.2010 map —mem /rescue/rescue.iso (hd32) map —hook chainloader (hd32)

Запуск Reset Windows Password

title Reset Windows Password SE map —mem /ISO/img/firadisk.gz (fd0) map —mem /ISO/L/rwps.iso (hd32) map —hook chainloader (hd32)

MemTest86+

title MemTest86+ 4.0 find —set-root /ISO/img/memtest.img map —mem /ISO/img/memtest.img (fd0) map —hook chainloader (fd0)+1

Victoria 3.52c ru

title Victoria 3.52c ru find —set-root —ignore-floppies /ISO/img/victoria.ima.gz map —mem /ISO/img/victoria.ima.gz (fd0) map —hook chainloader (fd0)+1 rootnoverify (fd0)

Установка Ubuntu-server 9.10 с ISO образа с флешки или usb-hdd — образ должен находиться в корне. Файлы для установки с ISO образов: boot.img.gz initrd.gz vmlinuz берутя отсюда: http://archive.ubuntu.com/ubuntu/dists/

title Ubuntu 9.10 (Karmic) Server X86 kernel /boot/karmic/i386/vmlinuz file=/cdrom/preseed/ubuntu-server.seed boot=install splash locale=ru_RU initrd /boot/karmic/i386/initrd.gz

Запуск Ubuntu Desctop и установка с ISO образа на флешке или usb-hdd

title Ubuntu 9.10 Desktop X86 Live find —set-root /ISO/U/ubuntu-9.10-desktop-i386.iso map /ISO/U/ubuntu-9.10-desktop-i386.iso (hd32) map —hook root (hd32) kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper persistent iso-scan/filename=/ISO/U/ubuntu-9.10-desktop-i386.iso splash locale=ru_RU initrd /casper/initrd.lz

Запуск консоли восстановления XP из ISO образа на флешке

title Windows XP Recovery RUS map —mem /ISO/img/firadisk.ima (fd0) map —mem /ISO/console/rcxpsp3.iso (hd32) map —hook chainloader (hd32) title Windows XP Recovery ENG find —set-root /ISO/console/RecoveryCD.iso map —mem /ISO/img/firadisk.ima (fd1) map —mem (md)0x6000+800 (fd0) map —mem /ISO/console/RecoveryCD.iso (0xff) map —hook chainloader (0xff)

Запуск консоли восстановления для Windows Vista & 7 из ISO образа на флешке

title Vista & 7 Recovery Disk map —mem (hd0,0)/ISO/console/Vista_7_Recovery_Disc.iso (hd32) map —hook chainloader (hd32)

Второй этап установки при установке методом winsetup from usb (также запуск Windows XP)

title Second part setup XP geometry (hd9) && configfile /BOOTWS/10.lst geometry (hd8) && configfile /BOOTWS/9.lst geometry (hd7) && configfile /BOOTWS/8.lst geometry (hd6) && configfile /BOOTWS/7.lst geometry (hd5) && configfile /BOOTWS/6.lst geometry (hd4) && configfile /BOOTWS/5.lst geometry (hd3) && configfile /BOOTWS/4.lst geometry (hd2) && configfile /BOOTWS/3.lst geometry (hd1) && configfile /BOOTWS/2.lst geometry (hd0) && configfile /BOOTWS/1.lst boot

Первый этап установки при установке методом winsetup from usb

title Windows XP setup 1 part map —unmap=0:0xff map —unhook map —mem (hd0,0)/WINSETUP/XPpSP3.ISO (0xff) savedefault 2 checkrange 0x00,0x01 read 0x8280 && configfile /BOOTWS/fd.lst geometry (hd9) && configfile /BOOTWS/10.lst geometry (hd8) && configfile /BOOTWS/9.lst geometry (hd7) && configfile /BOOTWS/8.lst geometry (hd6) && configfile /BOOTWS/7.lst geometry (hd5) && configfile /BOOTWS/6.lst geometry (hd4) && configfile /BOOTWS/5.lst geometry (hd3) && configfile /BOOTWS/4.lst geometry (hd2) && configfile /BOOTWS/3.lst geometry (hd1) && configfile /BOOTWS/2.lst geometry (hd0) && configfile /BOOTWS/1.lst boot map —unmap=0:0xff map —unhook

Установка Mandriva с распакованного дистрибутива

title Mandriva Install kernel (hd0,0)/boot/vmlinuz root=/dev/ram3 vga=791 initrd (hd0,0)/boot/all.rdz

Вот еще:

title Victoria 3.5 (RUS) map /IMG/VICTORIA.ISO (hd32) map (hd0) (hd1) map (hd1) (hd0) map —hook chainloader (hd32) title mHDD 4.6 map /IMG/MHDD.ISO (hd32) map (hd0) (hd1) map (hd1) (hd0) map —hook chainloader (hd32) title HDD Regenerator root (hd0,0) map —mem /IMG/HDDREG.GZ (0xff) map —hook chainloader (0xff) title MemTest86+ root (hd0,0) kernel /IMG/MEMTEST.BIN title QuickTech Pro 5.80 map /IMG/QTPRO.ISO (hd32) map (hd0) (hd1) map (hd1) (hd0) map —hook chainloader (hd32) title Установка Windows 7 SP1 x64 map —mem (md)0x800+4 (99) map /img/Win7_x64.iso (0xff) map (hd0) (hd1) map (hd1) (hd0) map —hook write (99) \nStartOptions=cdrom,vmem=find:/img/Win7_x64.iso;\n\0 chainloader (0xff) title Load CMLDR, the Recovery Console NT/2K/XP # Запуск консоли восстановления Windows XP #map (hd0) (hd1) #map (hd1) (hd0) find —set-root —ignore-floppies /cmldr chainloader /cmldr ##################################################################### # write string «cmdcons» to memory 0000:7C03 in 2 steps: ##################################################################### # step 1. Write 4 chars «cmdc» at 0000:7C03 write 0x7C03 0x63646D63 # step 2. Write 3 chars «ons» and an ending null at 0000:7C07 write 0x7C07 0x00736E6F #Рабочий вариант английской версии #title Acronis Disk Director #root (hd0,0) #kernel /ISO/H/AcronisDD/kernel.dat append ramdisk_size=91455 vga=791 quiet #initrd /ISO/H/AcronisDD/ramdisk.dat #title Acronis DD & B&R #find —set-root /ISO/H/Acronis-10-MultiBootCD.iso #map /ISO/H/Acronis-10-MultiBootCD.iso (0xff) || map —mem /ISO/H/Acronis-10-MultiBootCD.iso (0xff) #map —hook #chainloader (0xff) title Acronis TT & DD 11 find —set-root /ISO/H/Acronis_TI+DD_home_11_rus_linux.iso map /ISO/H/Acronis_TI+DD_home_11_rus_linux.iso (0xff) || map —mem /ISO/H/Acronis_TI+DD_home_11_rus_linux.iso (0xff) map —hook chainloader (0xff) title Gparted live v0.7.0-4 map —mem /ISO/img/firadisk.gz (fd0) map —mem /ISO/H/gparted-live-0.7.0-4.iso (hd32) map —hook chainloader (hd32) title Start EASEUS PM 6.1.1 PE map —mem /ISO/H/EASEUS.Partition.Master.6.1.1.Professional.iso (hd32) map —hook chainloader (hd32) title Active Partition Recovery 3.0 map —mem /ISO/H/precover.gz (fd0) map —hook chainloader (fd0)+1 rootnoverify (fd0) map —floppies=1 title Symantec Ghost 11 Corp find —set-root —ignore-floppies /ISO/H/Ghost11502113.ima.gz map —mem /ISO/H/Ghost11502113.ima.gz (fd0) map —hook chainloader (fd0)+1 rootnoverify (fd0) #title Ghost 11.5 #map —mem /ISO/H/Ghost.iso (hd32) #map —hook #chainloader (hd32) title Boot Disk Image map (hd0,0)/win98.ima (fd0) map —hook chainloader (fd0)+1 rootnoverify (fd0) map —floppies=1 title Boot from ISO map (device)/path/file.iso (0xFF) map —hook root (0xFF) chainloader (0xFF) boot title Acronis DD 11 And B&R 10 find —set-root /AcronisMedia.iso map /AcronisMedia.iso (0xff) || map —mem /AcronisMedia.iso (0xff) map —hook chainloader (0xff) title slax 6.1.2 map /ISO/slax-6.1.2.iso (0xff) || map —mem /ISO/slax-6.1.2.iso (0xff) map —hook root (0xff) kernel /boot/vmlinuz from=/ISO/slax-6.1.2.iso ramdisk_size=6666 root=/dev/ram0 rw initrd /boot/initrd.gz title slax-Russian-7.0.8-i486 — terminal console map /slax-Russian-7.0.8-i486.iso (0xff) || map —mem /slax-Russian-7.0.8-i486.iso (0xff) map —hook root (0xff) kernel /slax/boot/vmlinuz from=/slax-Russian-7.0.8-i486.iso ramdisk_size=6666 root=/dev/ram0 rw initrd /slax/boot/initrfs.img title slax-Russian-7.0.8-i486 — KDE desktop map /slax-Russian-7.0.8-i486.iso (0xff) || map —mem /slax-Russian-7.0.8-i486.iso (0xff) map —hook root (0xff) kernel /slax/boot/vmlinuz from=/slax-Russian-7.0.8-i486.iso vga=normal load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=xmode initrd /slax/boot/initrfs.img