alex52mail
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору 3.2. \menu.lst с набором популярных меню загрузки /grldr Linux, с пояснением к каждой используемой команде. !!!! ВСЕ копируем и помещаем в \menu.lst и сохраняем файл в кодировке UTF-8. Ниже дано пояснение к каждой используемой команде маленького, специфически урезанного ~300 kB /grldr Linux. И прочтение текста этого меню достаточно вам для использования Grub4Dos. Хотите знать глубже: http://greenflash.su/Grub4Dos/Grub4dos.htm http://www.rmprepusb.com/tutorials/grub4dos http://forum.ru-board.com/topic.cgi?forum=5&topic=48335 и README_GRUB4DOS.txt в дистрибутиве http://grub4dos.chenall.net Grub4DOS версии начинаются с 'a' первой не стабильной, потом b, c, и финальная версия без букв. На 03.12.2016 стабильная 0.4.5, а последняя 0.4.6.a, в которой поддержка Unicode (русскмй текст), и подсоединение фрагментированных образов. Меню сгрупировано в секции: ===== Section 0. Смена меню configfile /menu**.lst ===== ===== Section 1.1. Загрузка Boot Windows-5 2000, XP, 2003, LiveCD ===== ===== Section 1.2. Загрузка Boot Windows-6 Vista, 7, 8, 10, 2008, 2012, LiveCD ===== ===== Section 2.1. Установка всех Windows с образов, в образы, их подключение и загрузка ===== ===== Section 2.2. Установка WinXP в образ *.vhd и его загрузка ===== ===== Section 3.1. Linux - Доступ к дискам, безопасный выход в Интернет без антивируса ===== ===== Section 3.2. Linux - Защита, восстановление с образов в директории /Rescue/... ===== ===== Section 3.3. Linux - Multimedia, в .т.ч. просмотр фильмов на слабых компах ===== ===== Section 4. Images ===== ===== Section 5. System files booting ===== ===== Section 6. Mixed - Информация для образованности ===== ===== Section 7. Для испытания ===== # Запускать \grldr можно так: # 1). Если у вас загрузка WinXP (через \ntldr), то в \boot.ini меню вставить и выбрать при загрузки строку http://forum.ru-board.com/topic.cgi?forum=62&topic=27919&start=1&limit=1&m=7#1 # C:\grldr="C:\grldr ==> Start GRUB4DOS from active (boot) partition." # 2). Если у вас загрузка Win7.8.10 (через \bootmgr). то открыть \Boot\bcd меню (в bootice.exe) и добавить пункт загрузки \grldr http://forum.ru-board.com/topic.cgi?forum=62&topic=27919&start=1&limit=1&m=8#1 # 3). Можно загружать \grldr сразу, прописав (в bootice.exe http://rsload.net/soft/cleaner-disk/13118-bootice.html ) его загрузку в загрузочном секторе устройства (раздел диска, USB). Для тестирования запуска со всех устройств, вкл. это меню, и работы несложных ОС, очень удобна работающая без установки виртуальная машина, запускаемая с файла ~3,8 МВ QemuBootTester.exe http://www.usbdev.ru/?wpfb_dl=5213 Ниже выполняются только команды /grldr Linux. Поэтому внутри меню можно писать текст, который можно смотреть в меню нажав "e". Но строки с # в начале не обрабатываются. Достаточно этой простой 4х строчной "шапки", а в /grldr 0.4.6a и позднее с кодировкой \menu.lst в UTF-8, русский текст будет показываться вообще без шапки, а можно сразу начинать пункты меню. Но ниже расписано шире для обучения. default 3 timeout 2222 graphicsmode -1 640:800 color light-gray/blue black/light-gray color border=0xEEFFEE # Color blue/cyan yellow/cyan # color blue/green yellow/red white/magenta white/magenta # setvbe 1024x768x32 # Сканирует доступные видео моды, и добавляет эти установки в kernel command-line # setvbe 800x600x32 # Задание пути к образу, с которого устанавливаем Windows XP,7,8,10, последняя строчка перезапишет. set isodir-hd= # не работает переменная более 8 знаков. Variable must beginning with letter or "_". set isodir=/iso set iso=%isodir%/MiniXP_16.06.2014_i.iso set iso=%isodir%/Windows10Pro-64bit-RU.iso set iso=%isodir%/MiniXP_16.06.2014.iso set iso=%isodir%/MicroXP_0.87.iso # Повторение шапки в расширенном варианте, что перепишет верхние данные. debug off # не выполнять отладку # Пункт загрузки по-умолчанию - какое начиная с нулевого по счету меню, т.е. ниже 4ый title загрузится автоматически через ниже указанный timeout default 4 # default /default # Таймаут - задержка загрузки по умолчанию, если за это время не двините курсор в меню if %disk%@==@ && timeout 330 # Русский шрифт для текстового режима # http://forum.ru-board.com/topic.cgi?forum=5&topic=32855&start=9007&limit=1 # if %disk%@==@ && /Boot/grub/textfont /Boot/grub/8x16_866.psf # Работает, если сохранить файл меню в кодировке oem866. Всё отличное от этого - графический режим. # Для показа РУССКОГО в /grldr раннее 0.4.6a указать путь к Русским шрифтам, и меню в UTF-8. if %disk%@==@ && font /Boot/grub/RUS_BOLD.GZ # текст/фон курсор/фон низ/фон верх/фон if %disk%@==@ && color light-gray/blue yellow/black light-gray/black white/black # Размер окна, фоновая картинка (для текстового режима с oem866 -> закомментировать "#") if %disk%@==@ && graphicsmode -1 640:800 480:600 24:32 splashimage /Boot/grub/WALL_PANEL.GZ # Индикация диска, с которого загружен GRLDR find --ignore-floppies /GRLDR | set disk= # command1 | command2 == tube - результат первой перед | передается во вторую. Тут в disk помещается найденный раздел с /GRLDR # Пункт меню начинается с title, текст строки после title показывается в меню, и все строки до следующего title входят в этот пункт. Все после \n показывается не в строке title, в нижнем окне меню. Перед каждым title нужен пробел. В открытом меню нажимая цифры - переход к строке меню с таким номером. # Команды ниже называются boot-sensitive (and others are not boot-sensitive): # boot bootp chainloader configfile embed commandline halt install kernel pxe quit reboot setup # Если в title нет этих команд, то в открытом меню он перескакивается - unbootable, а если вообще нет команд - то такой title не показывается совсем в меню. title !!!! Hi, from /menu.lst from root=%@root% а загрузка системы с ?_BOOT=%?_BOOT% - Лист загрузок xxxxx title ===== Section 0. Смена меню configfile /menu**.lst ===== clear title /iso/ALLRUN.iso 21 mb | Обзор дисков, поиск и запуск образов/файлов \n https://yadi.sk/d/TKf1meDJ328VXu find --set-root --ignore-floppies /iso/ALLRUN.iso map --mem /iso/ALLRUN.iso (hd32) map --hook root (hd32) chainloader (hd32) title /commandline - переход в терминал командной строки. Прочти в нижнем окне. \n Или просто нажми "c" для перехода в терминал. \n В терминале: другое меню: configfile /menu*.lst или нажми Esc вернуться в это меню. \n В терминале: TAB - список всех команд /gldr. Справка по команде: help команда # исполнение команды /gldr Linux commandline title /menu.lst find --set-root --ignore-floppies --ignore-cd /menu.lst # Поиск файла find /.... начинает в текущем разделе. Не найдя там, ищет во всех доступным разделам, начиная с 1ого раздела 1ого диска (hd0,0). # Найдя файл, устанавливает --set-root его РАЗДЕЛ\диск как корневой root, а остальное относительно этого корня. В другие разделы можно указать прямой путь типа (hd0,1)/xp.vhd Если ходите по пунктам меню, то можете изменить --set-root ==> root и в следующем меню может не найтись файл, если не задан его новый root # Задание рабочей директории: root ()/boot/grub или find --set-root=/tmp /boot/grub/menu.lst configfile /menu.lst title /menu-on-BootDisk.lst \n Для возврата в меню на (моем) загрузочном разделе жесткого диска find --set-root --devices=h /menu-on-BootDisk.lst # здесь поиск только на (hd). u->(ud) n->(nd) p->(pd)=PXE h->(hdx) c->(cd) f->(fdx) default: --devices=upnhcf configfile /menu-on-BootDisk.lst title /menu-on-SystemDisk.lst \n Для возврата в меню на (моем) системном разделе жесткого диска \n Меню совсем без шапки, вкл. без задания языка find --set-root --devices=h /menu-on-SystemDisk.lst configfile /menu-on-SystemDisk.lst title /SSTR/menu.lst Boot USB Sergei Strelec \n http://sergeistrelec.ru find --set-root --ignore-floppies /SSTR/menu.lst configfile /SSTR/menu.lst title ===== Section 1.1. Загрузка Boot Windows-5 2000, XP, 2003, LiveCD ===== xxxxx title find /ntldr Загрузка установленного на диске WinXP, или просто /boot.ini меню find --set-root /ntldr # Загрузка командой chainloader лоудера /ntldr Также грузятся с дисков, образов, CD. chainloader /ntldr title 86 mb /iso/ruslive_wim_mini_mm_2011_04_23.ISO with net ||--mem \n Для аварийного доступа к компам find --set-root --ignore-floppies /iso/ruslive_wim_mini_mm_2011_04_23.ISO map /iso/ruslive_wim_mini_mm_2011_04_23.ISO (hd32) || map --mem /iso/ruslive_wim_mini_mm_2011_04_23.ISO (hd32) # Прямой маппинг: map - связь образа c именем диска операционной системы. Если образ фрагментированный ( Defraggler.exe Wincontig.exe ), то map (ранее Grub4Dos 0.4.6a) НЕ связывает с жесткого диска, но будет еще попытка копировать в память, (вкл. gzipped файлы) если ее хватит, и связать оттуда, если продолжить команду так: ... || map --mem ..... В Linux || значит OR - если слева выполнится, то справа нет, и наоборот, а && значит AND - выполняется или нет с обоих сторон. В одной строке команды таких связок может быть много. The && and || operators do not affect the environment until the whole line has been executed. # Выполняем маппинг-связывание прямо сейчас map --hook # Задаем корневой раздел для поиска загрузчика. Символ (hd32) == числу (0xA0) означает CD root (hd32) chainloader (hd32) title Другой пример маппинг - map. Find and load /ntldr of Windows NT/2K/XP find --set-root --ignore-floppies --ignore-cd /ntldr # При загрузки с USB 1ый жесткий диск становится 2ым (hd1), или новый диск как master (hd0), а старый как slave стал (hd1). Но и тут можно запустить с (hd1) сделав "подмену" дисков. Ниже с найденным /ntldr текущий диск () определяем как (hd0), а реальный (hd0) как найденный. map () (hd0) map (hd0) () # Команда map выполняется после команды boot (или запуска всего title), но ниже "подменяем" диски прямо сейчас map --rehook find --set-root --ignore-floppies --ignore-cd /ntldr chainloader /ntldr title 47 mb /iso/ruslive_wim_micro_2011_04_23.ISO ||--mem fallback 1 # переходит к этому пункту меню, если указанный выше default не найден или не сработает, и так далее к следующим fallback 2 и т.д. find --set-root --ignore-floppies /iso/ruslive_wim_micro_2011_04_23.ISO map --heads=0 --sectors-per-track=0 /iso/ruslive_wim_micro_2011_04_23.ISO (hd32) || map --mem --heads=0 --sectors-per-track=0 /iso/ruslive_wim_micro_2011_04_23.ISO (hd32) map --hook root (hd32) chainloader (hd32) title 26 mb /iso/ruslivepico_ram_ndn_2010_09_08.ISO ||--mem fallback 2 find --set-root --ignore-floppies /iso/ruslivepico_ram_ndn_2010_09_08.ISO map /iso/ruslivepico_ram_ndn_2010_09_08.ISO (hd32) || map --mem /iso/ruslivepico_ram_ndn_2010_09_08.ISO (hd32) map --hook root (hd32) chainloader (hd32) title 67 mb /iso/AntiSMS_XP.iso | Этот грузиться на современных LapTop, где XP выше часто не грузиться. find --set-root --ignore-floppies /iso/AntiSMS_XP.iso map --mem /iso/AntiSMS_XP.iso (hd32) map --hook root (hd32) chainloader (hd32) title 33 mb /iso/AntiSMS_XP-m.iso без AntiSMS.exe \n Этот грузиться на современных LapTop, где XP выше часто не грузиться. find --set-root --ignore-floppies /iso/AntiSMS_XP-m.iso map /iso/AntiSMS_XP-m.iso (hd32) map --hook root (hd32) chainloader (hd32) title ===== Section 1.2. Загрузка Boot Windows-6 Vista, 7, 8, 10, 2008, 2012, LiveCD ===== xxxxx title find /bootmgr find --set-root /bootmgr chainloader /bootmgr # iftitle показывается в меню, только если выполняются его условия. # Здесь в iftitle смотрится только в разделе, откуда запустилось меню. iftitle [if exist /boot/bootmgr] Запуск %@root%/boot/bootmgr find --set-root /boot/bootmgr chainloader /boot/bootmgr # Здесь в самом iftitle поиск /bootmgr по всем разделам, и показ его полного найденного пути в меню # iftitle only show when command in [] returns true # set a variable named bootmgr where /bootmgr is found. iftitle [find --set-root --devices=h /bootmgr && call set bootmgr=%@root^%] Find and load %bootmgr%/bootmgr of Windows Vista,7,8,2008,10 # fallback +1 chainloader %bootmgr%/bootmgr savedefault --wait=2 title find /bootmgr7 | Прочитай внизу \n /bootmgr7 boots win8,10, but 8,10 not boots 7 \n /bootmgr7 загружает win8,10, но /bootmgr8,10 не грузят Win7, но в меню /boot/bcd можно запретить проверку числовых подписей файлов Win7. find --set-root /bootmgr7 chainloader /bootmgr7 title find /boot/bootmgr7 find --set-root /boot/bootmgr7 chainloader /boot/bootmgr7 title find /bootmgr10 find --set-root /bootmgr10 chainloader /bootmgr10 title Win7 145 mb /iso/MSDaRT_7.0_RU_x86.iso find --set-root --ignore-floppies /iso/MSDaRT_7.0_RU_x86.iso map --mem /iso/MSDaRT_7.0_RU_x86.iso (hd32) map --hook root (hd32) chainloader (hd32) title Win8 137 mb /iso/AntiSMS_W8.iso find --set-root --ignore-floppies /iso/AntiSMS_W8.iso map --mem /iso/AntiSMS_W8.iso (hd32) map --hook root (hd32) chainloader (hd32) title Boot Sergei Strelec /SSTR/bootmgr | Прочитай внизу \n 265 MB Win8 и 305 MB Win10 и 414 MB Win10х64 \n Все с Интернет, музыка, фильмы, документы - все что надо для бытового компа. \n Плюс набор тщательно отобранных, вычищенных (уменьшенных размером) программ разного назначения, вкл. первой необходимости. find --set-root /SSTR/bootmgr chainloader /SSTR/bootmgr title ===== Section 2.1. Установка всех Windows с образов, в образы, их подключение и загрузка. Installation from *.iso images ===== clear При установке с запуском и образом с жесткого диска - установка много быстрее. В отличие от множества в Интернете предложений типа WinSetupFromUSB здесь расмотрена установка без распаковки и других изменений в образе дистрибутива, типа без интнеграции в них FIRADISK. Просто в папку /iso помещаете устанавливаемый образ и скачанный отсюда http://usbtor.ru/viewtopic.php?t=29 драйвер WINBLOCK.GZ, который отставляет смонтированными образы после перехода запущенной /grldr задачи в следующую стадию - типа в /grldr смонтировали образ, потом запустили /ntldr и в загруженной ОС образ остается доступным как виртуальный CD, FD, или жесткий диск. Можете также через FIRADISK.GZ (взять по ссылке), но предпочитаю проще WINBLOCK.GZ. При установки с запуском с флешки, на некоторых материнках запущенная флешка признается (проверка командами >root >find root >ls /dev ) не как положено (hd0,0) а как (fd0), что ведет к появлению синего экрана смерти. Поэтому требуется подмена дисков. Здесь http://forum.ru-board.com/topic.cgi?forum=5&topic=32855&start=9640#10 предложен скрипт замены fd0->hd0 # Run from images with other attached title 0). Загрузка, и подключение образов как дисков к загружаемой системе из выбора. \n Нажмите "e" и редактируйте свой выбор - с чего загрузить и что подключить. Удалите ненужные строки. Для загрузки нажмите "b" \n Подключение драйвера /iso/WINBLOCK.GZ который сохраняет монтирование образов после перехода от /grldr Lunix к установке, или в загруженной системе образы остаются монтированными, т.е. доступными. find --set-root --ignore-floppies /iso/RusLive_WIM_Mini_MM_2011_04_23.ISO # У меня подключались только первые 8 по списку, независимо какие у них тип и номера дисков или образов. Поэтому в свое меню подбирайте под ваш комп что вам нужно, и при конкретном запуске удалите ненужные строки нажав на них "d". # Подключаем различные образы и разделы жесткого диска # 1.0). Подключаем драйвер WINBLOCK.GZ map --mem /iso/WINBLOCK.GZ (fd0) # Подключение драйвера WINBLOCK.GZ как флоппи диск map --mem /iso/WINBLOCK.GZ (fd1) # 1.1). Подключаем *.iso # (hd32) is a grub drive number equivalent to (0xA0). If a virtual drive is specified with a drive number greater than or equal to 0xA0, then it will be treated as a cdrom # (hd0)==(0x80). Для iso: (hd32)==(0xA0), (0xff)==(255), избегая конфликта, разумнее CDRom назначать 255, 256 .... map --heads=0 --sectors-per-track=0 /iso/slitaz-4.0.iso (261) # Для Linux граб требует: map --heads=0 ..... map /iso/MiniXP_16.06.2014.iso (260) map --heads=0 --sectors-per-track=0 /iso/TinyCore-current.iso (259) map /iso/Peanut_Linux-mc+ntfs.iso (258) map /iso/AntiSMS_XP.iso (257) map /iso/MSDaRT_7.0_RU_x86.iso (256) # монтирует как CDRom, но как (hd)- нет map /iso/AntiSMS_W8.iso (0xff) # монтирует как CDRom map /iso/RusLive_WIM_Mini_MM_2011_04_23.ISO (hd32) || map --mem /iso/RusLive_WIM_Mini_MM_2011_04_23.ISO (hd32) # 1.2). Подключаем образы дисков: map --mem /iso/peanut.gz (fd2) # Не монтирует как жесткий диск map (hd0,1)/xp.vhd (hd1) # монтирует как 2ой жесткий диск map /iso/P_for_DC++.img (hd4) # монтирует как 5ый жесткий диск map /iso/WinMe_my_boot.ima (hd7) # map /iso/WinMe_my_boot.ima (fd3) # Не монтирует как флоппи диск, хотя это его образ map /iso/GoldMem.img (hd5) # монтирует как жесткий диск map /iso/WinMe.ima (hd6) # монтирует как жесткий диск # map /iso/w8pe.wim (hd2) # Не монтирует как жесткий диск # map (hd0,1)/vdd1400.vhd (hd8) # Не монтирует динамический виртуальный диск # 1.3). Подключаем разделы и целые диски: # partnew (hd1,2) 0x00 /iso/WinMe.ima # Создание раздела под образ. The 0x00 is a type-auto-detection of the image The above command will create a new primary partition (hd1,2) with a proper type and with contents/data being exactly that of the contiguous file /iso/WinMe.ima # partnew (hd1,3) 0x07 (hd0,4)+1 # Создание первичного раздела (hd1,3) тип 0x07 с содержанием всего раздела (hd0,4)+1 (например, он логический, а надо запускаться с него как с первичного). # partnew (%@root:~1,3%,3) 0x00 /Boot/Avira.iso # пишет данные образа в 4-й раздел, если уже используется - то прежний раздел будет затерт. # PARTNEW modifies the partition table permanently. But map --in-situ ... will not change the real partition table. # map --in-situ ... is used with hard drive images or hardrive partitions. With an map --in-situ ... we can use a logical partition as a primary partition. # In-situ map is a whole drive map. It only virtualize the partition table and the number of hidden sectors in the BPB of the DOS Boot Record. Note that --in-situ will not change the real partition table. # map --in-situ (hd0,4)+1 (hd1) # Эмулирует (hd0,4)+1 как (hd0) map --hook # !!!!!!! Ниже, в нижнем set = оставьте или задайте с чего хотите загрузить, и удалите не нужные строки # 1.4). Выбираем, и запускаем выбранное: set bt= (261) # Linux 36 MB /iso/slitaz-4.0.iso with net, Firefox set bt= (260) # Linux 16 MB /iso/TinyCore-current.iso set bt=(hd1) # WinXP установленная в 1,4 GB (hd0,1)/xp.vhd set bt= (258) # Установка /iso/MiniXP_16.06.2014.iso set bt=(hd32) # WinXP 86 MB /iso/RusLive_WIM_Mini_MM_2011_04_23.ISO set bt=(257) # WinXP 67 MB /iso/AntiSMS_XP.iso set bt= (256) # Win-7 145 mb /iso/MSDaRT_7.0_RU_x86.iso set bt=(0xff) # Win-8 137 mb /iso/AntiSMS_W8.iso set bt=(hd0,0) # root %bt% # chainloader %bt% # Если подключение к системе из образа, то в нижнем set = выбираем или меняем какой загружать. # root (hd32) # chainloader (hd32) # Если подключение образов к установленной системе, обычно на (hd0,0), то загрузка: root (hd0,0) chainloader (hd0,0)+1 # Ниже меню для установки с образа, заданного в начале этого файла как: set iso=... где нижней строкой задаете устанавливаемый образ, а здесь ниже выбираете нужную пару From HDD или From USB для установки и второго запуска, а например MicroXP_0.87.iso требует и вторую перезагрузку с доступом к CD. title 1.1). Установка set = %iso% - 1st step From HDD | Прочитай внизу \n Установка с образа. После перезагрузки продолжить установку запустив title 1.2). \n Но если у CD\образа есть задержанный запуск с жесткого диска, то можно обойтись одним скриптом title 1.1). Первый раз успеть выбрать запуск с CD, а другие автоматом загрузятся с жесткого диска. find --set-root %iso% map --mem %isodir%/WINBLOCK.GZ (fd0) map --mem %isodir%/WINBLOCK.GZ (fd1) map --read-only %iso% (0xff) || map --read-only --mem %iso% (0xff) map --hook chainloader (0xff) # chainloader (0xff)/I386/setupldr.bin # для Xp/2003 # chainloader (0xff)/bootmgr # для Vista и старше. title 1.2). Продолжение установки set = %iso% - 2nd step From HDD \n После копирования и перезагрузки, производим загрузку с жесткого диска, и заканчиваем установку с подключенным образом. find --set-root %iso% map --mem %isodir%/WINBLOCK.GZ (fd0) map --mem %isodir%/WINBLOCK.GZ (fd1) map --read-only %iso% (0xff) || map --read-only --mem %iso% (0xff) map --hook # Тут запускаем весь 1ый диск. +1 Indicates the rest of the device following the first sector of a device as a single file view: (hd0)+2 first two sectors entire hard disk as a file (of two sectors) chainloader (hd0)+1 # Установка с образа /iso/MiniXP_16.06.2014.iso title 1a.1). Установка /iso/MiniXP_16.06.2014.iso | chainloader (0xff) find --set-root --ignore-floppies /iso/MiniXP_16.06.2014.iso map --mem /iso/WINBLOCK.GZ (fd1) map --mem /iso/WINBLOCK.GZ (fd0) map /iso/MiniXP_16.06.2014.iso (0xff) || map --mem /iso/MiniXP_16.06.2014.iso (0xff) map --hook chainloader (0xff) title 1a.2). Продолжение установки /iso/MiniXP_16.06.2014.iso | chainloader /ntldr find --set-root --ignore-floppies /iso/MiniXP_16.06.2014.iso map --mem /iso/WINBLOCK.GZ (fd1) map --mem /iso/WINBLOCK.GZ (fd0) map /iso/MiniXP_16.06.2014.iso (0xff) || map --mem /iso/MiniXP_16.06.2014.iso (0xff) map --hook root (hd0,0) chainloader /ntldr title 2.1). Установка set = %iso% - 1st step From USB \n Установка с образа. После перезагрузки нужно продолжить установку запустив title 2.2). find --set-root %iso% map --mem %isodir%/WINBLOCK.GZ (fd0) map --mem %isodir%/WINBLOCK.GZ (fd1) map %iso% (0xff) || map --mem %iso% (0xff) # При запуске с USB, жесткий диск становится (hd1), поэтому здесь (hd0) и (hd1) меняем местами. map (hd0) (hd1) map (hd1) (hd0) map --hook chainloader (0xff) title 2.2). Продолжение установки set = %iso% - 2nd step From USB \n После копирования и перезагрузки, производим загрузку с жесткого диска и заканчиваем установку с подключенным образом. find --set-root %iso% map --mem %isodir%/WINBLOCK.GZ (fd0) map --mem %isodir%/WINBLOCK.GZ (fd1) map %iso% (0xff) || map --mem %iso% (0xff) map (hd0) (hd1) map (hd1) (hd0) map --hook chainloader (hd0)+1 title ===== Section 2.2. Установка WinXP в образ *.vhd и его загрузк ===== clear Установка Win7,8,10 в *.vhd образ подробно описана в http://forum.ru-board.com/topic.cgi?forum=62&topic=27919#1 Ниже особенности установки WinXP. http://reboot.pro/topic/13731-full-universal-xpvhd-run-from-usb-finally-work-for-me-maybe-for-you-too/ Для установки в образ, создать и ИНИЦИИРОВАТЬ статический *.vhd образ в среде Windows-6, запускаясь с образов типа MSDaRT_7.0_RU_x86.iso AntiSMS_W8.iso Win8PE.wim strelec733.wim OmegaLiveUSB2014.wim и запускаем: title 1.1). Установка set = %iso% в образ %isodir%/xp.vhd find --set-root --ignore-floppies %isodir%/WINBLOCK.GZ # map --mem %isodir%/winvblock.ima (fd1) map --mem %isodir%/WINBLOCK.GZ (fd1) map --mem (md)0x6000+800 (fd0) map %iso% (0xff) || map --mem %iso% (0xff) map %isodir%/xp.vhd (hd0) # Если образ в другом разделе, то указать прямой путь типа (hd0,1)\... - 1ый диск, 2ой раздел # map (hd0,1)/xp.vhd (hd0) map --hook # Клонируем флоппи dd if=(fd1) of=(fd0) count=1 # Запуск с монтированного %iso% как с CDRom chainloader (0xff) # На моем компе сработал проще вариант ниже, но утверждают, что скрипты выше срабатывают на 27 компах http://archlinux.org.ru/forum/topic/13576/ title 1a.1). Установка /iso/MiniXP_16.06.2014.iso в /iso/xp.vhd find --set-root --ignore-floppies /iso/WINBLOCK.GZ map --mem /iso/WINBLOCK.GZ (fd1) map --mem /iso/WINBLOCK.GZ (fd0) map /iso/MiniXP_16.06.2014.iso (0xff) || map --mem /iso/MiniXP_16.06.2014.iso (0xff) map /iso/xp.vhd (hd0) map --hook chainloader (0xff) # При установки в образ *.vhd запускать title 1.2). иначе загрузка будет с жесткого диска, а не с образа. title 1.2). Обязательное продолжение установки WinXP set = %iso% в %isodir%/xp.vhd find --set-root --ignore-floppies %isodir%WINBLOCK.GZ # map --mem %isodir%/winvblock.ima (fd1) map --mem %isodir%/WINBLOCK.GZ (fd1) map --mem (md)0x6000+800 (fd0) map %isodir%/xp.vhd (hd0) map %iso% (0xff) || map --mem %iso% (0xff) map --hook dd if=(fd1) of=(fd0) count=1 # Задаем xp.vhd образ как корневой 1ый диск, и в нем 1ый раздел для поиска загрузчика root (hd0,0) # Грузим в память загрузчик для Windows-5 chainloader /ntldr title 3a). Поиск и запуск Find and Run WinXP с образа set = %isodir%/xp.vhd find --set-root %isodir%/xp.vhd map %isodir%/xp.vhd (hd0) # но в запущенной системе показывается как (Disk1) map --hook root (hd0,0) chainloader /ntldr title 3b). Поиск и запуск Find and Run WinXP с образа /xp.vhd find --set-root /xp.vhd map /xp.vhd (hd0) map --hook root (hd0,0) chainloader /ntldr title 3c). Запуск Run WinXP с образа (hd0,1)/xp.vhd # Связываем образ xp.vhd в 2ом разделе 1го диска с 1ым диском в системе map (hd0,1)/xp.vhd (hd0) map --hook root (hd0,0) chainloader /ntldr title ===== Section 3.1. Linux - Доступ к дискам, безопасный выход в Интернет без антивируса ===== xxxxx ### small old peanut.Gz Linux for emergency access to ntfs partitions. title /iso/peanut.gz Linux 3mb with MC & ntfs support | kernel /iso/peanut-linux2420 vga=791 "cl=root=/dev/ram0 rw" find --set-root --ignore-floppies /iso/peanut-linux2420 # root (hd0,2) kernel /iso/peanut-linux2420 vga=791 "cl=root=/dev/ram0 rw" initrd /iso/peanut.gz title /iso/peanut.gz Linux 3mb with MC & ntfs support | kernel /iso/peanut-linux2420 find --set-root --ignore-floppies /iso/peanut-linux2420 kernel /iso/peanut-linux2420 initrd /iso/peanut.gz title /iso/Peanut_Linux-mc+ntfs.iso 3 MB find --set-root --ignore-floppies /iso/Peanut_Linux-mc+ntfs.iso map --mem --heads=0 --sectors-per-track=0 /iso/Peanut_Linux-mc+ntfs.iso (hd32) map --hook root (hd32) chainloader (hd32) title /super_grub2_disk_hybrid_2.02s3.iso 13 MB find --set-root --ignore-floppies /iso/super_grub2_disk_hybrid_2.02s3.iso map --mem --heads=0 --sectors-per-track=0 /iso/super_grub2_disk_hybrid_2.02s3.iso (hd32) map --hook root (hd32) chainloader (hd32) title /iso/slitaz-4.0.iso 36 MB with net ||--mem chainloader (hd32) \n Выходить с любого Windows в Интернет без защиты самоубийство. Для аварийного выхода в Интернет лучшее этот Linux с привычным всем десктопом. В Linux подхватить вирус маловероятно. find --set-root --ignore-floppies /iso/slitaz-4.0.iso map /iso/slitaz-4.0.iso (hd32) || map --mem /iso/slitaz-4.0.iso (hd32) map --hook root (hd32) chainloader (hd32) # Запуск с образа, с передачей флагов внутрь ядра Linux в образе, и запуском непосредственно ядра. # To boot *.ISO and to pass flags to kernel inside booting *.ISO title /slitaz-4.0.iso ||--mem kernel /boot/bzimage root=/dev/null vga=791 find --set-root --ignore-floppies /iso/slitaz-4.0.iso map /iso/slitaz-4.0.iso (hd32) || map --mem /iso/slitaz-4.0.iso (hd32) map --hook root (hd32) kernel /boot/bzimage rw root=/dev/null vga=791 autologin initrd /boot/rootfs.Gz title /iso/slitaz-4.0.iso 36 MB with net | chainloader (hd32) map (hd0,1)/xp.vhd (hd0) find --set-root --ignore-floppies /iso/slitaz-4.0.iso map /iso/slitaz-4.0.iso (hd32) || map --mem /iso/slitaz-4.0.iso (hd32) map --mem /iso/WINBLOCK.GZ (fd0) map --mem /iso/WINBLOCK.GZ (fd1) map (hd0,1)/xp.vhd (hd0) map --hook root (hd32) chainloader (hd32) ### After mounting an image and run kernel (or any ramfs), the primary image will be unmounted, and (Linux) ramfs will be unable to find the core file in the image.ISO to mount it. In such a case, move (ordinally big) core file ( ../KNOPPIX/ directory from the knoppix_*.ISO) from the image to HDD root, save the rest (small) *.ISO, and load it by GRAB to memory (mam --mem ...). title /KNOPPIX_V7.0.4CD-2012-08-20-EN.ISO ||--mem chainloader (hd32) find --set-root --ignore-floppies /iso/KNOPPIX_V7.0.4CD-2012-08-20-EN.ISO map /iso/KNOPPIX_V7.0.4CD-2012-08-20-EN.ISO (hd32) || map --mem /iso/KNOPPIX_V7.0.4CD-2012-08-20-EN.ISO (hd32) map --hook root (hd32) chainloader (hd32) title /KNOPPIX_V7.0.4CD-2012-08-20-EN.ISO ||--mem kernel 2 fromhd=/dev/sda2 vga=791 find --set-root --ignore-floppies /iso/KNOPPIX_V7.0.4CD-2012-08-20-EN.ISO map /iso/KNOPPIX_V7.0.4CD-2012-08-20-EN.ISO (hd32) || map --mem /iso/KNOPPIX_V7.0.4CD-2012-08-20-EN.ISO (hd32) map --hook root (hd32) kernel /boot/isolinux/linux 2 fromhd=/dev/sda3 lang=us dma vga=791 nomce init=/etc/init ramdisk_size=100000 apm=power-off nofirewire nopcmcia noscsi acpi=force apic=force noapm noeject nodhcp vt.Default_utf8=0 loglevel=0 tz=localtime #knoppix = ramdisk_size=100000 lang=en vt.Default_utf8=0 vga=791 nomce apm=power-off loglevel=0 tz=localtime #failsafe = ramdisk_size=100000 lang=en vt.Default_utf8=0 vga=normal nomce atapicd nosound noapic nolapic noacpi pnpbios=off acpi=off nofstab noscsi nodma noapm nousb nopcmcia nofirewire noagp nonetwork nodhcp xmodule=vesa #mypat=/dev/hda4 k38 myconfig=scan \ initrd /boot/isolinux/minirt.Gz #root=/dev/ram0 #knoppix fromhd=/dev/hda2 boot from previously copied cd-image #knoppix bootfrom=/dev/hdc2/knx.ISO access image, boot from ISO-image. ***) #Root=/dev/null title ===== Section 3.2. Linux - Защита, восстановление с образов в директории /Rescue/... ===== xxxxx title /rescue/rescueusb.iso 26 MB \n kav_rescue find --set-root --ignore-floppies /rescue/rescueusb.iso map --mem --heads=0 --sectors-per-track=0 /rescue/rescueusb.iso (hd32) map --hook root (hd32) chainloader (hd32) title /rescue/kav_rescue_10.iso 301 MB find --set-root --ignore-floppies /rescue/kav_rescue_10.iso map --mem --heads=0 --sectors-per-track=0 /rescue/kav_rescue_10.iso (hd32) map --hook root (hd32) chainloader (hd32) title /rescue/drweb-livedisk-900-cd.iso 637 MB \n Incl., this is an installation system for Ubuntu 12.04. find --set-root --ignore-floppies /rescue/drweb-livedisk-900-cd.iso map --heads=0 --sectors-per-track=0 /rescue/drweb-livedisk-900-cd.iso (hd32) || map --mem --heads=0 --sectors-per-track=0 /rescue/drweb-livedisk-900-cd.iso (hd32) map --hook root (hd32) chainloader (hd32) title /rescue/bitdefender-rescue-cd.iso 691 MB find --set-root --ignore-floppies /rescue/bitdefender-rescue-cd.iso map --heads=0 --sectors-per-track=0 /rescue/bitdefender-rescue-cd.iso (hd32) || map --mem --heads=0 --sectors-per-track=0 /rescue/bitdefender-rescue-cd.iso (hd32) map --hook root (hd32) chainloader (hd32) title ===== Section 3.3. Linux - Multimedia, в .т.ч. просмотр фильмов на слабых компах ===== xxxxx http://www.tinycorelinux.com - очень гибкий маленький Linux, с удобным графическим подключением и загрузкой с Интернет архива только нужных, выбранных вами приложений, вкл., Gnome, KDE, Office, и многое другое - зависимости определяются и загружаются автоматически. Очень гибкая система настроек. Получаете свой Linux по выбору - от базового до полного DeskTop. Для проигрывания фильмов на слабых компах, к базовому 10 МВ tinycore загрузил только 5 МВ Mplayer-nodeps.tcz и 700 кВ звук OSS.tcz, и в fbdev с командной строки, без Х, и без другой лишней нагрузки типа XFree86, Xorg, или даже без маленького Xvesa смотрятся фильмы, которые Windows уже не тянет. Подробнее http://forums.sumy.ua/showthread.php?p=2138524#post2138524 title /iso/tinycore_3.8.4.ISO 10 MB | chainloader (0xff) find --set-root --ignore-floppies /iso/tinycore_3.8.4.ISO map --mem /iso/tinycore_3.8.4.ISO (0xff) map --hook root (0xff) chainloader (0xff) title /iso/tinycore_3.8.4.ISO | kernel \n vga=ask tce=hda1 noicons tz=gmt+2 showapps multivt find --set-root --ignore-floppies /iso/tinycore_3.8.4.ISO map --mem /iso/tinycore_3.8.4.ISO (hd32) map --hook root (hd32) kernel /boot/bzimage vga=ask tce=hda1 noicons tz=gmt+2 showapps multivt initrd /boot/tinycore.gz title /iso/tinycore-current.ISO (hd32) | chainloader (hd32) --heads=0 find --set-root --ignore-floppies /iso/tinycore-current.ISO map --mem --heads=0 --sectors-per-track=0 /iso/tinycore-current.ISO (hd32) map --hook root (hd32) chainloader (hd32) title /iso/tinycore-current.ISO | kernel hdc1 base \n vga=ask showapps noicons tz=gmt+2 tce=hdc1 home=hdc1 base multivt find --set-root --ignore-floppies /iso/tinycore-current.ISO map --mem /iso/tinycore-current.ISO (hd32) map --hook root (hd32) kernel /boot/vmlinuz vga=ask showapps noicons tz=gmt+2 tce=hdc1 home=hdc1 base multivt initrd /boot/core.gz title /iso/tinycore-current.ISO | map --unmap=0:0xff ..... map --unmap=0:0xffmap --unmap=0:0xff map --unhook root (hd0,1) map /iso/tinycore-current.ISO (0xff) map --hook root (0xff) configfile /menu.lst || chainloader (0xff) map --unmap=0:0xff # Titles below boot linux ~11 mb tinycore*.ISO to RAM with only additional mplayer-nodeps.Tcz oss.Tcz (sound), mc.Tcz (file manager), and ntfs-3g.tcz (to mount ntfs partitions). All together 20 MB. Base tinycore_*.ISO is mounted as rootfs. Next, *.tcz arhives are mounted as cloops. Also it's possible to copy them to rootfs by using copy2fs.lst It may be the best choice, or even you can use only base, busybox with some libs (Xlibs.tcz) for mplayer-nodeps. # To activate framebuffer device (fbdev) and to fit the movie to full screen .../Mplayer *.Mkv -vo fbdev -fs set at linux boot prompt "vga=ask" and choose corresponding to the movie size the vesa mode number from the table. To see what vesa modes your video card is supported you can also run "scan" at linux boot prompt, or ".../Xvesa -listmodes" when xvesa is running. # mknod /dev/fb0 # Vga=xxx does not set fbdev, but only the screen resolution. Depth 640x480 800x600 1024x768 1280x1024 1600x1200 ask at boot 1152x864 8 bits vga=769 vga=771 vga=773 vga=775 vga=796 vga=ask vga=353 16 bits vga=785 vga=788 vga=791 vga=794 vga=798 vga=ask vga=355 32 bits vga=786 vga=789 vga=792 vga=795 vga=799 vga=ask # if in the xvesa setting .../Xvesa -br -screen 800x600x16 -shadow -mouse /dev/input/mice,5 -nolisten tcp -i >/dev/null 2>&1 If the Xvesa screen size is not equal the display screen size, xvesa (or fbdev) scales screen to movie size, and xvesa uses more cpu power, than if xvesa screen == display screen, and mplayer scales the movie size to the screen size (originally, only width's size should be equal) as: .../Mplayer *.Mkv -framedrop -cache 8192 -fs -zoom -xy [screen width as it's set in xvesa or fbdev] # Playing 1280x720 movie at the CPU Pentium 1400 512 cache; RAM 512 MB; 8 MB intergated video; and 800x600 display: xvesa -screen 800x600x16 -zoom -xy 800 ==> mplayer ~84% xvesa ~15% of cpu, and ~17% and ~4% of ram xvesa -screen 1280x1024x16 ==> mplayer ~54% xvesa ~45% of cpu -fs gets more cpu for mplayer, and -zoom does not change much cpu for mplayer. # There is an opinion that fbdev uses more cpu than x as fbdev recalculates colors, and xv should run faster than fbdev. # "As long as you have a properly supported graphics card, xv will use a lot less cpu than fbdev. The overhead of xorg (xvesa) running in the background is much less than the amount you save by using xv. Set framebuffer to a mode with 15 or 16 bpp. Increase cache=8192 xv is hardware scaling & color conversion. Fbdev is software (i.e. using CPU), and color conversion still has to be done. Framebuffers are usually rgb, movies yuv. " # If you have an X11 implementation without xv support, OpenGL is a viable alternative. # fbdev blocks other terminals (multivt), and there is no opportunity to run "top" to determine cpu loading. # It's unclear so far, what is better - X or fbdev. Also, increasing cpu for xvesa may be only scaling job re-distribution, and its influence on total result is unclear so far also. fbdev (Linux Frame Buffer Device) - область видеопамяти для кратковременного хранения одного или нескольких видеокадров, а Linux framebuffer это метод доступа к фреймбуферу через ядро Linux, не полагаясь на системно-ориентированные библиотеки. X video extension - расширение, позволяющее ускорить вывод видеофрагментов на экран с использованием возможностей графической платы (а точнее - её драйвера) и уменьшить тем самым нагрузку на центральный процессор. Многие графические платы позволяют выводить видеоизображения в форматах кодирования цвета YUV (YUY2, I420 и т. д.), которые используются в стандартах систем аналогового цветного телевидения PAL, SECAM, NTSC, не переводя их предварительно в формат передачи цвета дисплея (RGB16/24/32), а также производить обратное перекодирование. Чтобы убедиться, что ваш X server поддерживает это расширение можно воспользоваться утилитой xdpyinfo. А для проверки, что текущая видеокарта поддерживает необходимые функции можно использовать программу xvinfo. Обычно это называют аппаратной поддержкой масштабирования и ускорения преобразования YUV или просто аппаратным ускорением 2D графики. Ускорение будет ощутимо даже на компьютерах с быстрыми процессорами. YUV - цветовая модель, в которой цвет представляется как 3 компоненты - яркость (Y) и две цветоразностных (U и V). Конверсия в RGB (Red, Green, Blue) и обратно в YUV осуществляется по формулам. title ===== Section 4. Images ===== xxxxx title /iso/Active_Boot_Disk.iso 7mb | --mem (255) find --set-root --ignore-floppies /iso/Active_Boot_Disk.iso map --mem /iso/Active_Boot_Disk.iso (255) map --hook root (255) chainloader (255) title /iso/Active_Boot_Disk.ISO 7mb |--mem (hd32) find --set-root --ignore-floppies /iso/Active_Boot_Disk.iso map --mem --heads=0 --sectors-per-track=0 /iso/Active_Boot_Disk.iso (hd32) map --hook root (hd32) chainloader (hd32) title find and load cmldr, the recovery console of windows nt/2k/xp find --set-root --ignore-floppies /cmldr chainloader /cmldr title /iso/WinMe.ima | --mem --read-only rootnoverify (fd0)+1 find --set-root --ignore-floppies /iso/WinMe.ima map --mem --read-only /iso/WinMe.ima (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) boot title /iso//WinMe_my_boot.ima | --mem --read-only rootnoverify (fd0)+1 find --set-root --ignore-floppies /iso/WinMe_my_boot.ima map --mem --read-only /iso/WinMe_my_boot.ima (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) boot title kernel /iso/memdisk | initrd /WinMe_my_boot.ima kernel /iso/memdisk initrd /iso/WinMe_my_boot.ima title kernel /iso/memdisk initrd /GoldMem.img find --set-root --ignore-floppies /iso/GoldMem.img kernel /iso/memdisk initrd /iso/GoldMem.img title /iso/memtest86+-5.01.bin find --set-root --ignore-floppies /iso/memtest86+-5.01.bin chainloader /iso/memtest86+-5.01.bin title ===== Section 5. System files booting ===== clear # In such cases "kernel" is Grab kernel title kernel /plpbt.Bin ===> plop boot manager kernel /plpbt.Bin title /setupldr.bin find --set-root --ignore-floppies /setupldr.bin chainloader /setupldr.bin title /i386/setupldr.bin find --set-root --ignore-floppies /i386/setupldr.bin chainloader /i386/setupldr.bin title /WNPE/setupldr.bin find --set-root --ignore-floppies /WNPE/setupldr.bin chainloader /WNPE/setupldr.bin title /minint/setupldr.Bin find --set-root --ignore-floppies /minint/setupldr.Bin chainloader /minint/setupldr.Bin title windows as = root (hd0,0) && chainloader +1 root (hd0,0) chainloader +1 title chainloader (hd0,0)/ntldr on hda1 chainloader (hd0,0)/ntldr title boot cd cdrom --init map --hook chainloader (cd0) title reboot reboot title halt halt title find /io.Sys of windows 9x/me find --set-root /io.Sys chainloader /io.Sys savedefault --wait=2 title ===== Section 6. Mixed - Информация для образованности ===== clear title !!!!!! Read this for education. Прочитай для образованности !!!!!! Grab automatically changes letters to uppercase or back (e.g., after "." to capital, or after # to low case) in this menu file. Be carefull and check this. !!!!!! When loading from ext* or fat32 upper and low cases letters are different, but from ntfs they are the same. В режиме EFI загрузка Grub4Dos невозможна - нужно переключать в Legacy Bios и отключать Secure Boot. Наибольшая совместимость наблюдается, когда загрузочный код grub4dos находится в PBR, а grldr на разделе с файловой системой FAT32 Although ntldr passes control to boot.Ini ntdetect.Com, ntoskrnl.Exe attempts to start they (ntdetect.Com, ntoskrnl.Exe) directly from the grub were failed. In grab menu hda1 ==> hd(0,0), but for booting Linux, in kernel settings use hda1 Even if you are booting from CD or fd, "find --set-root ..." starts searching from hda1 ??? Open the "grldr" file in the text editor, and look in the its end for "--ignore-floppies (or CD)". Is it searching in fd or CD? Держа на флэшке маленькие образы (см. Section 1.) можно решать почти все проблемы с проблемными компами. Доступ к системе, всем дискам, удаленному Реестру, а также запуск антивируса, включая установленного в проверяемой системе, если предварительно сохранить его записи в Реестре, и при аварийном доступе с образа загрузить их в текущий Реестр, и запустить антивирус с проверяемой системы. Имеется в ввиду, если например, используете NOD32, то его записи в Реестр одинаковы на всех компах. Скопируйте с любого компа и держите их на своей флэшке. Если еще бутите периодически сохранять ваш bookmarks-.html и держать его на флэшке, то под рукой будут и все ваши закладки. $(date +%s) вместо `date +%s` но в Grub4Dos это не работает. Из README_GRUB4DOS.txt Internal named variables for Grub4Dos grub4dos has a few predefined variables - these can be used in a grub4dos command - e.g. echo %@date% or set d=%@date% The && and || operators do not affect the environment until the whole line has been executed - e.g. set a=1 && echo %a% does not echo '1' because the environment is not updated until after the whole line has been executed. There are now three new operators: ;; - used to separate commands on the same line - e.g. set a=1 ;; echo %a% ;; # This is a comment ;; set /a b=%a% + 1 ;& - as ;; but the next command is only executed if the result of the previous command was true, e.g. set a=menu.lst ;; if exist /%a% ;& echo %a% exists ;| - as ;; but next command is only executed if the previous command was false. %0 is the full path %~nx0 is the batch files filename + extension Filename strings in batch files Max no lines = 2048 in a batch file, Max. no. labels in a batch file =128, file must start with !BAT on first line. In a batch file, %0 is the full path of the batch file itself (if the batch file is in the root then no leading / is output), %~nx0 is the batch files filename + extension, %~n0 is just the filename and %~x0 is just the extension (e.g. .gb4). n is filename, x is extension, p is the path and d is the drive name. %0=/xx/fred.g4b (if in root then fred.g4b) %~pnx0=/xx/fred.g4b (if in root then /fred.g4b) %~nx0=fred.g4b %~x0=.g4b %~n0=fred %~dp0=(hd0,0)/xx/ %~dpnx0=(hd0,0/xx/fred.g4b %~p0=/xx/ %~0=parameter without quotes %~f0=fully path of filename - e.g. if %0=fred.inf then %~f0=(hd1,0)/dir1/dir2/fred.inf if root was set to (hd1,0)/dir1/dir2 If you pass more than one filename to a batch file, %1 will be the second parameter, %2 the third, etc. %* is all parameters. command > file - результат первой перезаписывается в СУЩЕСТВУЮЩИЙ файл command >> file - результат первой добавляется в файл cat /test.txt > /abcd.txt - The file must already exist, GRUB4DOS can not create file or change the file size. command1 ;; command2 ;; command.. - Execute multiple commands in sequence without error warning. Add new operation "&;" and "|;" errorcheck controls whether or not the error will be handled. By default, errorcheck is on, and menu script execution will stop on error. If errorcheck is off, the script will continue to execute upto a boot command. A boot command will turn the errorcheck on. A title(or menu item) is called unbootable if all of its menu commands are not boot-sensitive. The following commands are boot-sensitive (and others are not boot-sensitive): boot bootp chainloader configfile embed commandline halt install kernel pxe quit reboot setup Note: An unbootable menu item must contain at least one command. If there are no commands for a title, the title will be simply discarded and disappear. GRLDR can be used as the PXE boot file on a remote/network server. The (pd) device is used to access files on the server. When GRLDR is booted through network, it will use its preset menu as the config file. However, you may use a "pxe detect" command, So you need to find out the correct geometry for the drive (use `geometry --tune'), and then update the geometry in partition table and BPB of the drive(use `geometry --sync'). To enter 800x600 mode: graphicsmode 0x6A terminal graphics To return to 640x480 mode: graphicsmode 0x12 terminal graphics set [/p] [/a|/A] [/l|/u] [VARIABLE=[STRING]] variable specifies the variable name (up to 8 characters). string Specifies a string assigned to the variable (up to 512 characters.) !!!!!!!!!!!!!===== Далее шаблоны с дистрибутивов title !!!!!!!!!!!!!! Boot into an image you can emulate any drives, but also to boot to any others. Note that the (fd0) in "chainloader (fd0)+1" is the emulated virtual floppy a:, not the real floppy diskette (because map is hooked now). Chainloader (fd0) without +1 does not work. Cat --hex (hd0,0)+1 ==> it will display the first sector of partition (hd0). Usually this sector contains the boot record of an operating system rootnoverify (fd0) # w/t this or root (fd0) does not work map --floppies=1 `map --status' can report the values. Note al. Cat --hex (hd0so that `map --floppies=' and `map --harddrives=' can be used independently without the appearance of mappings. 0, 1, 2, 3 are primary partitions, 4, 5, 6, ... Are logical partitions in the extended partition. 0xff is for whole drive. So for floppies, it should be 0xff. Due to some bugs found in eltorito.Sys, the driver could fail to load. If you encounter such problems, then you may replace (hd32) with (0xff) for the virtual cdrom drive number and try again. Map --unmap=range map --unmap=0,0x80,0xff # this will unmap virtual floppy (fd0), virtual hard drive (hd0) and virtual cdrom (0xff). Map --unmap=0:0xff # this will unmap all virtual floppies, all virtual hard drives and all virtual cdroms. Range of bios drive numbers to be unmapped. Bios drive number 0 is for the first floppy, 1 is for the second floppy; 0x80 is for the first hard drive, 0x81 is for the second hard drive, etc; virtual cdrom (hd32) corresponds to bios drive number 0xa0, (hd33) corresponds to 0xa1, etc. Savedefault --wait=2 означает дать 2 секунды на размышление о необходимости запоминания пункта меню, выбираемого по умолчанию. Если нажать "y" - запомнит, если другое - не запомнит. Требует наличия файла default, при этом строго определенного размера. Если этого файла нет - будет вываливаться с ошибкой о не возможности записи в файл. Savedefault лучше экранировать вот так, в таком случае не будет ошибок, если у кого-то отсутствует файл default в корне загрузочного устройства: код: errorcheck off default /default savedefault --wait=2 errorcheck on Все терминалы из de жрут жуткое количество оперативки. Пользуюсь xterm - жрет немного, настраивается как угодно, запускается мгновенно. ============= http://www.Msfn.Org/board/install-xp-ram-loaded-ISO-image-t137714-pid-882870.Html#entry882870 title loading xp ram install - /boot/xp_ram.ISO (fd1) optional, required at some bios #map --mem /boot/xp_instf.Gz (fd1) map --mem /boot/xp_instf.Gz (fd0) ls /boot/xp_ram.ISO || find --set-root /boot/xp_ram.ISO map --mem /boot/xp_ram.ISO (0xff)+184360 map (hd0) (hd1) map (hd1) (hd0) map --hook write --offset=0 (fd0)/setup/isoimage.Ini \\boot\\xp_ram.ISO\n;\n;\n; chainloader (0xff)/i386/setupldr.Bin # как запустить ISO с пятого раздела винчестера. С загрузочной флешки запускается без проблем командой title acronismedia.ISO - как запустить ISO с пятого раздела винчестера map --unmap=0:0xff map --unhook root (hd0,0) map /img/acronismedia.ISO (0xff) || map --mem /img/acronismedia.ISO (0xff) map --hook root (0xff) configfile /grub4dos.Lst || chainloader (0xff) map --unmap=0:0xff с винчестера при замене root (hd0,0) на root (hd0,5) выдает ошибку error 17: file not found title ===== Section 7. Для испытания For testing ===== clear title 1a). Установка Setup /iso/MiniXP_16.06.2014.iso в on (hd0,1)/xp.vhd find --set-root --ignore-floppies /iso/WINBLOCK.GZ map --mem /iso/WINBLOCK.GZ (fd1) map --mem /iso/WINBLOCK.GZ (fd0) map (hd0,1)/xp.vhd (hd0) map /iso/MiniXP_16.06.2014.iso (0xff) || map --mem /iso/MiniXP_16.06.2014.iso (0xff) map --hook chainloader (0xff) title 1b). Установка set = %iso% в (hd0,1)/xp.vhd find --set-root %iso% map --mem %isodir%/WINBLOCK.GZ (fd0) map --mem %isodir%/WINBLOCK.GZ (fd1) map (hd0,1)/xp.vhd (hd0) map (hd0,1)/xp.vhd (hd1) map (hd0,1)/vdd1400.vhd (hd2) map --read-only %iso% (0xff) || map --read-only --mem %iso% (0xff) map --hook chainloader (0xff) title Bitdefender Rescue CD # http://forum.ru-board.com/topic.cgi?forum=5&topic=32855&start=9670&limit=1&m=11#1 partnew (%@root:~1,3%,3) 0x00 /Boot/Bitdefender.iso map /Boot/Bitdefender.iso (0xff) map --hook kernel (0xff)/boot/kernel.i386-pc root=/dev/ram0 real_root=/dev/loop0 loop=/rescue/livecd.squashfs cdroot_marker=/rescue/livecd.squashfs initrd udev cdroot scandelay=10 quiet slash lang=en initrd (0xff)/boot/initfs.i386-pc # http://reboot.pro/topic/20159-grub4dos-wimboot-support/ title Загрузка *.wim образа из граба через /iso/wimboot \n Загрузка с *.wim образа через граб, с подхватом файлов из нестандартных мест. Также уменьшает занятие RAM памяти на размер самого образа. find --set-root --ignore-floppies /iso/wimboot kernel /iso/wimboot # kernel /iso/wimboot index=2 # 2 в *.wim образе # Disabling automatic BCD modifications for UEFI systems # You can disable this behaviour by using the rawbcd command-line option. For example: # kernel wimboot rawbcd pause initrd @bcd=/Boot/bcd @boot.sdi=/Boot/boot.sdi @bootmgr=/bootmgr7 @boot.wim=/iso/strelec733.wim # initrd @bcd=/BCD0 @boot.sdi=/SSTR/boot.sdi @bootmgr=/bootmgr7 @boot.wim=/iso/strelec733.wim # http://ipxe.org/wimboot title Загрузка *.wim образа не отсюда, а из скрипта #!ipxe #!ipxe kernel /iso/wimboot initrd /boot/bcd BCD initrd /boot/boot.sdi boot.sdi initrd /iso/strelec733.wim boot.wim boot # http://ipxe.org - iPXE is the leading open source network boot firmware. It provides a full PXE implementation, incl. NET booting like this # dhcp # route # dhcp && chain http://boot.ipxe.org/demo/boot.php title ipxe boot /iso/ipxe.iso 702 kB find --set-root --ignore-floppies /iso/ipxe.iso map --mem /iso/ipxe.iso (hd32) map --hook root (hd32) chainloader (hd32) # Монтировать образ в запущеном Linux # mount -o loop file.iso /mountpoint title /menu.lst | смена меню. Здесь быстро оказаться просто нажав End find --set-root /menu.lst configfile /menu.lst
|