PXE загружаются с Virtualbox

У меня есть гость Linux, и это - мой сервер. Я также создал другого гостя как клиент без диска.

Я хочу знать, какой тип сети и адаптер корректны? NAT или Внутренняя сеть? Микропроцессоры AMD или процессоры Intel?

Согласно руководству,

PXE booting is now supported in NAT mode. The NAT DHCP server provides a boot 
file name of the form vmname.pxe if the directory TFTP exists in the directory 
where the user's VirtualBox.xml file is kept. It is the responsibility of the 
user to provide vmname.pxe

Каково содержание vmname.pxe? это - пустой файл?

Virtualbox работает на Windows 7, и я установил Один Linux (научный linux 6.3, который подобен Redhat и песням 6) как сервер и другой бездисковый Linux как клиент.

На сервере я установил связанные файлы tftp.

# ls /var/lib/tftpboot/ -R
/var/lib/tftpboot/:
menu.c32  pxelinux.0  pxelinux.cfg  sl6

/var/lib/tftpboot/pxelinux.cfg:
default

/var/lib/tftpboot/sl6:
initrd.img  vmlinuz


# cat /var/lib/tftpboot/pxelinux.cfg/default 
timeout 100
default menu.c32
menu title ########## PXE Boot Menu ##########
label 1
   menu label ^1) Install Scientific Linux 6
   kernel sl6/vmlinuz
   append initrd=sl6/initrd.img method=http://10.0.2.51/sl6 devfs=nomount
label 2
  menu label ^2) Boot from local drive
  localboot 
3
задан 2 August 2014 в 05:19
2 ответа

Обновление:

После уточнения, кажется, что вообще не стоит использовать встроенную в VirtualBox функцию PXE. Вместо этого, назначьте вторичную сетевую карту с "только хостом" или "внутренней" сетью серверу и клиенту, и привяжите DHCP-сервер к прослушиванию на втором интерфейсе. Не используйте карты Intel для второго интерфейса: PXE загрузка гостей виртуального ящика в режиме внутренней сети?

ответ на VirtualBox NAT и PXE:

vmname. pxe содержит код, который ваша виртуальная машина запускает после загрузки, так называемую программу NBP (Network Bootstrap Program)

Смотрите Википедия для получения дополнительной информации о PXE.

Я цитирую пример использования PXELinux:

  1. установите tftp-hpa. (вам не нужен демон. только программа)

  2. установите корень каталога pxe.

    mkdir $HOME/.VirtualBox/TFTP
    mkdir $HOME/.VirtualBox/TFTP/pxelinux.cfg
    
  3. Скопируйте pxelinux.0 на $HOME/.VirtualBox/TFTP и сделайте символическую ссылку на pxelinux.0. с именем .pxe.

  4. скопируйте ядро и, возможно, initrd в $HOME/.VirtualBox/TFTP

  5. отредактируйте $HOME/.VirtualBox/TFTP/pxelinux.cfg/default, образец:

    LABEL linux.
    KERNEL vmlinuz
    ПРИЛОЖИТЬ root=/dev/sdxY
    

Источник: http://thegnar.org/sync/?p=68

3
ответ дан 3 December 2019 в 05:04

О, в разделе «Загрузка PXE с NAT» в руководстве это сказано, но не очень ясно.

«6.3.2. Загрузка PXE с NAT Загрузка PXE теперь поддерживается в режиме NAT. NAT DHCP-сервер предоставляет имя загрузочного файла в форме vmname.pxe , если каталог TFTP существует в каталоге, где хранится файл VirtualBox.xml пользователя. Пользователь несет ответственность за предоставление vmname.pxe. "

- Здесь в руководстве указано, кто предоставляет загрузочный файл: NAT DHCP-сервер.
Хорошо, у нас есть вопрос: где находится DHCP-сервер NAT?

- На хост-машине он интегрирован в программное обеспечение VirtualBox.
(6.3. Трансляция сетевых адресов (NAT): виртуальная машина получает свой сетевой адрес и конфигурацию в частной сети от DHCP-сервера, интегрированного в VirtualBox.)

Итак, где VirtualBox будет искать файл конфигурации? Конечно, на главной машине.
Это означает, что virtualbox попытается найти "vmname.pxe" на хост-машине. Не на вашем научном сервере Linux.

И в руководстве говорится, что мы должны поместить каталог «tftp» помимо VirtualBox.xml.

В Windows 7 VirtualBox.xml находится в C: \ Users \ .VirtualBox \.
(VirtualBox версии 5.1.14, в руководстве не говорится, что расположение конфигурации по умолчанию изменено после 4.0)

Когда я читал этот раздел, я пытался установить систему Debian с помощью PXE-загрузки. Итак, у меня было предположение, что "vmname.pxe" - это файл pxelinux.0 и переименованный.

Я пытался несколько раз и обнаружил, что "vmname.pxe" должно быть " .pxe " , где - это имя вашей виртуальной машины.

Наконец, моя успешная загрузка PXE с NAT такова:
На хосте (мой хост - также Windows 7) структура каталогов следующая:

%USERPROFILE% (mostly it is C:\Users\<username>\)
 |-.VirtualBox
    |-VirtualBox.xml
    |-TFTP
    |  |-pxelinux.cfg
    |  |  |-default-> ..\debian-installer\amd64\boot-screens\syslinux.cfg
    |  |-DebianSid.pxe->pxelinux.0 (DebianSid is my virtual machine's name)
    |  |-pxelinux.0
    |  |-ldlinux.c32
    |  |-version.info
    |  |-debian-installer\ 
    |-other files

В гостевой системе VirtualBox моя сетевая настройка - режим «NAT», сетевая карта - «Рабочий стол Intel PRO / 1000MT (82640EM)»

Моя версия VirtualBox - 5.1.14.

Нет необходимости устанавливать tftp-hpa,не нужен ни второй интерфейс, ни «Не используйте карты Intel», и он использует встроенную функцию PXE。

Бездисковая загрузка PXE должна быть аналогичной.

Таким образом, проблема в том, что в руководстве полный беспорядок, загрузка PXE с NAT в Virtualbox на самом деле очень проста. Дело в том, что PXE-сервер - это программное обеспечение виртуального бокса вашего хоста.

Обновление структуры каталогов tftp: (вопрос от @codeshot в комментарии) Загрузочный файл tftp загружается с (например, debian sid): https: // / debian / dists / sid / main / installer- /current/images/netboot/netboot.tar.gz

(Если вы не используете sid, измените Это). Ubuntu аналогичен.

tar xvf netboot.tar.gz и переименуйте каталог в "tftp" и переместите в соответствующее место как VirtualBox demonds.

Если это не работает, измените softlink на жесткую ссылку вручную с помощью Cygwin, или просто скопируйте и переименуйте файлы.

5
ответ дан 3 December 2019 в 05:04

Теги

Похожие вопросы