Быстрая установка Windows
В этой статье мы рассмотрим вариант установки виндов в автоматическом режиме используя batch скрипты, а так же рассмотрим возможности их модификации.
Создание WinPE окружения
идём на сайт docs.microsoft.com(скачивание и установка Windows ADK) спускаемсь в раздел “Другие загружаемые файлы для ADK” и в табице скачиваем следующие пункты:
- скачайте Windows ADK для Windows 10, версия 2004
- скачайте надстройку Windows PE для ADK, версию 2004
а затем по порядку установите. После установки в меню пуск выберете папку Windows Kits, а в ней “среда средств развертывания и работы с образами”. В этой командной строке набераем следующие команды:
C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools>cd C:\
C:\>copype amd64 C:\winpe
===================================================
Creating Windows PE customization working directory
C:\winpe
===================================================
C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\Media\bootmgr
...
C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\Media\bootmgr.efi
Скопировано файлов: 153.
Скопировано файлов: 1.
Скопировано файлов: 1.
Скопировано файлов: 1.
Success
C:\>
Получаем файл install.wim
перед тем как достать этот файл нам нужно сначало понять а что это такое вообще. Файл с раширением wim это сборник релизов операционных систем семейства Windows, тобишь упрощонно говоря архив со всеми фалами для развёртывания Windows. Подробнее на ru.wikipedia.org(Windows Imaging Format)
Можно скачать с оф.сайта www.microsoft.com(Скачать образ диска с Windows 10 (файл ISO)), ну или скачать с тореннтов суть от этого не изменяться.
монтируем iso образ. И копируем из папки sources
файл insall.wim
или он может называться install.esd
- это сжатый образ в папку C:\winpe\media\sources
.
Редактируем файл boot.wim
Для того чтобы его отредактировать его нужно смонтировать в папку. Для этого запускаем командную стоку с правами администратора.
C:\Windows\system32>cd С:\
С:\>Dism /mount-wim /wimfile:С:\winpe\media\sources\boot.wim /index:1 /mountdir:С:\winpe\mount
Cистема DISM
Версия: 10.0.17763.1
Подключение образа
[==========================100.0%==========================]
Операция успешно завершена.
С:\>
так нам надо отредактировать файл C:\winpe\mount\Windows\System32\startnet.cmd
и для этого открываем Свойства -> Безопастность -> Изменить… выберете группу Пользователи
и ставим галочку на против Изменение
ну и сохраняем изменения. Затем открываем его в блокноте (ПКМ -> Изменить).
@echo off
@echo wpeinit
wpeinit
@echo call wpeutil UpdateBootInfo
wpeutil UpdateBootInfo
set WinPEREG="HKLM\System\CurrentControlSet\Control"
set WinPEKey=PEBootRamdiskSourceDrive
set WinPESource=
for /f "skip=2 tokens=3" %%A in ('call Reg query %WinPEREG% /v %WinPEKEY%') do set WinPESource=%%A
@echo WinPESource is drive letter "%WinPESource%"
if "%WinPESource%"=="" echo Drive letter NOT found.&& call :FindDrive
echo WinPESource is "%WinPESource%"
@echo call %WinPESource%sources\install.cmd
call %WinPESource%sources\install.cmd
goto :END
:FindDrive
echo Trying to find drive letter using diskpart
echo Lis Vol>x:\FindVol.txt
diskpart /s x:\FindVol.txt>x:\VolumeList.txt
for /f "skip=8 tokens=3-4" %%A in (x:\VolumeList.txt) do (
echo Checking drive letter %%A has volume label of %%B
if /i "%%B"=="WINPE" set WinPESource=%%A
)
set WinPESource=%WinPESource%:\
goto :EOF
:END
этот скрипт ищет флешку или диск с которого запущен и запускает скрипт из папки sources\install.cmd
. Так и теперь можем заняться украшатьельством, а именно заменить фон рабочего стола для этого надо изменить D:\winpe\mount\Windows\System32\winpe.jpg
но перед этим нужно сменить владельца и прова на файле. Все анологично файлу startnet.cmd
за исключением того что нужно сменить владельца на группу пользователи
. После изменений
C:\Windows\system32>cd С:\
С:\>Dism /unmount-wim /mountdir:С:\winpe\mount /commit
Cистема DISM
Версия: 10.0.17763.1
Сохранение образа
[==========================100.0%==========================]
Отключение образа
[==========================100.0%==========================]
Операция успешно завершена.
С:\>
Создаём install.cmd
Создаём скрипт по пути C:\winpe\media\sources\install.cmd
с содержимым:
@echo off
cls
echo _ ___ __
echo ^| ^| / (_)___ ____/ /___ _ _______ ^<`)
echo ^| ^| /^| / / / __ \/ __ / __ \ ^| /^| / / ___/ (//
echo ^| ^|/ ^|/ / / / / / /_/ / /_/ / ^|/ ^|/ (__ ) 1
echo ^|__/_______/ /_/\__,_______/____^|__/____/ __ ____
echo / ____/___ ______/ /_ / _/___ _____/ /_____ _/ / /
echo / /_ / __ `/ ___/ __/ / // __ \/ ___/ __/ __ `/ / /
echo / __/ / /_/ (__ ) /_ _/ // / / (__ ) /_/ /_/ / / /
echo /_/ \__,_/____/\__/ /___/_/ /_/____/\__/\__,_/_/_/
echo Made by birdiecode
echo.
echo Check disks...
echo.
@echo.>x:\listdisk.txt
@echo list disk>>x:\listdisk.txt
@echo exit>>x:\listdisk.txt
call diskpart /s x:\listdisk.txt>x:\Disks.txt
for /f "skip=6 delims=" %%A in (x:\Disks.txt) do (
if "%%A"=="Leaving DiskPart..." goto :brfor1
echo %%A
)
:brfor1
echo.
set /p DiskInst="Select the disk to install Windows: "
echo Legacy installation
@echo.>x:\winpart.txt
@echo select disk "%DiskInst%">>x:\winpart.txt
@echo clean>>x:\winpart.txt
@echo create partition primary size=100>>x:\winpart.txt
@echo active>>x:\winpart.txt
@echo format quick fs=ntfs label="System">>x:\winpart.txt
@echo assign letter="S">>x:\winpart.txt
@echo create partition primary>>x:\winpart.txt
@echo format quick fs=ntfs label="Windows">>x:\winpart.txt
@echo assign letter="W">>x:\winpart.txt
@echo exit>>x:\winpart.txt
diskpart /s x:\winpart.txt
echo Check Wim image...
dism /apply-image /imagefile:%WinPESource%sources\install.wim /index:1 /applydir:W:\
bootsect /nt60 S: /mbr
W:
cd W:\Windows\System32
bcdboot W:\Windows /s S: /f BIOS
exit
В нём имет смысал отредактировать строку 46
dism /apply-image /imagefile:%WinPESource%sources\install.wim /index:1 /applydir:W:\
а именно имя образа если оно отличаеться и /index:
. Для того чтоб посмотреть список всех редакци в образе воспользуйтесь командой:
С:\>Dism /Get-WimInfo /WimFile:С:\winpe\media\sources\install.wim
Cистема DISM
Версия: 10.0.17763.1
Сведения об образе : С:\winpe\media\sources\install.wim
Индекс: 1
Имя: Windiws ltsc
Описание: Windiws ltsc
Размер (байт): 9 451 993 100
Операция успешно завершена.
С:\>
Создание загрузочного насителя
Действия выполняются из под командной строки “среда средств развертывания и работы с образами”
USB-накопителя
И вот долгожданный момент запись на флешку
С:\>MakeWinPEMedia /UFD C:\winpe F:
ISO образ
С:\>MakeWinPEMedia /ISO C:\winpe C:\winpe\WinPE_amd64.iso
Имеет смысал изменить имя образ воспользуйтесь утилитой
UltraISO
и/или изменить строку 26 cWINPE
на то что вам нравиться илиDVD_DISK
в файлеC:\winpe\mount\Windows\System32\startnet.cmd
главное что-бы имя было одинаково ведь это один из способов найти установочный наситель.
ресурсы что я использовал
- http://scriptcoding.ru/2013/08/19/cmd-for/
- https://celitel.info/klad/nhelp/helpbat.php?dcmd=usf_ecran
- https://www.bootdev.ru/2018/08/Installing-Windows-from-WIM-or-ESD-image.html#ManualInstall
- https://www.bootdev.ru/2019/05/Repair-Windows-Bootloader.html
- https://computer76.ru/2019/07/18/legacy-%D0%B8%D0%BB%D0%B8-uefi/
- https://winkomp.ru/fajly-cmd-rabota-s-fajlami-iz-konsoli-chast-2
- https://docs.microsoft.com/ru-ru/windows-hardware/manufacture/desktop/winpe-mount-and-customize#addwallpaper
- http://pyatilistnik.org/kak-v-cmd-posmotret-vse-diski-windows/
- https://habr.com/ru/post/301534/
- https://linux-tips.com/t/booting-from-an-iso-image-using-qemu/136/2
- https://docs.microsoft.com/ru-ru/windows-hardware/manufacture/desktop/wpeinit-and-startnetcmd-using-winpe-startup-scripts
- https://windowsnotes.ru/other/izvlekaem-fajly-iz-ustanovochnogo-obraza-windows/
- http://pyatilistnik.org/sozdaem-svoyu-sborku-windows-10-3-chast/
- https://windowstips.ru/kak-sozdat-svoyu-sborku-windows-10
- https://habr.com/ru/post/181261/
- https://ru.wikipedia.org/wiki/Windows_Imaging_Format
- https://remontcompa.ru/windows/sborki-i-distributivy-windows/1521-kak-sozdat-svoyu-sborku-windows-s-pomoschyu-programmy-ntlite.html
- https://habr.com/ru/post/395629/
- https://www.white-windows.ru/kak-otredaktirovat-reestr-windows-v-obraze-sistemy/
- https://misterit.ru/kak-otkryt-reestr-windows.html
- https://docs.microsoft.com/ru-ru/windows-hardware/get-started/adk-offline-install
- http://pyatilistnik.org/kak-v-cmd-posmotret-vse-diski-windows/
- https://github.com/hightemp/docWindows/blob/master/articles/%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B8%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%20OOBE%20%D0%BF%D1%80%D0%B8%20%D0%BF%D0%B5%D1%80%D0%B2%D0%BE%D0%B9%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B5%20Windows%2010%20%D0%B8%20%D0%BA%D0%B0%D0%BA%20%D0%B8%D1%85%20%D1%83%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%82%D1%8C.md
- https://990x.top/oobe-chto-eto-za-programma-windeploy-exe-otvet.html
- https://meshok-sovetov.ru/oobesettings-windows-10-chto-delat/
- https://sysadmins.ru/topic183540.html
- https://windowstips.ru/kak-sozdat-svoyu-sborku-windows-10
- https://meshok-sovetov.ru/redaktirovanie-reestra-drugoy-windows/
- https://ab57.ru/cmdlist/reg.html
- https://docs.microsoft.com/ru-ru/windows-hardware/manufacture/desktop/winpe-create-usb-bootable-drive