- Установка Windows 7 через PXE boot c *nix сервера
- Настройка PXE-сервера для загрузки Windows PE Configure a PXE server to load Windows PE
- Необходимые условия Prerequisites
- Шаг 1: скопируйте исходные файлы Windows PE Step 1: Copy Windows PE source files
- Шаг 2: настройка параметров загрузки и копирование файла BCD Step 2: Configure boot settings and copy the BCD file
- Сводка по процессу загрузки PXE PXE boot process summary
Установка Windows 7 через PXE boot c *nix сервера
Хочу поделиться с вами своим опытом по установке Windows 7 с сети (PXE boot на Ubuntu server).
Так как я не нашел удачного решения в интернете, решил поделится опытом.
Если интересно прошу под кат.
Эта статья является дополнением к ранее опубликованной статье на хабре.
На днях наткнулся на интересную статью, Где очень хорошо рассказывается об установке Windows 7 с сети, но с платформы на базе Windows. А так как у меня есть сервер на Ubuntu, захотелось прикрутить его туда, но все оказалось не так просто.
Создание PXE образа
Итак, начнем с создания PXE образа. Для этого нам потребуется Набор автоматической установки Windows® (AIK) для Windows®7.
Работает на платформе Windows 7 и Windows Server 2008 (R2).
После установки открываем в пуске: Командная строка средств развертывания с правами Администратора, и начинаем собирать образ.
copype.cmd x86 d:\winpe
imagex /mountrw winpe.wim 1 mount
Теперь, для автоматической установки, в примонтированной папке d:\winpe редактируем файл Windows\system32\startnet.cmd:
wpeinit
net use y: \\192.168.0.1\seven /user:seven seven
if exists y:\sources\setup.exe (
y:\sources\setup.exe
)
В строке монтирования, можно задать свои параметры, смотря как будете настраивать Samba, у меня к примеру она расшарена без авторизации с правами read only и параметр /user:seven seven не обязательно.
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
#B Копируем сам образ в папку Boot
copy /y d:\winpe\winpe.wim d:\tftp\Boot
Прошу обратить внимание на то что папка Boot с большой буквы(Важно).
Теперь создаем «Скрипт» d:\winpe\createbcd.cmd
bcdedit -createstore %1\BCD
bcdedit -store %1\BCD -create
bcdedit -store %1\BCD -set
bcdedit -store %1\BCD -set
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,
bcdedit -store %1\BCD -set %guid% device ramdisk=[boot]\Boot\winpe.wim,
bcdedit -store %1\BCD -create
bcdedit -store %1\BCD -set
bcdedit -store %1\BCD -set
И запускаем его:
createbcd.cmd d:\tftp\boot
Основная проблема это бэкслэши, Регистр и их Ремап, тут я не стал их переделывать, а просто создал ремап на сервере, можете сами поиграться, но об это позже.
Теперь у нас готов PXE набор для установки Windows 7 с сети.
Также вы можете скачать мой образ тут или тут
Настройка DHCP – Сервера:
Конфигурационный файл /etc/dhcp/dhcpd.conf
ddns-update-style none;
option domain-name «xxxxxxxx.xx»;
option domain-name-servers 8.8.8.8;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 <
range 192.168.0.5 192.168.0.100;
filename = «pxeboot.n12»;
>
С такой конфигурацией при ланбуте сразу пойдет установка windows. Если-же вы будете использовать эту статью как дополнение к этой статье, тогда в файле /etc/dhcp/dhcpd.conf ничего не меняем, только (Важно!) переименовываем файл pxeboot.n12 в pxeboot.0 (иначе не заработает) и добавляем в меню /var/lib/tftpboot/pxelinux.cfg/default
label Install Windows7
kernel /pxeboot.0
Установка и настройка TFTP Сервера:
sudo apt-get install tftpd-hpa
sudo nano /etc/default/tftpd-hpa
У меня конфиг такой:
TFTP_USERNAME=»tftp»
TFTP_DIRECTORY=»/var/lib/tftpboot»
TFTP_ADDRESS=»0.0.0.0:69″
TFTP_OPTIONS=»—secure -m /var/lib/tftpboot/tftp-remap -v»
Добавляем только параметры:
-m /var/lib/tftpboot/tftp-remap (файл ремапа) и параметр -v чтобы в /var/log/syslog можно было отслеживать запросы.
Копируем содержимое папки D:\tftp в /var/lib/tftpboot/seven/.
Теперь создаем файл ремапа:
touch /var/lib/tftpboot/tftp-remap
nano /var/lib/tftpboot/tftp-remap
У меня он выглядит так:
r bootmgr.exe /seven/bootmgr.exe
r abortpxe.com /seven/abortpxe.com
r hdlscom1.com /seven/hdlscom1.com
r hdlscom1.n12 /seven/hdlscom1.n12
r hdlscom2.com /seven/hdlscom2.com
r hdlscom2.n12 /seven/hdlscom2.n12
r pxeboot.com /seven/pxeboot.com
r pxeboot.n12 /seven/pxeboot.n12
r WdsConfig.inf /seven/WdsConfig.inf
r wdsnbp.com /seven/wdsnbp.com
r \\Boot\\BCD seven/Boot/BCD
r \\boot\\boot.sdi seven/Boot/boot.sdi
r \\Boot\\winpe.wim seven/Boot/winpe.wim
Настройка 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
Спасибо за внимание!
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.
Настройка PXE-сервера для загрузки Windows PE Configure a PXE server to load Windows PE
Относится к Applies to
В этом пошаговом руководстве описано, как настроить PXE-сервер для загрузки Windows PE при запуске клиентского компьютера по сети. This walkthrough describes how to configure a PXE server to load Windows PE by booting a client computer from the network. С помощью средств Windows PE и файла образа Windows 10 можно установить Windows 10 по сети. Using the Windows PE tools and a Windows 10 image file, you can install Windows 10 from the network.
Необходимые условия Prerequisites
- Компьютер развертывания: компьютер с набором оценки и развертывания Windows (Windows ADK) и надстройкой Windows PE с установленным ADK. A deployment computer: A computer with the Windows Assessment and Deployment Kit (Windows ADK) and the Windows PE add-on with ADK installed.
- DHCP-сервер: DHCP-сервер или прокси-сервер DHCP, настроенный для отправки ответов на запросы PXE-клиентов. A DHCP server: A DHCP server or DHCP proxy configured to respond to PXE client requests is required.
- PXE-сервер: сервер под управлением службы TFTP, на котором могут размещаться файлы загрузки Windows PE для скачивания клиентом. A PXE server: A server running the TFTP service that can host Windows PE boot files that the client will download.
- Файловый сервер: сервер с общей сетевой папкой. A file server: A server hosting a network file share.
Все четыре перечисленных выше роли могут размещаться на одном компьютере, также можно выделить отдельный компьютер для каждой роли. All four of the roles specified above can be hosted on the same computer or each can be on a separate computer.
Шаг 1: скопируйте исходные файлы Windows PE Step 1: Copy Windows PE source files
На компьютере развертывания: нажмите Пуск и введите развертывание. On the deployment computer, click Start, and type deployment.
Щелкните правой кнопкой мыши элемент Среда средств развертывания и работы с образами и затем нажмите Запуск от имени администратора. Right-click Deployment and Imaging Tools Environment and then click Run as administrator. Будет запущен ярлык среды средств развертывания и создания образов, который открывает окно командной строки и автоматически задает переменные среды таким образом, чтобы они указывали на все необходимые средства. The Deployment and Imaging Tools Environment shortcut opens a Command Prompt window and automatically sets environment variables to point to all the necessary tools.
Чтобы скопировать базовые файлы Windows PE в новую папку, выполните следующую команду. Run the following command to copy the base Windows PE files into a new folder. Сценарий требует два аргумента: архитектуру оборудования и целевое расположение. The script requires two arguments: hardware architecture and destination location. Значение может быть x86, amd64 или arm, а может соответствовать пути к локальному каталогу. The value of can be x86, amd64, or arm and is a path to a local directory. Если каталог еще не существует, он будет создан. If the directory does not already exist, it will be created.
Например, следующая команда копирует файлы архитектуры amd64 в каталог C:\winpe_amd64: For example, the following command copies amd64 architecture files to the C:\winpe_amd64 directory:
Сценарий создает структуру каталогов назначения и копирует все необходимые файлы для этой архитектуры. The script creates the destination directory structure and copies all the necessary files for that architecture. В предыдущем примере создаются следующие каталоги: In the previous example, the following directories are created:
Подключите базовый образ Windows PE (winpe.wim) в каталог \mount с помощью средства DISM. Mount the base Windows PE image (winpe.wim) to the \mount directory using the DISM tool. При подключении файла образа его содержимое распаковывается в папку, что позволяет вносить изменения напрямую или с помощью таких программ, как DISM. Mounting an image file unpacks the file contents into a folder so that you can make changes directly or by using tools such as DISM. См. приведенный ниже пример. See the following example.
Убедитесь, что отображается сообщение «Операция завершена успешно». Verify that «The operation completed successfully» is displayed. Примечание. Чтобы просмотреть подключенные в настоящее время образы, введите dism /get-MountedWiminfo. Note: To view currently mounted images, type dism /get-MountedWiminfo.
Выполните сопоставление общего сетевого ресурса корневому каталогу TFTP на сервере PXE/TFTP и создайте папку \Boot. Map a network share to the root TFTP directory on the PXE/TFTP server and create a \Boot folder. Обратитесь к документации сервера TFTP, чтобы определить корневой каталог сервера TFTP, а затем включите общий доступ к этой папке и убедитесь, что она доступна в сети. Consult your TFTP server documentation to determine the root TFTP server directory, then enable sharing for this directory, and verify it can be accessed on the network. В следующем примере имя сервера PXE имеет значение PXE-1, а общий доступ к корневому каталогу TFTP предоставляется с помощью сетевого пути \\PXE-1\TFTPRoot: In the following example, the PXE server name is PXE-1 and the TFTP root directory is shared using a network path of \\PXE-1\TFTPRoot:
Скопируйте файлы загрузки PXE из подключенного каталога в папку \boot. Copy the PXE boot files from the mounted directory to the \boot folder. Пример. For example:
Скопируйте файл boot.sdi на сервер PXE/TFTP. Copy the boot.sdi file to the PXE/TFTP server.
Скопируйте загрузочный образ Windows PE (boot.wim) в папку \boot. Copy the bootable Windows PE image (boot.wim) to the \boot folder.
(Необязательно) Скопируйте в папку \boot шрифты true type (Optional) Copy true type fonts to the \boot folder
Шаг 2: настройка параметров загрузки и копирование файла BCD Step 2: Configure boot settings and copy the BCD file
Создайте хранилище BCD с помощью bcdedit.exe: Create a BCD store using bcdedit.exe:
Настройте параметры RAMDISK: Configure RAMDISK settings:
Последняя команда возвращает идентификатор GUID, например: The last command will return a GUID, for example:
Скопируйте этот идентификатор GUID для использования в следующих командах. Copy this GUID for use in the next set of commands. В каждой приведенной команде замените «GUID1» своим идентификатором GUID. In each command shown, replace «GUID1» with your GUID.
Создайте новую загрузочную запись приложения для образа Windows PE: Create a new boot application entry for the Windows PE image:
Настройте параметры BOOTMGR (не забудьте заменить GUID1 в третьей команде своим идентификатором GUID): Configure BOOTMGR settings (remember to replace GUID1 in the third command with your GUID):
Скопируйте файл BCD на свой TFTP-сервер: Copy the BCD file to your TFTP server:
Теперь ваш сервер PXE/TFTP настроен. Your PXE/TFTP server is now configured. Можно просмотреть установленные параметры BCD с помощью команды bcdedit /store /enum all. You can view the BCD settings that have been configured using the command bcdedit /store /enum all. См. следующий пример. See the following example. Примечание. Ваш идентификатор GUID будет отличаться от приведенного ниже. Note: Your GUID will be different than the one shown below.
Если вы запустите процесс загрузки PXE, но получите сообщение об ошибке «Данные конфигурации загрузки для компьютера отсутствуют или содержат ошибки», убедитесь, что каталог \boot установлен в правильном корневом каталоге сервера TFTP. If you start the PXE boot process, but receive the error that «The boot configuration data for your PC is missing or contains errors» then verify that \boot directory is installed under the correct TFTP server root directory. В используемом здесь примере имя этого каталога — TFTPRoot, но сервер TFTP может быть другим. In the example used here the name of this directory is TFTPRoot, but your TFTP server might be different.
Сводка по процессу загрузки PXE PXE boot process summary
В следующей таблице приведены основные сведения о процессе загрузки PXE-клиента. The following summarizes the PXE client boot process.