2026-07-17_Ubuntu网卡名称固定操作手册

Ubuntu 22.04 网卡名称固定操作手册

适用场景: 重启后 ethX 网卡名变化,netplan 配置对不上、IP 丢失。

方案: 启用可预测命名(按插槽命名,如 eno1enp94s0f0),名称不再随启动顺序变化。


1. 检查当前 GRUB 参数

grep GRUB_CMDLINE_LINUX /etc/default/grub

观察输出中是否含有 net.ifnames=0biosdevname=0

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0 i915.force_probe=* pci=realloc=off i915.enable_guc=2"
  • 值为 0(或缺省,使用 ethX 命名)→ 继续下一步
  • 已经是 1 且网卡名形如 enoX/enpXsYfZ → 无需操作

2. 修改 GRUB 参数

sudo vim /etc/default/grub

GRUB_CMDLINE_LINUX 行中,把 net.ifnames=0 改为 net.ifnames=1biosdevname=0 改为 biosdevname=1,其余参数保持不动:

GRUB_CMDLINE_LINUX="net.ifnames=1 biosdevname=1 i915.force_probe=* pci=realloc=off i915.enable_guc=2"

3. 更新 GRUB 并重启

sudo update-grub
sudo reboot

4. 重启后确认新网卡名

ip addr | grep qlen

观察:网卡名应变为 eno1enp175s0f0 这类插槽命名,不再是 ethX

2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ... state UP ...
3: enp175s0f0: <NO-CARRIER,...> ... state DOWN ...
6: enp94s0f0: <NO-CARRIER,...> ... state DOWN ...

记录每个新名称对应的 MAC 地址(供改 netplan 时核对):

ip -br link

5. 更新 netplan 配置

sudo vim /etc/netplan/*.yaml

把配置中的旧网卡名(eth0eth1...)替换为第 4 步看到的新名称(按 MAC 对应),然后应用:

sudo netplan apply

观察:ip addr 中对应网卡应拿到配置的 IP;ip route 中默认路由正常。

6. 验证固定效果

多次 sudo reboot,每次开机后执行:

ip -br link
ip -br addr

观察:网卡名与 MAC 的对应关系、IP 配置均不再变化,即为完成。


附:新式命名前缀速查

前缀 含义
eno 板载网卡,由 BIOS/Firmware 提供索引
ens 板载网卡,由 PCI 热插拔槽位索引
enp PCI 网卡,由 bus/slot/function 编号命名
enx 由 MAC 地址命名的网卡

例:enp94s0f0 → PCI 网卡,bus 94, slot 0, function 0。


关联概念: [[Linux网络配置]] [[netplan]] [[systemd-networkd]]

posted on 2026-07-17 10:13  风惊庭前叶  阅读(11)  评论(0)    收藏  举报