Вопрос или проблема
У меня есть сервер PXE на Linux.
Я могу загружаться с ISO-образов Linux через PXE без проблем.
Но как я могу сделать это с ISO-образом Windows? Просто начать установку. Без создания чего-либо (winpe) в Windows.
Я извлек некоторые файлы из image.iso/sources/boot.wim
/2/Windows/Boot/PXE/
в корень tftp
pxeboot.com
wdsnbp.com (-> wdsnbp.0)
bootmgr.exe
Указал ядро (в pxelinux.cfg/default):
KERNEL wdsnbp.0
Это, по крайней мере, что-то, что загружается и выдает:
Загружено WDSNBP...
Архитектура: x64
WDSNBP запущен, используя DHCP Referral.
Связываюсь с сервером: 10.0.0.1 (Шлюз: 0.0.0.0)..
Нет ответа от сервера Windows Deployment Services.
Запуск pxeboot.com...
Скачивание TFTP не удалось
Не удалось загрузить образ: Ошибка 0x00000001 (http://ipxe.org/00000001)
Нет других сетевых устройств
ФАТАЛЬНО: Не удалось прочитать с загрузочного носителя! Система остановлена.
Что мне делать, чтобы продолжить процесс загрузки?
Я также создал общий доступ Samba с содержимым ISO, но как все это соединить?
Все руководство, которое я нашел, либо устарело, либо (в большинстве случаев) требует создания дополнительного загрузочного образа в Windows с использованием его инструментов. Действительно ли такая печальная ситуация?
Обновление
Для ISO Linux у меня что-то вроде этого:
KERNEL u1404/casper/vmlinuz.efi
APPEND boot=casper netboot=nfs nfsroot=10.0.0.1:/var/lib/tftpboot/u1404 initrd=u1404/casper/initrd.lz ip=dhcp --
/var/lib/tftpboot/u1404
– это точка монтирования для ISO Ubuntu 14.04
Для Windows я остановился на этом (и вышеуказанной ошибке) и не знаю, что именно делать дальше:
KERNEL wdsnbp.0
И для прояснения: вопрос в том, как это сделать (настроить PXE для ISO Windows) в среде Linux. Если бы я торопился, я бы без вопросов использовал WDS или какие-то другие инструменты Windows.
Вы пробовали проект FOG раньше? У него есть предустановленный сервер PXE, совместимый со многими версиями Ubuntu Linux. Вот ссылка
Насколько я помню, это все еще проект с открытым исходным кодом, и они отличное проект. Я делал кастомные загрузки с ISO образов Barts Duke and Nuke или Ultimate Boot CD (в данный момент я не помню, так как последний раз, когда я работал, это было два года назад) как опцию загрузки из их меню PXE, так что я знаю, что это поможет решить вашу проблему, если вам только нужно загрузиться с ISO, а не установить образ. Если вам нужно установить образ, это тоже идеально подходит. Насколько я помню, это простая замена файла, чтобы добавить опцию загрузки. Все это документировано на сайте выше. FOG очень мощный, моя последняя работа использовала его в качестве основного решения для создания образов. Вот пример того, как они загружают ISO-файлы, просто указав путь к ISO-файлу:
https://wiki.fogproject.org/wiki/index.php/Edit_PXE_menu_to_create_sub_menus
Он загружает любой ISO, который мы ему дали до сих пор. Легко. У него есть установщик.
Пожалуйста, пройдите по этой ссылке https://www.linuxtechi.com/configure-pxe-installation-server-centos-7/#comment-6957
добавьте меню
default menu.c32
prompt 0
timeout 30
MENU TITLE Centos7Min PXE Menu
.....
MENU TITLE windows10 PXE Menu
LABEL windows10
MENU LABEL windows10
KERNEL /networkboot/memdisk
APPEND initrd=/iso/windows.iso
Надеюсь, это поможет
Существуют сторонние -Автоматизированные решения для серверов PXE-, которые могут сделать именно то, что вам нужно, но работают в Windows.
По сути, вы извлекаете содержимое ISO в каталог, создаете сетевой ресурс, и Автоматизированный сервер PXE делает остальное, внедряя соответствующий код в Boot.wim и автоматически создавая соответствующий элемент меню загрузки для клиентов PXE.
вы не можете напрямую загрузиться с wim файлов или iso файлов, даже в Linux вы не загружаетесь напрямую с iso, а через memdisk/ramdisk
Пожалуйста, прочитайте информацию о процессе загрузки Windows :
http://technet.microsoft.com/en-us/library/cc771845(v=ws.10).aspx
установить windows через Linux pxe серверы очень просто, не нужен WDS!
Сначала вы должны создать файл Boot\BCD (данные конфигурации загрузки) с помощью bcdedit, который загрузит wim файл.
Во-вторых, вы должны загрузиться с pxeboot.n12 (переименованный в pxeboot.0)
В-третьих, мое предложение для вас – использовать Microsoft Deployment Toolkit (MDT) для автоматизации установки windows.
Ответ или решение
Для того чтобы выполнить установку Windows с ISO-образа через PXE без использования Windows AIK или других инструментов Windows, потребуется следовать определенному набору шагов. То, что вы пытаетесь сделать, достаточно сложно, но возможно. Ниже приведена инструкция, как это можно реализовать.
Шаги для установки Windows через PXE с использованием ISO:
-
Подготовка ISO:
- Извлеките содержимое ISO-образа Windows на ваш PXE-сервер. Это можно сделать с помощью
7zip
или подобных утилит. - Убедитесь, что у вас есть папки
boot
иsources
с нужными файлами.
- Извлеките содержимое ISO-образа Windows на ваш PXE-сервер. Это можно сделать с помощью
-
Настройка TFTP:
- Скопируйте файлы, необходимые для загрузки, в корневую директорию TFTP. Эти файлы должны включать:
pxeboot.n12
(переименуйте вpxeboot.0
)bootmgr
- Папка
boot
, где должен находиться файлBCD
.
- Скопируйте файлы, необходимые для загрузки, в корневую директорию TFTP. Эти файлы должны включать:
-
Создание файла BCD:
- Вам нужно создать файл Boot Configuration Data (BCD) для указания загрузчика. Для этого используйте следующее:
mkdir /tftpboot/boot cd /tftpboot/boot bcdedit /create /d "Windows Installer" /application osloader bcdedit /set {идентификатор} device ramdisk=[boot]\wimboot bcdedit /set {идентификатор} path \windows\boot\winload.exe bcdedit /set {идентификатор} osdevice ramdisk=[boot]\wimboot bcdedit /set {идентификатор} systemroot \Windows
- Запомните идентификатор, который вы получите после выполнения команды.
- Вам нужно создать файл Boot Configuration Data (BCD) для указания загрузчика. Для этого используйте следующее:
-
Настройка PXELinux:
-
Вам необходимо настроить файл конфигурации
pxelinux.cfg/default
, чтобы указать серверу PXE, как загружать Windows:DEFAULT menu.c32 PROMPT 0 TIMEOUT 30 MENU TITLE Windows Installation LABEL Windows Installer MENU LABEL Install Windows KERNEL pxeboot.0 APPEND initrd=boot/wdboot.0
-
-
Настройка Samba (опционально):
- Если вы хотите использовать Samba для раздачи ISO, создайте сетевую папку и убедитесь, что ваша настройка правильно указывает на директории. Убедитесь, что у вас стоит правильная конфигурация для доступа к папке с ISO-образом.
-
Перезагрузка клиентов:
- Сключив все настройки, перезагрузите клиента, убедитесь, что он настроен на загрузку через PXE, после чего клиент должен загрузиться с вашего PXE-сервера и начать установку Windows.
Обратите внимание:
Для успешной работы вам нужно, чтобы ваш TFTP-сервер был правильно настроен, а файлы имели правильные разрешения и владельцев. Также имейте в виду, что вам не обойтись без некоторых знаний о BCD и о том, как работает загрузка в Windows, так как это ключевые моменты для успешного PXE-старта.
Если вы столкнулись с ошибками, например TFTP download failed
, это может быть связано с тем, что сервер TFTP не может найти или прочитать указанные файлы. Убедитесь, что все пути корректные, и что файлы действительно присутствуют в нужных директориях.
Завершение:
Следуя данным шагам и рекомендациям, вы сможете настроить совместимую с PXE установку Windows через сервер Linux без использования дополнительных инструментов Windows. Удачи в реализации!