複製した仮想マシンでネットワークがUPしない場合:device eth0 does not seem to be present, delaying initialization | Hyper-V

2021-06-18

「device eth0 does not seem to be present, delaying initialization」と表示されネットワークが上がらない場合

Hyper-Vで仮想マシンをエクスポートインポートして複製した際に、仮想マシンを起動後に以下のメッセージが表示されネットワークが起動しない場合ケースがあります。この場合ですがエクスポート時のサーバのNicのMacアドレスが設定されており、インポートしたサーバの新しいMacアドレスと異なるのでエラーとなり起動しません

以下の設定で新しいMacアドレスに付け替えるとNetworkが上がってきます

# /etc/init.d/network start
Bringing up loopback onterface
Bringing up loopback onterface eth0:  device eth0 does not seem to be present, delaying initialization

RTNETLINK answers: File exists
RTNETLINK answers: File exists
RTNETLINK answers: File exists
RTNETLINK answers: File exists
RTNETLINK answers: File exists
RTNETLINK answers: File exists
RTNETLINK answers: File exists
RTNETLINK answers: File exists

70-persistent-net.rulesの設定でを新しいMacアドレスに設定する

70-persistent-net.rulesはeth番号とMacアドレスを関連付けをしているファイルです。そのファイル内に複製元の仮想マシンのNIC設定が残っているのでその設定を削除します

「70-persistent-net.rules」を編集する前に、新しい仮想マシンのMACアドレスを確認します
MACアドレスは、仮想マシンの設定ネットワークアダプター高度な機能 で確認できます

70-persistent-net.rulesを編集します。
複製元の仮想マシンの設定を削除し、新しい仮想マシンの設定のみします。また、新しい仮想マシンのNAME="eth0″からNAME="eth1″に変更します

$ sudo vi /etc/udev/rules.d/70-persistent-net.rules

# net device ()
# ↓の設定は複製元の仮想マシンなので削除します
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:XX:XX:XX:XX:04", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# net device ()
# ↓の設定は新しいの仮想マシンです、NAME="eth0"からNAME="eth1"に変更します
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:XX:XX:XX:XX:05", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

Macアドレスを修正する【/etc/sysconfig/network-scripts/ifcfg-ethx】

/etc/sysconfig/network-scripts/ifcfg-eth0にあるネットワーク設定のMacアドレスを新しいMacアドレスに設定し直します

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
# MACアドレスを新しいアドレスに変更します
HWADDR=00:15:5d:0b:06:06
TYPE=Ethernet
UUID=aa56d848-1e0f-4239-97b3-494d2fe9ad73
ONBOOT=yes
NM_CONTROLLED=yes

#MACアドレスを変更したら再起動します
$ sudo reboot