Установка Windows 7 через PXE boot c *nix сервера

Сама статья взята с хабра https://habrahabr.ru/sandbox/30865/ и полностью рабочая, но была проблема с драйверами для сетевой карты.

Для начала установим необходимую ос на виртуалку или любой ПК.
Создадим PXE образ. Для этого нам потребуется Набор автоматической установки Windows® (AIK) для Windows®7.
Работает на платформе Windows 7 и Windows Server 2008 (R2).
После установки открываем в пуске с правами администратора: Все программы -> Microsoft Windows AIK -> Командная строка средств развертывания с правами Администратора, и начинаем собирать образ.

copype.cmd x86 d:\winpe
именно x86 несмотря на то, что планируем ставить х86 и существует меню amd64.

imagex /mountrw winpe.wim 1 mount
Теперь, для автоматической установки, в примонтированной папке d:\winpe редактируем файл Windows\system32\startnet.cmd:

wpeinit
net use y: \\192.168.2.86\iso-seven
if exist y:\sources\setup.exe (
y:
cd \sources
setup.exe
)

Самба сервер доступен для скачивания в гостевом режиме поэтому никаких параметров пользователя мы не задавали, при необходимости заменить на net use y: \\192.168.х.х\директория-образа /user:пользователь пароль

imagex.exe /unmount /commit mount

Теперь извлечем ядро и необходимые файлы для загрузки образа:

imagex /mount d:\winpe\winpe.wim 1 d:\winpe\mount
xcopy /ey d:\winpe\mount\windows\boot\pxe d:\tftp
xcopy /iy d:\winpe\mount\windows\boot\fonts d:\tftp\Boot\fonts
copy /y d:\winpe\ISO\boot\boot.sdi d:\tftp\Boot
imagex.exe /unmount d:\winpe\mount

Копируем сам образ в папку Boot
copy /y d:\winpe\winpe.wim d:\tftp\Boot

Прошу обратить внимание на то что папка Boot с большой буквы(Важно).
Теперь создаем «Скрипт» d:\winpe\createbcd.cmd
bcdedit -createstore %1\BCD
bcdedit -store %1\BCD -create {ramdiskoptions} /d "Ramdisk options"
bcdedit -store %1\BCD -set {ramdiskoptions} ramdisksdidevice boot
bcdedit -store %1\BCD -set {ramdiskoptions} ramdisksdipath \boot\boot.sdi
for /F "tokens=2" %%i in ('bcdedit -store %1\BCD -create /d "MyWinPE Boot Image" /application osloader') do set guid=%%i
bcdedit -store %1\BCD -set %guid% systemroot \Windows
bcdedit -store %1\BCD -set %guid% detecthal Yes
bcdedit -store %1\BCD -set %guid% winpe Yes
bcdedit -store %1\BCD -set %guid% osdevice ramdisk=[boot]\Boot\winpe.wim,{ramdiskoptions}
bcdedit -store %1\BCD -set %guid% device ramdisk=[boot]\Boot\winpe.wim,{ramdiskoptions}
bcdedit -store %1\BCD -create {bootmgr} /d "Windows VISTA BootManager"
bcdedit -store %1\BCD -set {bootmgr} timeout 30
bcdedit -store %1\BCD -set {bootmgr} displayorder %guid%

И запускаем его:
createbcd.cmd d:\tftp\boot

Образ готов, устанавливается через самбу с PXE сервера.
Настройка samba

Есть 2 варианта:
1)Скопировать папку sources с установочного диска в /var/seven (Необязательно в /var)
2)Примонтировать образ
mkdir /var/seven
sudo mount –o loop win7.iso /var/seven/
И зашариваем саму папку /var/seven в файле /etc/samba/smb.conf

[seven]
path = /srv/tftp/seven
browseable = yes
read only = yes
guest ok = yes
Перезагружаем службы:
sudo /etc/init.d/dhcp3-server restart
sudo /etc/init.d/tftpd-hpa restart
sudo /etc/init.d/smbd restart
Готово, можем устанавливать Windows 7 с сети.
Если возникнут какието проблемы, можно их увидеть в:
sudo tail –f /var/log/syslog

___________________
При установке на виртуалку все было прекрасно, но при попытке настроить ноутбук выдало "ошибка 1231 сетевая папка недоступна" при попытке смонтировать нашу сетевую папку.
Как оказалось ноутбук не видел сеть.

Для решения проблемы необходимо скачать драйвера на сетевую плату для нужного нам ноутбука и прошить их в наш образ .vim в той же консоле.

mkdir c:\mount
dism /Cleanup-Wim
dism /Mount-Wim /WimFile:G:\winpe\winpe.wim /index:1 /MountDir:C:\mount
dism /image:C:\mount /add-driver /driver:"G:\drivers\win8\x64" /recurse /forceunsigned
dism /Unmount-Wim /MountDir:C:\mount /Commit

После чего сетевая загрузка Windows 7 доступна.

IMG_20170216_124710

Установка Windows 7 через PXE boot c *nix сервера: 1 комментарий

Добавить комментарий