В данной статье будет показано как добавить на загрузочную Grub4Dos флешку установку Windows 8 (x86 / x64). Дистрибутивы так же хранятся на флешке в неизменном (почти) виде в ISO-образах. Их может быть столько - насколько хватит пространства флешки. Образы также мапятся с помощью драйвера FiraDisk.
Решил выделить материал в отдельную статью, хотя способ установки 32-битной версии ничем особенным не отличается от установки Windows Vista/7. А вот к 64-битной версии есть небольшое дополнение, заключающееся в правке BCD для возможности добавления не подписанного драйвера FiraDisk (со временем, надеемся, автор всё же получит необходимые сертификаты).
А теперь обо всем по порядку.
Установка Windows 8 (x86), используя драйвер FiraDisk.
Примечание: данный способ применим для всех редакций Windows 8 (x86). Работоспособность сборок народных умельцев не гарантируется.
1. Создать папку Boot в корне флешки и скинуть в нее установочный образ Windows 8 (WIN8x86.iso)
Примечание:
1) Образ должен быть дефрагментирован! Иначе получите ошибку:
Error 60: File for drive emulation must be in one contiguous disk area.
2) Если образ больше 4ГБ, то ФС на флешке должна быть NTFS.
2. Скинуть в папку Boot файл FiraDisk.cmd (sfx-архив, содержащий скрипт установки и файлы драйвера).
3. Скинуть в корень флешки файл AutoUnattend.xml (содержит команду найти и запустить \Boot\FiraDisk.cmd).
4. Добавить следующий пункт в menu.lst:
title Windows 8 (x86)5. Процесс подготовки завершен. Можете устанавливать Windows.
set MYISO=WIN8x86.iso
map --mem (md)0x800+4 (99)
map /Boot/%MYISO% (0xff)
checkrange 0x80 read 0x8280 && map (hd0) (hd1)
checkrange 0x80 read 0x8280 && map (hd1) (hd0)
map --hook
write (99) [FiraDisk]\nStartOptions=cdrom,vmem=find:/Boot/%MYISO%;\n\0
chainloader (0xff)/BOOTMGR || chainloader (0xff)
Примечание:
1) Во время установки (в самом начале) будет установлен драйвер FiraDisk. Вы будете наблюдать черное окно с процессом установки драйвера (на скрине, окно из установки Win7, но суть та же).
Если оно не появилось, то это значит, что образ скорей всего не будет подхвачен, и вы можете увидеть следующее окно после выбора языков.
Тогда необходимо из Среды Установки (WinPE) вручную запустить установку драйвера командой E:\Boot\FiraDisk.cmd (букву диска подбираем сами) из консоли (консоль вызывается сочетанием SHIFT + F10).
2) AutoUnattend.xml не подхватывается с USB-HDD и HDD, и, следовательно, не запускается FiraDisk.cmd. Решается ручным запуском FiraDisk.cmd или интеграцией его в дистрибутив. Как интегрировать в дистрибутив - смотрите в следующих статьях.
Установка Windows 8 (x64), используя драйвер FiraDisk.
Примечание: данный способ применим для всех редакций Windows 8 (x64). Только для 64-разрядных версий! Для 32-разрядной - этого не требуется, т.е. см. выше. Работоспособность сборок народных умельцев не гарантируется. Для подготовки требуется Windows Vista и выше.
1. Подготавливаем дистрибутив:
Примечание:
Также этот пункт можете выполнить с помощью данного скрипта. Инструкция внутри.
1.1. Достаем из ISO-образа дистрибутива файл bcd (находится по следующему пути: /boot/bcd). Обычно для этого использую UltaISO. Сохраняем в какой-нибудь папке.
1.2. Запускаем командную строку от имени администратора.
1.3. Прописываем в ней следующую команду:
bcdedit /store "X:\Ваш_путь_к_bcd\bcd" /set {default} TESTSIGNING ONгде "X:\Ваш_путь_к_bcd\bcd" - пусть до bcd (не обязательно использовать абсолютный путь).
У меня было так:
1.4. Заталкиваем измененный файл bcd обратно в ISO-образ взамен существующего. UltraISO в помощь.
2. Создаем папку Boot в корне флешки и скидываем в нее модифицированный установочный образ Windows 8 (WIN8x64.iso)
Примечание:
1) Образ должен быть дефрагментирован! Иначе получите ошибку:
Error 60: File for drive emulation must be in one contiguous disk area.
2) Если образ больше 4ГБ, то ФС на флешке должна быть NTFS.
3. Скинуть в папку Boot файл FiraDisk.cmd (sfx-архив, содержащий скрипт установки и файлы драйвера).
4. Скинуть в корень флешки файл AutoUnattend.xml (содержит команду найти и запустить \Boot\FiraDisk.cmd).
5. Добавить следующий пункт в menu.lst:
title Windows 8 (x64, Rus)5. Процесс подготовки завершен. Можете устанавливать Windows.
set MYISO=WIN8x64.iso
map --mem (md)0x800+4 (99)
map /Boot/%MYISO% (0xff)
checkrange 0x80 read 0x8280 && map (hd0) (hd1)
checkrange 0x80 read 0x8280 && map (hd1) (hd0)
map --hook
write (99) [FiraDisk]\nStartOptions=cdrom,vmem=find:/Boot/%MYISO%;\n\0
chainloader (0xff)/BOOTMGR || chainloader (0xff)
Примечание:
1) Все тоже самое, что и для Win8 x86.
Полный готовый комплект для установки Windows XP/Vista/7/8 - брать здесь.
Используемый материал:
Сообщение Atlant'a на greenflash.su
Сообщение Cha-Cha на greenflash.su
43 - Install Windows 8, Server 2012, Win 7, 2K8 & Vista from multiple ISO files on the same Flash drive.
GRUB4DOS; GRUB Legacy (<= 0.97)
Установка windows xp с мультизагрузочной флешки Установка Windows 7 и Windows XP с флешки
Два дистрибутива Windows 7 на одной флешке
При копировании статьи просьба указывать источник и автора.
С уважением, GRomR1.
Спасибо автору за идею и упрощение. Однако есть некоторые замечания по поводу 64-битной версии:
ОтветитьУдалитьДля использования 64-битной версии файл AutoUnattend.xml не работает, т.к. в разделе где параметр processorArchitecture="amd64" - ссылка на какой-то другой исполняемый "LOADISO.CMD" <= поправьте пожалуйста.
У меня есть предложение по упрощению загрузки 64-битной системы без правки iso-образа во внешнем редакторе, все происходит с помощью grub4dos:
============================================
title Windows 8 Setup (x64) - DVD (Russian)
set MYISO=ru_windows_8_x64_dvd_915419.iso
map --mem (md)0x800+4 (99)
map /Boot/%MYISO% (0xff)
checkrange 0x80 read 0x8280 && map (hd0) (hd1)
checkrange 0x80 read 0x8280 && map (hd1) (hd0)
map --hook
write (99) [FiraDisk]\nStartOptions=cdrom,vmem=find:/Boot/%MYISO%;\n\0
find --set-root /Boot/bcd_new
dd if=()/Boot/bcd_new of=(0xff) seek=29864
chainloader (0xff)/BOOTMGR || chainloader (0xff)
============================================
Как Вы понимаете seek=29864 справедливо только для ru_windows_8_x64_dvd_915419.iso(MD5: 5cc9d59523fdaa96dca5fd8bbae808a3) образа.
HEX 0x0095000(15290368/512=29864)
Для других редакций, файл bcd может быть тем же, однако в образе необходимо искать соответствующее ему seek(смещение).
Плюс т.к. мы не мапим в память, то изменение/замена bcd происходит прямо на флешке - образ при этом функционально работает (мы не изменяем его размер или целостность, происходит замена 256кб на другие 256кб этого же bcd файла). С таким же успехом можно возвратить в образ оригинальный bcd файл (если мы его предварительно сохранили).
В случае если мы не хотим изменять оригинальный образ, можно просто мапить в память - измененяя параметр "map /Boot/%MYISO% (0xff)" на параметр "map --mem /Boot/%MYISO% (0xff)" - все действия с файлом bcd будут в памяти.
Спасибо и удачи!
Подтверждаю - для x64 редации ничего не работает - так как ссылка в AutoUnattend.xml ведет на неизвестный и вообще отсутствующий файл LOADISO.CMD
ОтветитьУдалитьВ самое ближайшее время собираюсь заняться и все поправить.
УдалитьСпасибо, что отписались о возникшей ошибке.
Заменил в AutoUnattend.xml файле %i:\fira\LOADISO.CMD cmd /k %i:\fira\LOADISO.CMD на %i:\Boot\FiraDisk.cmd cmd /k %i:\Boot\FiraDisk.cmd и все заработало :)
ОтветитьУдалитьИ было бы неплохо в статью включить способ без изменения оригинального iso файла предложенный Dmytro16.
Исправил ошибки в файле AutoUnattend.xml.
УдалитьСпособ от Dmytro интересен и довольно прост, но не всегда подходит.
Как он уже упомянул для каждого образа свои смещения. А я старался использовать что-то более распространенное и подходящее большинству.
Спасибо! :)
УдалитьКстати если кому надо - образы винды 8.1 я беру тут http://philka.ru/forum/topic/45610-windows-81-originalnye-obrazy-microsoft-msdn-russian-ot-08042014/
Простите, хотел спроситью Почему при загрузке выскакивает сообщение, что не найден файл /source/install.wim? Спасибо!
ОтветитьУдалитьБез понятия. Когда выскакивает? После чего? Что делали с образом?
УдалитьДелвл то, что указано в данной статье. При чём сообщение выскакивает не постоянно, бывает всё работает, но чаще выскакивает сообщение о том, что не найден файл install.wim, и установка сбрасывается. Не могу понять в чём причина. Вчера сделал то, что указано для Windows 8 x64, и всё заработало. Но сомневаюсь, что это выход. Не вижу связи между отсутствием файла install.wim и редактированием BCD.
Удалитьа если попробовать интегрировать FiraDisk в дистрибутив... об этом писал тут:
Удалитьhttp://gromr1.blogspot.ru/2013/02/install-windows-vista-7-8-from-usb-modify-distr.html
кстати, дистрибутив то оригинальный от MS?
Только что пробовал запускать инсталляцию Windows 7 x86 и x64 c тем, что предлагалосьсделать для Windows 8 x64. Всё работает. Хотя в дальнейшем могут быть проблемы. Мне так кажется потому, что не улавливаю связи между отсутствием файла install.wim и редактированием BCD с помощью "modify_WIN8x64".
ОтветитьУдалитьА FiraDisk интегрирован в дистрибутив изначально.
ОтветитьУдалитьИсправь пожалуйста ссылки на скачивание FiraDisk и 2 ой файл. Спасибо, у тебя очен интересный и полезный блог.
ОтветитьУдалитьto GRomR1
ОтветитьУдалитьЗагрузка ISO из виртуального раздела.
хак-не-хак, не знаю...
Но хотели универсальное решение, получите))
Оригинал - http://www.rmprepusb.com/tutorials/autoiso
На русском - http://puhpol.ru/viewtopic.php?id=291
Конфигурация для меню без титла - чтобы прошла проверка флешки на наличие раздела, также если тип раздела равен 0x00 (отсутствует) - то обнуляем (если флешка ранее нами использовалась данным методом)...
Тут же понятное дело ориентировка только на тип раздела 0x00 - (не может быть разделом вашего HDD, разве что - не созданный раздел).
=======================================
#As this method relies on a blank, unused 4th entry in the boot drive's partition table, you
#should add these lines to the top of your main menu.lst file to check that it is safe to use:
# make empty table entry in 4th position in ptn table before running any menu entry
#last digit !result!
#parttype (%@root:~1,3%,3)
#set check=%@retval%
#filter hex val
parttype (%@root:~1,3%,3) | set check=
set check=%check:~-5,4%
if "%check%"=="" echo Error 22: No such partition! && configfile
if "%check%"=="0x00" partnew (%@root:~1,3%,3) 0 0 0 && echo NOTE: Unused PTN table entry 4 on drive (%@root:~1,3%,3) was successfully cleaned! && pause --wait=1
if not "%check%"=="0x00" echo WARNING: PTN TABLE ENTRY 4 (%check%) IS ALREADY IN USE! && pause
=======================================
Тут уже меню, также проверка на всякий случай и создание раздела (hdX,3) с типом 0x00 и размером/старт сектор/последний сектор = нашему ISO образу на флешке...
Например если не обнулять (hdX,3) раздел флешки, то в Winhex'е можно свободно открыть/или удалить (hdX,3) раздел, где сам раздел является своеобразной ссылкой на ISO образ на том же диске.
=======================================
title Test3
#USER SET variable for /path/isofile
set ISO=/iso/kali-linux-1.0.8-i386.iso
#AUTODETECT variable ISORoot for device with ISO-file, i.e. (hd0,0)
find --set-root --devices=h %ISO% && call set ISORoot=%@root^%
#AUTODETECT variable UUID for root device with ISO-file
uuid %ISORoot% && call set UUID=%^?%
#last digit !result!
#parttype (%@root:~1,3%,3)
#set check=%@retval%
#if not %@retval%==0 echo Error! && pause && configure
#filter hex val
parttype (%@root:~1,3%,3) | set check=
set check=%check:~-5,4%
if "%check%"=="" echo Error 22: No such partition! && pause && configfile
if not "%check%"=="0x00" echo WARNING: PTN TABLE ENTRY 4 (%check%) IS ALREADY IN USE! && pause && configfile
partnew (%@root:~1,3%,3) 0 %ISO%
map %ISO% (0xff)
checkrange 0x80 read 0x8280 && map (hd0) (hd1)
checkrange 0x80 read 0x8280 && map (hd1) (hd0)
map --hook
chainloader (0xff)
boot
=======================================
http://www.rmprepusb.com/tutorials/xbmcbuntu#TOC-Try-xbmcbuntu-directly-from-an-ISO-
http://www.rmprepusb.com/tutorials/tails#TOC-More-Examples
спасибо автору за проделанную работу, но по прошествии дня могу смело сказать что скрипт на добавление FiraDisk.cmd запускается при добавлении его в образ, но при этом вываливается новая проблема с файлом install.wim как на 7ке так и на 8.1
ОтветитьУдалитьспасибо за потраченное время
Доброго времяни суток, всё сделал как в описании, но появился один нюанс а именно:
ОтветитьУдалитьWindows не удалось собрать данные для [OSImage] поскольку указанный файл образа X:\sources\install.wim не существует.
При этом Fira disk стартует, образ монтируется........
на USB 2.0 проблема пропадает, а вот на 3.0 появляется, проверил через DiskPart определяется ли флешка в среде установки, оказалось что нет... Драйвера USB 3.0 в образ интегрировал, с помощью dism...... Подскажите где этот подводный камень или я очевидного не вижу... Заранее спасибо за ответ!
Здравствуйте.
УдалитьНе знаю ответ на этот вопрос.
Могу разве, что посоветовать поискать решение на форуме http://forum.ru-board.com/topic.cgi?forum=5&topic=48335&start=460
Или спросить там.
Возможно мой способ уже устарел. Я давно не слежу за этой темой.