[Цитировать]

    puhpol
  • 2
  • Стаж: 9 лет 4 месяца
  • Сообщений: 888
  • Репутация:73

    [+] [-]
Как установить Windows 7 из папки?
Здесь опубликую скрипт, взятый из этой статьи >> СТАТЬЯ
СКРИПТ должен запускаться под WinPE (загрузчик Windows 7 / 8 / 8.1)
1. Создаем в корне носителя папку "имя папки".
2. Копируем содержимое папки "sources" из образа с Windows 7 в паку "имя папки".
3. Прописываем в скрипт "имя папки" - выделено красным.

СКРИПТ

@echo off
SET DD=имя папки
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 if exist %%I:\%DD%\install.wim set DVDdrive=%%I:
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
4. Прописываем запуск скрипта в загрузчике. Это все.
ВАЖНО! Если в загрузчике boot.wim не удален файл setup.exe, достаточно только файла install.wim в "имя папки".
Что с этим делать - решайте сами. Удачи!

[Цитировать]

    dixoos
  • 322
  • Стаж: 9 лет 1 месяц
  • Сообщений: 3
  • Репутация:0

    [+] [-]
ВАЖНО! Если в загрузчике boot.wim не удален файл setup.exe, достаточно только файла install.wim в "имя папки".
приветствую, подскажите, пожалуйста;
было это давно, но была сделана флешка, где в папке sources лежали только install.wim и boot.wim, а установка посредством скрипта mysetup.cmd (примерно, что и у вас описан здесь).
все работало.
сейчас делаю подобное, но срабатывает только при наличии "рассыпухи" в папке sources. иначе выдает ошибку о не найденом драйвере (как я понимаю связано с setup.exe)
boot.wim оригинальный:
#1 - Microsoft Windows PE
#2 - Microsoft Windows Setup (setup.exe только здесь вижу)
1. я правильно понимаю?, что BCD грузит первый образ, в котором и нет setup.exe
2. если флешка используется только для чистой установки из под БИОС - второй образ в бутвим можно убрать?

[Цитировать]

    puhpol
  • 2
  • Стаж: 9 лет 4 месяца
  • Сообщений: 888
  • Репутация:73

    [+] [-]
dixoos, Приветствую!
Тема старая , и скрипт уже обновлен conty9
Темерь работает с wim,esd,swm файлами. При наличии папки $OEM$ (OEM) или файла unattend.xml (unattend.xml) подцепит автоматически.

Последняя версия скрипта

@echo off
setlocal enabledelayedexpansion
SET DD=Имя папки
SET MM=Имя подпапки
SET IN=NI
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 (
set IP=%%I:\!DD!\!MM!
dir /d !IP!\install.wim&&set IN=!IP!\install.wim
dir /d !IP!\install.esd&&set IN=!IP!\install.esd
dir /d !IP!\install.swm&&set IN=!IP!\install.swm
IF !IN! NEQ NI goto :INST
)
IF %IN% EQU NI (
echo ERROR - COULD NOT FIND INSTALL.WIM(ESD,SWM) in %DD%\%MM% folder!
pause
pause
goto:RBT
)
:INST
echo %IP%
if exist %IP%\unattend.xml SET UN=/unattend:%IP%\unattend.xml
if exist %IP%\_unattend.xml SET UN=/unattend:%IP%\_unattend.xml
if exist %IP%\OEM\nul SET OEM=/m:%IP%\OEM
if exist %IP%\$OEM$\nul SET OEM=/m:%IP%\$OEM$
set ST=X:\Setup.exe
if exist %IP%\Setup.exe set ST=%IP%\Setup.exe
if not exist %ST% goto :BAD
cd /d %IP%
%ST% /installfrom:%IN% %OEM% %UN%
goto :RBT
:BAD
dir X:\ /b
echo Cannot find %ST% !
echo.
:RBT
exit
@echo Press a key to reboot now...
pause
wpeutil reboot
pause
Если запуск скрипта происходит под чистым boot.wim , достаточно только файла install.wim. Так как в самом файле во втором образе
8927#2 - Microsoft Windows Setup (setup.exe только здесь вижу)
все нужное уже есть. И при стандартной загрузке не измененного boot.wim загружается именно образ с индексом 2.

[Цитировать]

    dixoos
  • 322
  • Стаж: 9 лет 1 месяц
  • Сообщений: 3
  • Репутация:0

    [+] [-]
загружается именно образ с индексом 2
значит и скрипт кидать во второй образ? я кидал в первый винПЕ который
запутался полностью, для чего каждый образ нужен тогда

[Цитировать]

    puhpol
  • 2
  • Стаж: 9 лет 4 месяца
  • Сообщений: 888
  • Репутация:73

    [+] [-]
А проще по моему использовать 78Setup или Win Installer 1.0 или ZX WBF Changer 1.3
Ошибка с драйверами может происходить из за отсутствия драйвера USB 3 ...
значит и скрипт кидать во второй образ?
Обязательно во второй образ.
Если напомните позже, выложу набор для простой интеграции скрипта в нужный образ....
Сегодня у дочки свадьба, так что извините.

[Цитировать]

    dixoos
  • 322
  • Стаж: 9 лет 1 месяц
  • Сообщений: 3
  • Репутация:0

    [+] [-]
Ошибка с драйверами может происходить из за отсутствия драйвера USB 3 ...
ага, это учли. с полным sources - работает, без всех файлов - ошибка драйвера (думаю все таки с setup.exe проблема) почему то я решил что сркипт в первом образе должен быть... пошел ковырять
спасибо за наводки!

[Цитировать]

    Eagle123
  • 205
  • Стаж: 9 лет 2 месяца
  • Сообщений: 125
  • Репутация:7

    [+] [-]
Надоел мне этот косяк Майкрософт или я чего-то не понимаю как работает. Во всех boot.wim x64 с русским пользовательским интерфейсом (dism /image:D:\Mount /Set-UILang:ru-RU), начиная с windows 7, после добавления "lang.ini" с несколькими языками (рус+енг) в папку "sources", после начала установки Windows скриптом из шапки, появляется окно выбора языка, НО оно шире, чем должно быть, надпись "2015 майкрософт" внизу сильно съезжает налево, а после выбора языка вообще мрак, т.к. следующее окно как-то криво открывает по верх старого, в общем смотрите изображения ниже.
Причем этот косяк отсутствует на x86 boot.wim, а также, если сменить пользовательский язык в x64 на английский (dism /image:D:\Mount /Set-UILang:en-US), то пропадает.
Кстати, кто знает, почему если ставить винду через этот скрипт, то меню установки "белое", а если без всяких скриптов, то синее, и причем тогда этот косяк вышеописанный проявляется только в том, что надпись "майкрософт 2015" не влезает, а окошки нормально подогнаны под друг друга и не разъезжаются, в общем косяка и не заметно почти.

[Цитировать]

    Jurik43
  • 115
  • Стаж: 9 лет 3 месяца
  • Сообщений: 87
  • Репутация:0

    [+] [-]
  • Откуда: Саранск
MrEagle, Привет.
Замените в папке sources https://yadi.sk/d/BWHE3BzNiciXS

[Цитировать]

    Eagle123
  • 205
  • Стаж: 9 лет 2 месяца
  • Сообщений: 125
  • Репутация:7

    [+] [-]
Jurik43, Приветствую!
А вы могли бы как-то пояснить этот косяк и откуда у вас эти исправленные файлы, это уже где-то обсуждалось?
Спасибо! Попозже проверю их.

[Цитировать]

    Jurik43
  • 115
  • Стаж: 9 лет 3 месяца
  • Сообщений: 87
  • Репутация:0

    [+] [-]
  • Откуда: Саранск
10272А вы могли бы как-то пояснить этот косяк и откуда у вас эти исправленные файлы
Точно не могу сказать (не специалист), можете просто взять spwizres.dll из 8.1 и тоже будет нормально. А я заменил только MUI, взял из spwizres.dll 8.1 и вставил в spwizres.dll 10.

[Цитировать]

    FaTaL
  • 2226
  • Стаж: 8 лет 3 месяца
  • Сообщений: 1
  • Репутация:0

    [+] [-]
У меня есть стандартный Windows PE 8.1 из Windows Kits. Где мне взять для него Setup.exe?

[Цитировать]

    SOFFON
  • 2252
  • Стаж: 8 лет 3 месяца
  • Сообщений: 85
  • Репутация:0

    [+] [-]
Хочу поделится с вами еще одним метод установки из своей папки. В принципе он не многим и отличается, да и скрипт последний от всеми нами уважаемого conty9 с небольшими исправлениями. Так вот, в чем собственно разница спросите? Разница в том, что в моем случае установка происходит как с оригинально диска, окна все отображаются правильно и есть окно с восстановлением вЫнь .

Для правильной загрузки и отображения окон, нам нужны файлы из папки sources. Я эти файлы беру не из образа с windows а из самого boot.wim\2\sources\ (Ложим в Флешка:\папка с виндовс\sources\) ну во первых именно в boot.wim по пути что написал выше, лежит папка recovery в самом образе ее нет(собственно в boot.wim\2\sources\ лежат только необходимые файлы для правильной загрузки), ну и по размеру файлов выходит в 2 раза меньше мб 40 все вместе, чем если брать из образа. Чтобы все происходило как в оригинале, нужно в скрипте прописать запуск X:\Setup.exe именно его а не допустим X:\sources\Setup.exe но при этом не использовать ключи вроде /installfrom: вообще никакие ключи нельзя использовать, нужно запускать как в оригинале X:\Setup.exe . Вы спросите, как тогда boot.wim если не использовать ключи, найдет наш install.wim в нашей папке, ну допустим в Флешка:\7164\sources\install.wim? Все дело в том, что запускать мы будет Setup.exe не из X:\Setup.exe а из Флешка:\7164\Setup.exe его как и файлы из папки sources мы берем из boot.wim\2\setup.exe (Ложим в Флешка:\папка с виндовс\). Setup.exe найдет рядом лежащую папку sources и все запустит правильно и как нужно. Дело в том, что Setup.exe первым делом, будет искать install.wim в папке sources которая находится рядом и если он его не находит, то уже потом ищет в корне дисков в папке sources. То есть получается, для того чтобы нам установить windows из своей папки, нам не нужно прописывать ключ для поиска install.wim, достаточно запустить Setup.exe не из X:\Setup.exe а из нашей папки с windows. Вот немного правленый мной скрипт под все это дело
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET DD=7132
SET MM=SOURCES
SET IN=NI
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 (
SET SD=%%I:\!DD!
SET IP=%%I:\!DD!\!MM!
DIR /D !IP!\INSTALL.WIM&&SET IN=!IP!\INSTALL.WIM
DIR /D !IP!\INSTALL.ESD&&SET IN=!IP!\INSTALL.ESD
DIR /D !IP!\INSTALL.SWM&&SET IN=!IP!\INSTALL.SWM
IF !IN! NEQ NI GOTO :INST
)
IF %IN% EQU NI (
ECHO ERROR - COULD NOT FIND INSTALL.WIM(ESD,SWM) IN %DD%\%MM% FOLDER!
PAUSE
PAUSE
GOTO :RBT
)
:INST
IF EXIST %IP%\AUTOUNATTEND.XML SET UN=/unattend:%IP%\AUTOUNATTEND.XML
IF EXIST %IP%\$OEM$\NUL SET OEM=/m:%IP%\$OEM$
SET ST=%SD%\SETUP.EXE
IF NOT EXIST %ST% SET ST=X:\SETUP.EXE
IF NOT EXIST %ST% GOTO :BAD
IF EXIST %SD%\SETUP.EXE (%ST%) ELSE %ST% /installfrom:%IN% %OEM% %UN%
GOTO :RBT
:BAD
DIR %SD%\ /B
ECHO Cannot find %ST% !
ECHO.
:RBT
EXIT
@ECHO Press a key to reboot now...
PAUSE
WPEUTIL REBOOT
PAUSE
В скрипте прописано, что если файл Setup.exe не будет найден в Флешка:\папка с виндовс\Setup.exe то тогда скрипт отработает как и раньше, запустив Setup.exe из X:\Setup.exe с ключами подхвата папки OEM и файла ответов.xml ну и с указанием места где находится наш install.wim. Если же файл Флешка:\папка с виндовс\Setup.exe найден и выполнены все действия описанные выше, то установка будет проходить как в оригинале с автоподхватом &OEM& и Autounattended.xml из папки sources, с правильным отображением окон и окном восстановления windows. Вот наверное как то так... Может кому и пригодится. aa

[Цитировать]

    Vavag
  • 6
  • Стаж: 9 лет 4 месяца
  • Сообщений: 151
  • Репутация:72

    [+] [-]
  • Откуда: Оттуда я один такой.
SOFFON, интересный подход. Только вникнуть надо. ab

[Цитировать]

    SOFFON
  • 2252
  • Стаж: 8 лет 3 месяца
  • Сообщений: 85
  • Репутация:0

    [+] [-]
26652SOFFON, интересный подход. Только вникнуть надо. ab
На самом деле даже вникать не нужно. Из нужной windows берете boot.wim открываете его допустим 7zipом и из 2-го индекса берете файлы Setup.exe который положите к себе на флешку в папку с windows ну допустим как писал Флешка:\7164\Setup.exe и файлы из того же boot.wim 2-го индекса из папки sources кидаете себе в Флешка:\7164\sources\
на этом собственно и все. Дальше все как всегда, выше написанный скрипт внедряете в boot.wim во второй индекс и все готово!!! Скрипт можно оставить как в .cmd так и при желании в .exe закатать чтобы все было в тихом режиме ( то есть чтобы при установке не выскакивало окно скрипта)

[Цитировать]

    dem0n43
  • 556
  • Стаж: 9 лет
  • Сообщений: 65
  • Репутация:2

    [+] [-]
  • Откуда: ИзЗАДА
У меня вопрос такой : имеется папка MOUNT в нее кидаем wim,esd,swm но с разными названиями например 7.wim
если в скрипте прописать *

скрипт

@echo off
setlocal enabledelayedexpansion
SET DD=MOUNT
SET IN=NI
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 (
set IP=%%I:\!DD!
dir /d !IP!\*.wim&&set IN=!IP!\*.wim
dir /d !IP!\*.esd&&set IN=!IP!\*.esd
dir /d !IP!\*.swm&&set IN=!IP!\*.swm
IF !IN! NEQ NI goto :INST
)
IF %IN% EQU NI (
echo ERROR - COULD NOT FIND *.WIM(ESD,SWM) in %DD% folder!
pause
pause
goto:RBT
)
то выскакивает ошибка
Как сделать чтоб искал не по названию ?

Страница 1 из 2


Показать сообщения:    

Текущее время: 28-Мар 15:04

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы