Меню Рубрики

Установка windows по сети с linux сервера

Установка Windows по сети с Ubuntu PXE сервера

Итак, я плавно со своим PXE сервером развернутым на Ubuntu 18.04 Server подошел к этапу, когда нужно в дополнении к автоматизированным установкам Ubuntu 18.04 Desktop & Server дополнить функционал. Уже сделал, что можно загрузившись через LiveCD инструмент сбросить Windows пароль, проверить жесткий диск на предмет заражения вирусами т. д. А вот моя мечта это возможность устанавливать Windows 7,10 и серверную линейку из среды Ubuntu. Использовать WDS, пожалуй нет. Я специализируюсь на Ubuntu системах, а значит и пишу и делаю исходя из своего предпочтения. В этой заметке я для себя разобрал, как сделать Windows загрузку из под Ubuntu 18.04 PXE.

Подготавливаю систему Ubuntu 18.04 Server amd64 под первоначальное использование:

$ hg clone —insecure https://172.33.33.7/hg/dproject

Устанавливаю пакет Samba на нем, точнее с его помощью у меня будет файловый ресурс где будет храниться образа Windows 7, как x86/amd64:

$ sudo apt-get install samba samba-common -y

$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.backup

$ sudo nano /etc/samba/smb.conf

server string = Samba Server Version %v

log file = /var/log/samba/log.%m

idmap config * : backend = tdb

map to guest = bad user

## For multiple installations the same time — not lock kernel

kernel oplocks = no

nt acl support = no

guest account = nobody

comment = Windows 7 Image

level2 oplocks = no

acl allow execute always = true

На заметку: Параметр « acl allow execute always = true » в smb.conf необходим для возможности запускать на исполнение файлы exe.

Load smb config files from /etc/samba/smb.conf

rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)

$ sudo mkdir -p /windows/x32

$ sudo mkdir -p /windows/x64

Монтирую ISO образ Windows 7 на каталог Samba сервиса:

$ scp /media/ekzorchik/iso/SW_DVD5_Win_Pro_7w_SP1_64BIT_Russian_-2_MLF_X17-59431.ISO ekzorchik@172.33.33.25:/home/ekzorchik

$ sudo mount -o loop SW_DVD5_Win_Pro_7w_SP1_64BIT_Russian_-2_MLF_X17-59431.ISO /mnt

mount: /mnt: WARNING: device write-protected, mounted read-only.

$ sudo cp -fr /mnt/* /windows/x64/

$ scp /media/ekzorchik/iso/SW_DVD5_Win_Pro_7w_SP1_32BIT_Russian_MLF_X17-28979.ISO ekzorchik@172.33.33.25:/home/ekzorchik

$ sudo mount -o loop SW_DVD5_Win_Pro_7w_SP1_32BIT_Russian_MLF_X17-28979.ISO /mnt

$ sudo cp -fr /mnt/* /windows/x32/

$ sudo chmod -R 755 /windows/

$ sudo chown -R nobody:nogroup /windows/

$ sudo /etc/init.d/smbd restart

$ sudo /etc/init.d/nmbd restart

Устанавливаю PXE сервис:

Устанавливаю в систему пакет tftpd-hpa:

$ sudo apt-get install tftpd-hpa -y

$ sudo mkdir /media/pxeboot

$ sudo chmod -R 777 /media/pxeboot/

$ sudo chown -R nobody:nogroup /media/pxeboot/

$ sudo cp /etc/default/tftpd-hpa /etc/default/tftpd-hpa.backup

$ sudo nano /etc/default/tftpd-hpa

TFTP_OPTIONS=»—secure —create —verbose»

Перезапускаю сервис tftpd-hpa:

$ sudo service tftpd-hpa restart && sudo service tftpd-hpa status | head -n 5

$ sudo apt-get install pxelinux syslinux -y

$ sudo cp /usr/lib/syslinux/modules/bios/vesamenu.c32 /media/pxeboot/

$ sudo cp /usr/lib/syslinux/modules/bios/libcom32.c32 /media/pxeboot/

$ sudo cp /usr/lib/syslinux/modules/bios/libutil.c32 /media/pxeboot/

$ sudo cp /usr/lib/PXELINUX/pxelinux.0 /media/pxeboot/

$ sudo cp /usr/lib/syslinux/memdisk /media/pxeboot/

$ sudo cp /usr/lib/syslinux/modules/bios/ldlinux.c32 /media/pxeboot/

$ sudo mkdir /media/pxeboot/pxelinux.cfg/

$ sudo nano /media/pxeboot/pxelinux.cfg/default

#Секция по умолчанию, если пользователь не выбрал никакого варианта или нажал
клавишу Enter

#Секция времени в секундах, в течении которого отображается загрузочное меню

#Секция отображения строки для выбора варианта загрузки (1 — view, 0 — hidden)

MENU TITLE PXE MENU

# загрузка системы с диска

LABEL Boot from first hard disk

label Install Windows 7 x32/x64

$ sudo chown -R nobody:nogroup /media/pxeboot/

udp UNCONN 3072 0 0.0.0.0:tftp 0.0.0.0:*

Далее на VM под управлением Windows 7 x64 устанавливаю пакет Windows AIK (KB3AIK_RU.iso размером 1.2 Gb ) и через инструмент Deployment Tools Command Prompt

Win + Все программы — Microsoft Windows AIK — «Командная стройка средств развертывания» (запускаю через правый клик с правами администратора)

( для amd64 создаю winpe образ )

C:\Program Files\Windows AIK\Tools\PETools>copype amd64 c:\winPE_x64

c:\winPE_x64>copy «c:\Program Files\Windows AIK\Tools\PETools\amd64\winpe.wim» c:\winPE_x64\ISO\sources\Boot.wim

c:\winPE_x64>copy «c:\Program Files\Windows AIK\Tools\amd64\imagex.exe» c:\winPE_x64\ISO\

c:\winPE_x64>oscdimg -n -bC:\winPE_x64\etfsboot.com c:\winPE_x64\ISO c:\winPE_x64\winpe_amd64.iso

Computing directory information complete

Image file is 170760192 bytes

Writing 22 files in 9 directories to c:\winPE_x64\winpe_amd64.iso

Final image file is 170760192 bytes

( для x86 создаю winpe образ )

C:\Program Files\Windows AIK\Tools\PETools>copype x86 c:\winPE_x86

c:\winPE_x86>copy «c:\Program Files\Windows AIK\Tools\PETools\x86\winpe.wim» c:\winPE_x86\ISO\sources\Boot.wim

c:\winPE_x86>copy «c:\Program Files\Windows AIK\Tools\x86\imagex.exe» c:\winPE_x86\ISO\

c:\winPE_x86>oscdimg -n -bC:\winPE_x86\etfsboot.com c:\winPE_x86\ISO c:\winPE_x86\winpe_x86.iso

Computing directory information complete

Image file is 145268736 bytes

Writing 18 files in 8 directories to c:\winPE_x86\winpe_x86.iso

Final image file is 145268736 bytes

Копирую получившийся iso файл на SAMBA сервис в каталог \\172.33.33.25\install

$ sudo mkdir /media/pxeboot/windows/

$ sudo mv /windows/winpe_amd64.iso /media/pxeboot/windows/

$ sudo mv /windows/winpe_x86.iso /media/pxeboot/windows/

Теперь беру VM и выставляю ей что она сперва должна произвести загрузку по сети

Вижу запрос на нажатие клавиши нажимаю клавишу Enter и производится загрузка с диска, а диск у меня это iso образ. Тем самым стартует загрузка Windows, но не привычная установка а приглашение командной строки:

В этом приглашении следует уже подмонтировать SAMBA ресурс и запустить установку ОС, т. е. Windows 7 Pro x64

X:\windows\system32> net use M: \\172.33.33.25\install\x64

где M: — это произвольное буква на которую монтирую доступ к ресурсу.

Затем перехожу на букву M: и запускаю файл инсталляции операционной системы:

X:\windows\system32\cd /d M:

M:\>setup.exe

Указываю метод ввода (я предпочитаю чтобы дефолтным был английский язык, а не русский)

Нажимаю «Далее» — «Установить» и начинается обыденный процесс инсталляции операционной системы Windows, как если бы я просто записал образ на болванку или USB Flash Drive, выставил в BIOS с чего загружаться и загрузился.

Вообще следует разделить установку Windows в default файле:

LABEL Boot from first hard disk

LABEL Install Windows 7 Pro SP1 x64

LABEL Install Windows 7 Pro SP1 x86

Далее, для того, чтобы автоматизировать установку системы, можно с помощью «диспетчера образов системы Windows» подготовить файл ответов Autounattend.xml (именно так должен именовать файл ответов), и запускать установку с файлом ответов:

M:\setup.exe /unattend: Autounattend.xml

Исходя из этого, становится возможным на большом количестве персональных компьютеров которые необходимо вот прям, завтра, или сейчас ввести в эксплуатацию установить ось задействовав текущий PXE сервис и общий ресурс в роли SAMBA сервиса на который взгромоздить подготовленный ранее файл ответом или ставить все в ручную.

О том, как подготовить файл ответов будет в следующей заметке.

А пока я прощаюсь, на этом всё, с уважением автор блога Олло Александр aka ekzorchik

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Установка windows на компьютере с linux ubuntu
  • Установка windows и удаление linux
  • Установка windows и linux с одной флешки
  • Установка windows второй системой linux
  • Установка windows 7 и linux mint на разные диски