11 февраля 2013 г.

Установка Windows Vista/7/8 с флешки с модификацией дистрибутива
[Install Windows Vista/7/8 from USB stick with modification distribution]

    Как Вы уже могли заметить, для установки Windows с флешки помимо самого установочного образа требуется еще 2 файла (AutoUnattend.xml и FiraDisk.cmd), причем файл AutoUnattend.xml должен обязательно располагаться в корне накопителя. И это не очень удобно. К тому же этот способ, говорят, не работоспособен с USB-HDD. Но с помощью незначительных операций можно избавиться от этих недостатков. Необходимо всего лишь интегрировать FiraDisk в дистрибутив.
    И сейчас я покажу, как это сделать.


Ручная интеграция FiraDisk в дистрибутив.

1. Достать boot.wim из ISO-образа дистрибутива (\sources\boot.wim) любым удобным способом и положить его в какую-нибудь папку.

2. Запустить командную строку от имени администратора и перейти в каталог с boot.wim, чтобы этот каталог стал текущим.

3. Создать каталог mount (рядом с boot.wim) и смонтировать boot.wim (индекс 2) в этот каталог:
dism /mount-wim /wimfile:.\boot.wim /index:2 /mountdir:.\mount
    Примечание:
    1) Команда DISM присутствует только в Windows 7 и старше.
    2) На XP и Vista можно использовать imagex или gimagex.

4. Скачать файлы FiraDisk.cmd и winpeshl.ini и скопировать их в папку рядом с boot.wim
    Примечание:
    Файл winpeshl.ini содержит инструкцию: запустить FiraDisk.cmd по следующему пути; которая выполняется во время запуска WinPE.

5. Скопировать их в папку mount следующими командами:
copy .\FiraDisk.cmd .\mount\Windows\System32
copy .\winpeshl.ini .\mount\Windows\System32
6. Отмонтировать каталог mount с применением изменений:
dism /unmount-wim /mountdir:.\mount /commit
7. Удалить все ресурсы, связанные с подключенным wim-образом (boot.wim):
dism /cleanup-wim
8. Закрыть командную строку - она больше не нужна.

9. Скопировать модифицированный boot.wim обратно в ISO-образа дистрибутива по тому же пути взамен существующего (\sources\boot.wim).

10. Всё!

Автоматическая интеграция FiraDisk в дистрибутив.

1. Скачать архив со скриптом (addFira_in_ISO.rar).

2. Положить скрипт (addFira_in_ISO.cmd) в одну папку с дистрибутивом (ISO-образом).

3. Отключить антивирус и запустить скрипт.
    Примечание:
    Отключить антивирус обязательно перед запуском! (т.к. boot.wim содержит много файлов, которые довольно быстро обрабатываются, а антивирь в это время их проверяет и не дает к ним доступа, из-за этого могут возникунть разные ошибки, например, "Error: 5 Access Denied").

4. Разрешить запуск с привилегиями админа (или сразу запустить от имени Администратора).

5. Вписать имя дистрибутива в появившемся приглашении (имя и расширение, без кавычек!, регистр не важен).

6. Дождаться завершения скрипта и получения сообщения "Success!".

    О том как создавался этот скрипт, смотрите в следующей статье.



    Теперь необходимость в файлах AutoUnattend.xml и FiraDisk.cmd, находящихся на флешке, пропадает (их можно удалить). Так же теперь можно устанавливать Windows с USB-HDD.
    Для установки Windows с данного дистрибутива использовать следующий пункт меню (в принципе он не изменился), на примере Windows 8 (x86) (образ в папке Boot, дефрагметирован):
title Windows 8 (x86)
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)



Дополнение (альтернативный, возможно лучший вариант):
После написания статьи появилcя интегратор FiraDisk в виде exe-приложения. Возможно пользоваться им даже проще. Так что оставляю ссылку на него.

Используемый материал:
Сообщение Atlant'a на greenflash.su
Средство системы обслуживания образов развертывания и управления ими (DISM)
Сообщение Cha-Cha на greenflash.su
Установка Windows 7 x86-x64, 8 x86 из ISO образа на флешке или USB-HDD
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.

13 комментариев:

  1. Спасибо. Очень полезная статья.
    Еще если можно напишите как создавали файл FiraDisk.cmd, про интеграцию туда драйвера firadisk

    ОтветитьУдалить
    Ответы
    1. Создавал не я.
      Насколько мне известно, создавал ув. Atlant (1 ссылка в используемом материале).
      А создавал он так:
      http://greenflash.su/forum/5-777-20121-16-1360090507
      Возможно этот скрипт вам прояснит ситуацию (мне прояснил :)):
      http://forum.ru-board.com/topic.cgi?forum=62&topic=23213&start=2560#18

      Очень удобный кстати способ:
      Кучу файлов можно упаковать в один самораспаковывающийся cab-архив-скрипт, с последующим запуском определенного cmd-скрипта из архива. В теории это как-то сложно объяснить, на практике же оказалось не так уж и трудно.
      Аналогичный скрипт мне удалось сделать (разве что без сжатия):
      http://greenflash.su/forum/5-777-20145-16-1360771235

      Удалить
    2. Супер. Даже не думал, что так можно :)
      После перехода с флешки на внешний HDD это единственный хорошо работающий способ установки Win8 из ISO. Win7 работает и с Autounattend, а вот восьмерка более привередливая :)

      CAB файл с сжатием и без прекрасно делается при помощи cabarc.
      К сожалению плагин для TC на Win8 x64 отказался нормально работать.

      Удалить
  2. Спасибо за скрипт. Как он работает вроде разобрался, но вот вопрос. Почему образ после работы скрипта стал весить 2,44 гб вместо 2,30 гб? Там ведь 2 файла всего добавляется, применял на win7x86 original.

    ОтветитьУдалить
  3. Скажите, работает ли это для Windows 8 x64?

    ОтветитьУдалить
    Ответы
    1. Для Windows 8 x64 несколько другая последовательность действий. Писал тут:
      http://gromr1.blogspot.ru/2013/02/install-windows-8-from-usb.html

      Можно воспользоваться скриптами. Сначала modify_WIN8x64, затем addFira_in_ISO

      Удалить
  4. I think it's more easy to integrate FiraDisk to distros of Windows 7 or 8 (8.1). With FiraDisk Integrator.

    ОтветитьУдалить
    Ответы
    1. I agree, but when I wrote this message FiraDisk Integrator didn't exist

      Удалить
  5. А UltraISO сама по себе запускается вообще?

    ОтветитьУдалить
  6. Что то натворил я такого, что не работает ...
    Сделал вот что: Собрал из оригинальных образов Win 8.1 все редакции одной рарядности, обработал их на предмет включения Fira и теперь не могу подключить получившийся образ; хоть плач !!! Даже ошибки нет, а какие то зеленые полоски по всему экрану.
    Причем если я полученный образ записываю на флэшку и делаю ее загрузочной, то все нормально устанавливается (любая Win 8.1), и при этом я вначале вижу что подключается Fira...
    Куда копать, кто сталкивался с таким, подскажите.

    ОтветитьУдалить
  7. Что значит "подключить получившийся образ"?

    ОтветитьУдалить
  8. тута тоже самое но более популярнее, да и интеграция FiraDisk в образ происходит всего с помощью запуска EXE-шника
    http://forum.ru-board.com/topic.cgi?forum=5&topic=32855&start=7523&limit=1

    ОтветитьУдалить