通过 PXE 的 Ubuntu 安装程序看不到网络适配器 => 无法下载预置

通过 PXE 的 Ubuntu 安装程序看不到网络适配器 => 无法下载预置

我正在通过 PXE 从另一个 virtualbox VM(使用 cobbler)启动一个 virtualbox VM。两台机器都有 2 个适配器:1) 外部网络和 2) 仅主机网络。

“客户端”虚拟机通过 PXE 成功启动到安装程序(使用仅主机网络适配器),但安装程序甚至没有尝试下载预置文件(根据服务器日志)或获取 IP 地址(再次根据服务器日志 - 这显示之前的TFTP请求)。

我进入 shell 并看到:

  • “ip a”仅显示环回适配器
  • 读取 dmesg 显示显然没有找到适配器
  • lsmod 似乎也没有显示网络适配器模块的迹象
  • 串行通信显示两个网络控制器。
  • /lib/modules/...../kernel/drivers/net 中基本上没有驱动程序(可能这就是原因?

如何让安装程序看到我的网络适配器,或者至少如何找到此问题的原因?

这是 PXE 菜单项:

default linux
prompt 0
timeout 1
label linux
        kernel /images/ubuntu-10.04-server-x86_64/vmlinuz
        ipappend 2
        append initrd=/images/ubuntu-10.04-server-x86_64/initrd.gz  locale=  interface=auto text root=/dev/sda1 priority=critical  auto url=http://192.168.56.101/cblr/svc/op/ks/system/pierrot hostname=pierrot domain=local.lan suite=lucid

答案1

好的,我明白了。

事实证明,我使用的 Ubuntu ISO 中有两个 initrd 映像:

[jkff@localhost tmp]$ find /mnt/ubuntu-server/ -name 'initrd.gz'
/mnt/ubuntu-server/install/initrd.gz
/mnt/ubuntu-server/install/netboot/ubuntu-installer/amd64/initrd.gz

第一个不包括网络驱动程序。第二个包括。Cobbler 选择了第一个(因为),因此,如果没有网络驱动程序,它当然无法找到网卡并下载预置。

现在我必须想办法让 Cobbler 使用正确的 initrd...

答案2

我通过编辑发行版来指向正确的 initrd,从而使 cobbler 使用正确的 initrd,在我的情况下,它位于 /var/www/cobbler/ks_mirror/ubuntu-12.04.1-server-amd64-x86_64/install/netboot/ubuntu-installer/amd64/initrd.gz

相关内容