首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用Virtualbox引导PXE

用Virtualbox引导PXE
EN

Server Fault用户
提问于 2014-08-02 01:38:24
回答 1查看 40.4K关注 0票数 6

我有一个linux客户,这是我的服务器。我还创建了另一个客户端,它没有磁盘。

我想知道,哪种网络类型和适配器是正确的?NAT还是内部网络?AMD还是英特尔芯片?

根据手册,

代码语言:javascript
运行
复制
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 (类似于redhat和centos 6的科学linux 6.3 )作为服务器,另一个无盘linux作为客户端。

在服务器上,我已经安装了tftp相关文件。

代码语言:javascript
运行
复制
# 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 
EN

回答 1

Server Fault用户

发布于 2017-02-13 15:08:09

哦,手册中的“用NAT引导PXE”一节已经说过了,但不太清楚。

"6.3.2. NAT模式下现在支持用NAT PXE引导PXE。NAT DHCP服务器如果目录vmname.pxe存在于保存用户的VirtualBox.xml文件的目录中,则提供表单vmname.pxe的启动文件名。用户有责任提供vmname.pxe。“

-在这里,手册告诉我们谁提供引导文件: NAT DHCP服务器。

好的,让我们问一个问题: NAT DHCP服务器在哪里?

--在主机上,它被集成到VirtualBox软件中。

(6.3.网络地址转换(NAT):虚拟机从集成到VirtualBox的DHCP服务器接收其在专用网络上的网络地址和配置。)

那么,VirtualBox将在哪里搜索配置文件呢?当然是在主机上。

这意味着virtualbox将尝试在主机上搜索"vmname.pxe“。不是在你的科学linux服务器上。

手册告诉我们,除了VirtualBox.xml,我们还应该放置一个"tftp“目录。

在windows 7上,VirtualBox.xml位于C:\Users.VirtualBox\。

(VirtualBox版本5.1.14,手册没有规定默认配置位置在4.0之后更改)

当我阅读这一节时,我正试图启动PXE,安装一个Debian系统。因此,我猜测"vmname.pxe“是文件pxelinux.0,并重新命名。

我试了几次,发现"vmname.pxe“应该是"<vmname>.pxe",其中<vmname>是虚拟机的名称。

最后,我成功引导NAT的PXE是这样的:

在主机(我的主机也是windows 7)上,目录结构是:

代码语言:javascript
运行
复制
%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/ 1000 my桌面(82640 is )“。

我的VirtualBox版本是5.1.14。

不需要tftp-hpa安装,不需要第二个接口,也不需要“不使用英特尔卡”,而且它使用内置的PXE功能。

无盘的PXE引导应该是类似的。

所以问题是手册完全是一团糟,在Virtualbox中用NAT引导PXE实际上非常简单。关键是,PXE服务器是您的主机virtualbox软件。

关于tftp目录结构的更新:(问题由@codeshot注释) tftp引导文件是从(例如debian):https://<debian-mirror>/debian/dists/sid/main/installer-<arch>/current/images/netboot/netboot.tar.gz下载的。

(如果您没有使用sid,请更改它)。Ubuntu也是类似的。

tar xvf netboot.tar.gz并将目录重命名为"tftp“,并将其移到适当的位置作为VirtualBox请求。

如果这不起作用,那么就用Cygwin手动将softlink更改为硬链接,或者只是简单地复制和重命名文件。

新信息:除了Cygwin,我们还可以使用Win10上的wsl将软链接更改为硬链接。

唯一的例外是pxelinux.cfg.We的“目录硬链接”必须使用cmd的mklink命令来创建目录连接。

票数 5
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/617352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档