虛擬機克隆或遷移後,網卡名稱(如 eth1→eth0)與內核記錄的 MAC 地址綁定不匹配,導致 ifup eth0 報錯 No such device。本文提供兩種修復方案:恢復原名或清理 udev 規則重生成。
/etc/udev/rules.d/70-persistent-net.rules 記錄了 MAC→設備名映射# 查看實際設備名 ifconfig -a # 假設顯示 eth1,將配置文件改回 mv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1 # 修改文件內 DEVICE=eth1 service network restart
# 刪除持久化規則 rm -f /etc/udev/rules.d/70-persistent-net.rules # 重啟系統(重啟 network 服務不生效,必須重啟機器) reboot # 重啟後 udev 會根據當前硬件重新生成規則,eth0 正常識別
# 確認設備名 ifconfig -a | grep eth # 確認 udev 規則 cat /etc/udev/rules.d/70-persistent-net.rules # 測試啟動 ifup eth0
rm -f /etc/udev/rules.d/70-persistent-net.rules 再首次啟動NAME="eth0" 在 udev 規則中強制指定名稱(現代 systemd 使用 /etc/systemd/network/ link 文件)DEVICE、HWADDR、NAME 三者保持一致