我知道互联网上已经有很多关于这个问题的讨论,但我始终找不到适合我的情况的答案。我正在使用 PXE 安装和预置文件安装 Debian 机器 (9.3)。当我配置预置文件以忽略丢失的固件时,安装可以完全无人值守地成功继续。
我决定更改我的 initrd.gz 文件(在 PXE 服务器上),使其包含丢失的固件文件,因此当安装检测到硬件并发现固件丢失时,就会安装固件。
这也很好用。唯一的问题是,正在安装的固件文件之一是用于无线适配器的,该适配器在下载固件后才会激活。
在安装过程中,稍远一点的地方会尝试获取 DHCP 地址,而这正是出错的地方。由于某种原因,安装程序尝试通过 Wifi 获取地址,但失败了。从日志中我了解到,安装程序还尝试从用于 PXE 启动的另一个网卡获取地址。这也失败了 (...),然后出现一个对话框,要求我选择要使用的网络适配器。这显然不是我想要的......
我上周一直在寻找,但我所能找到的就是应该可以在启动文件中添加一个额外的参数,称为 BOOTIF=(mac_address_of_default_nic)。
因此,我尝试构建启动文件(抱歉,打错了,我是在其他地方做的):
......
kernel debian-installer/amd64/linux
append auto=true priority=critical vga=788 initrd=debian-installer/amd64/initrd.gz preseed/url=tftp://192.168.0.30/preseed/debian-9-preseed.cfg BOOTIF=00:00:00:00:00:00
......
当然,00:00:00.... 是别的。我也尝试过用破折号代替冒号。没有解决... 还读到你应该在某处使用额外的参数 IPAPPEND 2。我也试过了,但也没用。
我陷入了困境并开始怀疑这是否有可能......
1) 是否有人使用此方法成功强制安装程序使用特定的网络适配器? 2) 如果我需要使用 IPAPPEND 参数,那么在 menu.cfg 文件中的哪个位置指定该参数有什么区别吗?(在 kernel... 行之后,还是在 append... 行之后)
答案1
有一个内核参数决定应该使用哪个网络设备。此外,还可以添加网络参数。
在你的情况下,你应该添加“ip=eth0:dhcp”(将 eth0 更改为你想要使用的网络接口)。请参阅nfsroot.txt