Быстрая установка Windows

В этой статье рассмотрим автоматическую установку Windows с использованием batch-скриптов, а также изучим возможности их модификации.


Создание WinPE окружения

  1. Зайдите на сайт docs.microsoft.com и скачайте необходимые инструменты:
    • Windows ADK для Windows 10, версия 2004;
    • Надстройку Windows PE для ADK, версия 2004.
  2. Установите их в указанной последовательности.

После установки откройте в меню «Пуск» папку Windows Kits и выберите «Среда средств развертывания и работы с образами». В открывшейся командной строке выполните следующие команды:

cd C:\
copype amd64 C:\winpe

Результатом выполнения будет структура папок и файлов для настройки Windows PE.


Получение файла install.wim

Файл install.wim — это архив с релизами операционных систем Windows, содержащий все файлы для их развертывания. Подробнее см. Windows Imaging Format.

Вы можете получить этот файл:

  • С официального сайта Microsoft (раздел «Скачать образ диска Windows 10 (ISO-файл)»);
  • С альтернативных источников (например, торрентов).

Смонтируйте ISO-образ и скопируйте файл install.wim или install.esd (сжатая версия) из папки sources в каталог C:\winpe\media\sources.


Редактирование файла boot.wim

Чтобы отредактировать boot.wim, выполните следующие действия:

  1. Смонтируйте образ:
    Dism /mount-wim /wimfile:C:\winpe\media\sources\boot.wim /index:1 /mountdir:C:\winpe\mount
    
  2. Измените файл startnet.cmd:
    • Откройте свойства файла (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
      
  3. Замените фон рабочего стола:
    • Скопируйте изображение в файл C:\winpe\mount\Windows\System32\winpe.jpg.
    • Измените владельца файла и права доступа аналогично предыдущему шагу.
  4. Отключите образ и сохраните изменения:
    Dism /unmount-wim /mountdir:C:\winpe\mount /commit
    

Создание файла 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

Убедитесь, что путь к образу install.wim и его индекс указаны корректно. Чтобы узнать доступные индексы, выполните:

Dism /Get-WimInfo /WimFile:C:\winpe\media\sources\install.wim

Отредактировать строку 46, а именно аргумент /index: если индекс отличаеться от необходимого.


Создание загрузочного носителя

Для записи Windows PE на флешку выполните:

MakeWinPEMedia /UFD C:\winpe F:

Для создания ISO-образа:

MakeWinPEMedia /ISO C:\winpe C:\winpe\WinPE_amd64.iso

При необходимости измените имя образа, воспользовавшись утилитой UltraISO.


Использованные ресурсы

  • 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

results matching ""

    No results matching ""