Мультизагрузка, и не только.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Мультизагрузка, и не только. » Grub4DOS » Грузим ВИН 7/8 из одной папки (Обсуждение)


Грузим ВИН 7/8 из одной папки (Обсуждение)

Сообщений 1 страница 30 из 87

1

Обсуждаемая тема >> Загрузка Windows 7/8 из одной папки.

Теги: Загрузка Windows Win7 Win8 из одной папки,правка boot.wim

2

С вашего позволения влезу я со своим чемоданом :tomato: Изменяем boot.wim чтобы он искал install.wim. Я использую консольную утилиту ImageX.
Подготовка:

1.  Нам нужен инструмент для работы с WIM - ImageX

http://savepic.org/2750351.png - в архиве понадобится Инсталлятор для ImageX, 32/64 бита соответственно вашей ОС. Установить можно батником Install.bat или сразу .inf файлом. В общем там нужен только сам драйвер wimfltr.sys

или

WAIK - http://savepic.su/824228.gif Да, размерчик что нужно)) При том что нам нужна только "Пуск - Все программы - Microsoft Windows AIK - Командная строка средств развертывания" (правда коротенькое название для ImageX`а ?)

2. Заготовки, которые и составляют "поисковик" нашего install.wim - далее под спойлерами содержимое этих двух текстовых файлов - mysetup.cmd и winpeshl.ini.

Работаем:
1. Создаем для удобства папки MOUNT и MYUSB в корень локального диска C:\
2. Открываем папку C:\MYUSB, там создаем папку(и) 7X32 (и/или 7X64). В них сложим скрипты(mysetup.cmd и winpeshl.ini). К примеру, идем  в папку 7x32 и открываем блокнотом mysetup.cmd или любым текстовым редактором. Видим вот такое содержимое:

mysetup.cmd

@echo off
SET DD=7x32
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do @Call:Search %%i
:found
cls
If NOT "%DVDDrive%"=="" echo Found Install.wim at %DVDdrive%\%DD%\install.wim
IF "%DVDdrive%"=="" (
echo ERROR - COULD NOT FIND INSTALL.WIM in %DD% folder!
pause
pause
goto :EOF
)

if exist %DVDdrive%\%DD%\unattend.xml SET UN=/unattend:%DVDdrive%\%DD%\unattend.xml
if exist %DVDdrive%\%DD%\OEM\nul SET OEM=/m:%DVDdrive%\%DD%\OEM

REM look for whole sources folder copied over
If exist %DVDdrive%\%DD%\setup.exe  (
%DVDdrive%
REM setup will use its path to find the install.wim
%DVDdrive%\%DD%\setup.exe %OEM% %UN%

goto :RBT
)

if not exist X:\Setup.exe goto :BAD
REM if not then just call setup in root of boot.wim
X:\setup.exe /installfrom:%DVDdrive%\%DD%\install.wim  %OEM% %UN%
goto :RBT

:BAD
dir X:\ /b
echo Cannot find X:\Setup.exe !
@echo Press a key to reboot now...
pause

:RBT
wpeutil reboot
pause

exit

:Search
set var=1
for /f "tokens=1" %%a in ('dir /d %1:\%DD%\install.wim') do set var=%%a
if %var% EQU 0 set DVDdrive=%1:&goto:found

Нас интересует только вторая строка:
SET DD=7x32
7x32 - папка, где будет лежать наш install.wim. Также понадобится winpeshl.ini (вместе с mysetup.cmd они ищут положенный install.wim):

winpeshl.ini

[LaunchApps]
startnet.cmd
mysetup.cmd

Самое время внедрить этот скрипт в boot.wim что бы он при загрузке перенаправлялся не в папку sources, а в папку 7x32.
Копируем свой boot.wim нужной разрядности в папку C:\MYUSB\sources и обязательно выйти из папки, иначе будут проблемы при внедрении.
3. Запускаем один из Инструментов для WIM (ImageX.exe) и пишем следующее, по очереди (ждать выполнения перед вводом следующей команды):
1) Монтируем наш boot.wim командой:

Код:
IMAGEX /mountrw c:\MYUSB\sources\boot.wim 2 c:\MOUNT

2) Внедряем скрипт(mysetup.cmd) и конфигурационный файл(winpeshl.ini), который запускает этот скрипт:

Код:
copy C:\myusb\7x32\*.* C:\mount\windows\system32\*.*

Хочу обратить внимание на то, что скрипты могут лежать где угодно, просто здесь мы прописываем путь к папке их размещения в первой части команды и копируем содержимое той папки в структуру каталога монтирования(другими словами, в каталоги boot.wim).
3) Наконец размонтируем образ и попутно сохраняем:

Код:
IMAGEX /unmount /commit C:\MOUNT

В итоге получили в папке C:\MYUSB\sources уже готовый к употреблению boot.wim который будет искать install.wim в папке 7x32.
Скидываем этот boot.wim туда же где и наш install.wim и весь шлак с папки sources с нужного дистрибутива.
Как-то так.
Сидел разбирался с англ.сайта. Переводил и подгонял по логике, и написал данный мануал.Fixed by SunOK

3

FILTH
Командная строка средств развертывания не нужна, и WAIK собственно тоже..Пойдет обычный cmd. Единственно что, WAIK устанвливает imagex, но это можно и без него сделать.

Отредактировано zxen (2012-12-12 19:26:59)

4

Не, не надо ). По файлику могу немного пояснить.. for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do @Call:Search %%i.
Перечисляются все диски на наличие в указанной папке install.wim. Туда же можно положить unattend.xml, установка найдет его и будет использовать. Там же можно создать OEM папку, со всякими твиками и автоматизациями.

Отредактировано zxen (2012-12-12 19:47:49)

5

Ну я саму суть изложил, делать можно хоть в обычной консоли, хоть в не обычной) Кому удобней GimageX.
Да по параметрам Conty9 не много пояснял.

6

Да, и еще.. Почему то никто не желает пользоваться способностью граб4доса, маппить bootmgr, на лету редактировать его и грузить. Перекомпелировать его не обязательно.
Пример:

title Win7
map --mem /bootmgr (rd)
write --offset=0x105E (rd)+1 \xEB\x08
write --offset=0x54696 (rd)+1 номер
chainloader (rd)+1
root ()

С этой записью, bootmgr будет грузить BCD c нужным номером. То есть BCномер.  write --offset=0x54696 (rd)+1 5 , будет грузить BC5.

Отредактировано zxen (2012-12-12 20:12:54)

7

Привет господа! http://dark-os.com/images/smiles/dj.gif

zxen написал(а):

никто не желает пользоваться способностью граб4доса, маппить bootmgr,

Мне например удобнее иметь для каждой системы свой bootmgr .Про остальных не знаю.

zxen написал(а):

устанвливает imagex, но это можно и без него сделать.

Вот это если можно поподробнее.

8

zxen
А я томат...
А если серъезно, не знал вообще такого. Попозже попробую. То есть можно с 1 bootmgr грузить сколько угодно bcX?

9

FILTH
10 только, 0-9

Отредактировано zxen (2012-12-12 20:30:08)

10

http://dark-os.com/images/smiles/dj.gif  puhpol
http://savepic.su/824228.gif  Инсталляшка для imagex, 32/64 бита. Установить можно батником или сразу .inf файлом. В общем там нужен только сам драйвер wimfltr.sys, остальное для красоты.

Отредактировано zxen (2012-12-12 20:36:06)

11

FILTH написал(а):

Копируем нужный boot.wim в папку C:\MYUSB\sources и обязательно выйти с папки, иначе будут проблемы при внедрении.

FILTH, подскажите плиз: а вот boot.wim лучше брать оригинальный, а не модифицированный, типа от Core-2 или еще кого (даже если в самой сборке он не оригинальный)?
И еще - что с разрядностью boot.wim (какой лучше брать?), если сборщик в install.wim свалил обе разрядности? Кстати при таких сборках boot.wim всегда x32? И чем это чревато при установке из него x64 системы?
СПАСИБО!

12

Nropb
Вот это не в курсе, так как переделывал только оригиналы. Нужно как будет время попробовать. По идее если 1 бут.вим в Г-сборке. Тогда с ним и работать. Он уже настроен под доп софт + адресацию на установку винды с инстал.вим. Нам нужно только поправить путь. Это так... Теория.
Я думаю (например у монкрус 7 АИО) там идет BCD двойной.
1 пункт - Установка 32 бит - boot.wim
2 пункт - установка 64 бит - boot64.wim
То есть в каждом из них нужно изменить путь к install.wim
Думаю сработает.

Отредактировано FILTH (2013-01-01 18:21:05)

13

Nropb написал(а):

подскажите плиз: а вот boot.wim лучше брать оригинальный, а не модифицированный, типа от Core-2 или еще кого


Если делать как написано здесь (FILTH 2 пост) лучше брать чистый boot.wim.
Если делать "модифицированный, типа от Core-2 " то нужно понимать что делает сам скрипт ,как происходит загрузка и т .д.
Потому как при модифицированном загрузчике ,достаточно монтировать boot.wim и прописать загрузку скрипта (или нескольких) ,после этого сохранить изменения. То есть ,в один загрузчик можно запихать сколько угодно скриптов для загрузки разных систем.

Nropb написал(а):

что с разрядностью boot.wim (какой лучше брать?),

32 загрузчик грузит и 32 и 64 систему, загрузчик от 64 системы - только 64.(32 не загрузит).

Nropb написал(а):

Кстати при таких сборках boot.wim всегда x32? И чем это чревато при установке из него x64 системы?

Будет отсутствовать возможность восстановления 64 загрузчика штатными средствами.И не возможность установки на RAID массивы .(где то читал).

Как то так.

14

puhpol, FILTH, да и всем форумчанам доброго вечера!
Собственно сабж: В файле bootmgr.exe чтобы поменять имя файла BCD - это имя только раз по адресу 0000065140, или еще где?

15

Nropb Приветствую. http://dark-os.com/images/smiles/dj.gif

Nropb написал(а):

чтобы поменять имя файла BCD - это имя только раз по адресу 0000065140, или еще где?

Только в одном месте.Точно номер не помню, но судя по всему вы правильно написали.

16

здравствуйте, я вот тоже пытаюсь засунуть Семерку на флешку, но что-то пока не особо получается.
Наткнулся на одном форуме на ваш мануал, по ссылке забрел сюда, решил попробовать сделать все как описано здесь в первом посте, но возникло несколько вопросов. Первый, что делать с boot.wim ? можете хоть в трех словах описать как его модифицировать ? Еще хотел бы уточнить, способом который вы описали, мы как бы объединяем 32 и 64 разрядные ОСи, но прописываем параметры загрузки для каждой разрядности по отдельности, таким образом ведь должно работать восстановление х64 систем, верно ?

17

iZ0Top, соединение установщиков разных разрядностей здесь не описано, только загрузка того, иного, или совмещенного boot.wim.
Фаршировка boot.wim заключается в "copy C:\папка\*.* C:\mount\windows\system32\*.*" - содержимое папки скопировать в system32. А главное - результат операции "IMAGEX /unmount /commit C:\MOUNT".

Ну вот теперь понятно где завтык нашего конструктора. Из текста под спойлером создать батник в C:\папка\, и использовать манипуляции.

18

здравствуйте. сделал всё как написано в первом сообщении, понравился этот метод. только не пойму как изменить путь к install.wim, подскажите пожалуйста

19

ramdisk, этим как раз и занимается boot.wim после своего старта(предыдущие изменения загрузочных файлов к этому не имеют отношения). Наверно там логическая цепочка неявно выражена))
bootmgr→BCD→Boot.WIM→Setup.exe(тот что внутри boot.wim)→Install.WIM
Подправил второе сообщение, от FILTH - теперь можно вдумчиво вчитываться.

20

ramdisk Доброго времени! http://dark-os.com/images/smiles/dj.gif
Как переделать boot.wim , в двух словах не описать.Хотя все достаточно просто.Надо прописать запуск скрипта который монтирует папку с install.wim как образ диска ,и запускает от туда файл setup.
Если очень надо,можно понять как это сделать из второго поста.Ближайшее время постараюсь описать порядок действий ....

21

puhpol, есть ли разница?:
задать 2 переменные DD=puh1 и MM=win7x64, или одну FF=puh1\win7x64 , в итоге \%DD%\%MM%\ всё равно что \%FF%\.
Что за диск CodySafe Smart Drive (Z: )? уж не эмулятор полноценных флешек часом?-)

22

Привет Умник! http://dark-os.com/images/smiles/dj.gif  http://dark-os.com/images/smiles/ad.gif

SunOK написал(а):

задать 2 переменные DD=puh1 и MM=win7x64, или одну FF=puh1\win7x64 , в итоге \%DD%\%MM%\ всё равно что \%FF%\.

Что в лоб ,что по лбу.Какая разница, результат тот же.
Я же написал ;"Записки чайника".Это вы одаренные,а я так... Погулять вышел. http://dark-os.com/images/smiles/ad.gif

SunOK написал(а):

Что за диск CodySafe Smart Drive (Z: )? уж не эмулятор полноценных флешек часом?-)

Нет.Оболочка для запуска программ. http://www.codyssey.com/products/codysafe.html
Я в поиске.Не могу найти оболочку .То то не так,то это.Всем устраивает РУН МИ ,но унее недостаток один.Который перекрывает все достоинства,не хочет работать на 64 разрядности.Вот пытаюсь найти что то.Весь мозг поламакал. http://dark-os.com/images/smiles/ak.gif

23

больше работы - больше вероятность ошибки :flag:
Нравиться мне всетаки пословица: единственный способ заставить комп делать то, что ты хочешь, а не то что он может - это программирование. Осталось научится воплощать ее http://nnm-club.ru/forum/images/smiles/k_umnik.gif.
Хорошая прогулка - столько народу вышло свежим воздухом подышать http://nnm-club.ru/forum/images/smiles/k_respekt.gif!

24

puhpol написал(а):

Ближайшее время постараюсь описать порядок действий ....

буду ждать. а какой файл в boot.wim вообще осуществляет загрузку install.wim?

25

я так понял, что осуществляет загрузку install.wim файл setup.exe из boot.wim. правильно?

26

да, setup.exe с ключом /installfrom:%моя любимая папка% %и еще нужные папки%

27

понятно. спасибо вам большое, помогли здорово!!! 7рку уже поставил, ещё щас 8рку поставлю. http://dark-os.com/images/smiles/bp.gif

28

ramdisk написал(а):

я так понял, что осуществляет загрузку install.wim файл setup.exe из boot.wim. правильно?

Не совсем,файл setup.exe из "имя папки".То есть из папки в которой расположен install.wim. А к boot.wim это не имеет не какого отношения.

29

Судя по всему скрипт монтирует нашу папку в какой то виртуальный "DVDdrive" и запускает установку оттуда. Но во время установки происходит перезагрузка. Какова вероятность, что программа установки после перезагрузки снова захочет увидеть диск в приводе? И может есть какой то способ исправить boot.wim (типа как мы правим bootmgr) что бы он искал install.wim в нужной нам папке?

30

puhpol написал(а):

Родом он конечно же из монтированной папки, но в случае его отсутствия там по каким-то причинам будет запущен X:\setup.exe (тоесть с загруженного boot.wim); оба идентичны. [SunOK]

И не надо писать в моих сообщениях. :mad:

valeri-dexter написал(а):

Но во время установки происходит перезагрузка.

И что? После перезагрузки установка идет с HDD , и флешка как и диск не нужна.


Вы здесь » Мультизагрузка, и не только. » Grub4DOS » Грузим ВИН 7/8 из одной папки (Обсуждение)


Рейтинг форумов | Создать форум бесплатно