Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Новичкам о компе. Установка Windows 7 10 XP, мультизагрузка

Модерирует : KLASS, IFkO

KLASS (27-09-2017 12:00): Создайте тему в разделе Тестирование, назовите ее "новичкам все о компьютерах" и там обсуждайте все подряд.  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

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


----------
Везде трудно первые 15 лет, потом легче.
Все проблемы имеют ПРОСТОЕ решение
Ты начальник я дурак я начальник ты дурак. Но хуже дурака дурак с инициативой.

Всего записей: 1567 | Зарегистр. 04-09-2015 | Отправлено: 20:34 03-10-2015 | Исправлено: alex52mail, 14:41 12-12-2016
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Новичкам о компе. Установка Windows 7 10 XP, мультизагрузка
KLASS (27-09-2017 12:00): Создайте тему в разделе Тестирование, назовите ее "новичкам все о компьютерах" и там обсуждайте все подряд.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru