PXE загрузочный Windows PE из Linux
Я пытаюсь получить среду предустановки Windows для загрузки через PXE с сервера Linux. Конечной целью будет установка Windows, но это довольно легко, когда я смогу запустить WinPE (у меня есть общий ресурс samba с диском Windows OS и т. Д.). Я использую ESXi и пытаюсь заставить VM к PXE загрузить winPE, но у меня также есть доступ к физической машине для тестирования. Я следовал инструкциям в нескольких руководствах (в основном http://www.tecmint.com/configure-pxe-server-to-install-windows-on-centos/) и нашел интересное место:
Если я пытаюсь PXE загрузить winPE на виртуальной или физической машине, я получаю сообщение об ошибке:
CDBOOT: Cannot boot from CD - Code 5
Тем не менее, если я смонтирую winpe iso на диске виртуальной машины, он будет работать нормально (добираюсь до winpe и могу установить windows). Из того, что я читал об ошибке "Невозможно загрузиться с CD -кода 5", это чаще всего связано с несовместимостью микропрограммного обеспечения и аппаратного обеспечения BIOS, но, если да, то iso не должен работать при подключении.
В моем./pxelinux.cfg/default у меня есть:
MENU LABEL Windows 7
LINUX memdisk
INITRD windows/winpe_amd64.iso
APPEND iso raw
Я пробовал как с добавлением, так и без добавления сырья с тем же результатом. Я уже скопировал бинарный файл memdisk в tftproot. Кажется, iso обнаруживается при загрузке PXE, потому что iso читается в некотором объеме, ISO помещается в tftproot в windows/winpe_amd64.iso.
У кого-нибудь есть понимание того, почему загрузка PXE будет вести себя иначе, чем при установке ISO-образа на диске, и какие-либо идеи о том, как решить проблему с загрузкой iso?
3 ответа
Проблема, с которой я столкнулся, была результатом плохого FTP-получения, из-за которого WinPE ISO я должен был по-настоящему не загружаться, как сказано в сообщении об ошибке (тестировалось при попытке загрузить компакт-диск в ВМ). Оставив вопрос на тот случай, если кто-то сочтет это полезным.
Когда вы "монтируете" winpe_amd64.iso на виртуальную машину и загружаетесь с нее, ISO видит себя загружающимся с привода CD/DVD (реального или виртуального). Когда вы загружаете winpe_amd64.iso из memdisk, ISO видит "эмулируемую" (созданную memdisk) дисковую среду.
APPEND iso raw
Некоторым Windows ISO требуется опция "raw" на некоторых ПК.
Можно отобразить и загрузиться с некоторых образов CD/DVD, используя MEMDISK. Поддерживаются ISO без эмуляции, дискеты и эмуляции жесткого диска.
Процесс "карты" реализован с использованием INT 13h - любая эмуляция диска будет оставаться доступной из ОС, которая использует доступ к диску в совместимом режиме, например, DOS и Windows 9x. Однако к эмуляции через INT 13h нельзя получить доступ из ОС, которая использует драйверы защищенного режима (Windows NT / 2000 / XP / 2003 / Vista / 2008/7, Linux, FreeBSD), как только драйверы ядра защищенного режима получат контроль. Если ОС содержит драйверы для доступа к этому сопоставленному ISO-образу или знает, как найти ISO-диск на диске, проблем с загрузкой, конечно, нет.
Доступ INT 13h: не все образы завершат процесс загрузки!
Windows NT / 2000 / XP / 2003 / Vista / 2008/7 (на базе NT)
Эти версии Windows используют доступ к INT 13h только в начале процесса загрузки (загрузка только необходимых драйверов). После того, как драйверы защищенного режима будут доступны для доступа к дискам, Windows не сможет увидеть диски, отображенные в памяти, созданные MEMDISK (образы CD/DVD, жесткого диска и дискеты), и не сможет завершить процесс загрузки.
Источник: http://www.syslinux.org/wik i/index.php/MEMDISK
Итог: memdisk является последней альтернативой ресурса. довольно ненадежно избегай это.
В вашем случае я бы попробовал загрузку PXE в pxeboot.n12 (NBP), который позже вызывает bootmgr.exe, bcd, boot.sdi и, наконец, ваш файл Boot.wim. Это в значительной степени WDS способ PXE для среды Windows PE.
Редактировать:
pxeboot.n12 можно найти в Boot.wim на любом Windows DVD/ISO.
Именно из-за ошибки, которую вы получаете, вы также можете столкнуться с такой проблемой. https://superuser.com/questions/28123/when-installing-windows-7-cdboot-error-5-appears-cannot-boot-from-cd-why
Как прекрасно объясняет ответ Пэта , WinPE (то есть Windows) не сможет узнать о «CD», как только вызовы INT13 больше не будут доступны во время процесса загрузки.
Более современным решением этой проблемы было бы использование iPXE и wimboot.