Ubuntu 20.04镜像迁移至同品牌不同主板后无法获取DHCP IP地址求助
Ubuntu 20.04镜像迁移至同品牌不同主板后无法获取DHCP IP地址求助
看起来你的问题核心是网卡接口名称不匹配导致的DHCP配置失效,我来一步步帮你解决:
问题原因分析
Ubuntu从17.10开始采用了「可预测网络接口命名」规则,网卡的名称会根据它的PCI插槽位置、硬件型号等信息生成。当你把系统迁移到不同主板的机器上时,新主板的网卡PCI位置和原机器不同,系统就会分配一个新的接口名(比如原机器的eno1变成了新机器的enp6s0)。而你的Netplan配置文件只针对eno1这个特定接口启用DHCP,新的enp6s0接口根本没被配置,自然无法获取IP地址。
解决方案
这里提供两种实用的解决办法,你可以根据自己的习惯选择:
方案一:修改Netplan配置,适配所有以太网接口(推荐)
这种方法不需要改变系统的命名规则,让Netplan自动识别并配置所有可用的以太网接口:
- 编辑你的Netplan配置文件:
sudo nano /etc/netplan/00-installer-config.yaml
- 将原内容替换为以下通用配置(匹配所有以
en开头的以太网接口):
# This is the network config written by 'subiquity' network: ethernets: all-ether-interfaces: match: name: en* dhcp4: true version: 2
- 应用配置并生效:
sudo netplan generate sudo netplan apply
- 重启机器后,用
ip a命令检查,新的网卡接口应该已经自动获取到DHCP IP了。
方案二:禁用可预测命名,恢复传统eth0命名
如果你更习惯旧的网卡命名方式(比如eth0),可以禁用可预测命名规则,让所有机器的网卡都使用统一名称:
- 编辑GRUB配置文件:
sudo nano /etc/default/grub
- 找到
GRUB_CMDLINE_LINUX这一行,添加net.ifnames=0 biosdevname=0参数,修改后类似:
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
- 更新GRUB并重启:
sudo update-grub sudo reboot
- 重启后,网卡名称会变成
eth0,此时修改你的Netplan配置文件,把eno1改成eth0,再执行sudo netplan apply即可。
这样不管你把系统迁移到哪台机器上,只要有以太网网卡,就能自动通过DHCP获取IP地址了。
备注:内容来源于stack exchange,提问作者SES-Energy
相关产品推荐
相关产品推荐

