基于ubuntu22創建kvm虛擬機
運行以下命令檢查 default 網絡狀態:
virsh net-list --all
輸出可能類似:
Name State Autostart Persistent
-----------------------------------------
default inactive no yes
?? 看到了嗎?default 是 inactive(未激活) 的。
? 步驟 1:啟動 default 網絡
sudo virsh net-start default
? 步驟 2:設置開機自啟
sudo virsh net-autostart default
再次檢查狀態:
virsh net-list --all
現在應該是:
Name State Autostart Persistent
-----------------------------------------
default active yes yes
? 步驟 3:重新運行你的腳本
bash create-ubuntu-vm.sh
? 現在應該可以正常創建虛擬機了!
??? 補充:如果 default 網絡不存在?
極少數情況下,default 網絡可能被刪除了。你可以用下面命令恢復它:
1. 創建默認網絡的 XML 文件
cat > /tmp/default-network.xml << 'EOF'
<network>
<name>default</name>
<uuid>8f55e2d1-2d15-46e8-9700-32f8e8db4780</uuid>
<forward mode='nat'>
<nat>
<port start='1024' end='65535'/>
</nat>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
</dhcp>
</ip>
</network>
EOF
2. 定義并啟動網絡
sudo virsh net-define /tmp/default-network.xml
sudo virsh net-start default
sudo virsh net-autostart default
3. 驗證
virsh net-list --all
應該能看到 default 已激活。
? 你的腳本可以稍作優化(推薦)
在腳本開頭加上 --network network=default 顯式指定網絡(雖然默認也是 default,但更清晰):
#!/bin/bash
virt-install \
--name=vm01 \
--memory=4096 \
--vcpus=2 \
--disk size=40 \
--cdrom=/mnt/iso/ubuntu-22.04.5-live-server-amd64.iso \
--os-variant=ubuntu22.04 \
--network network=default \
--graphics spice \
--import \
--noautoconsole
?? 注意:
--import:告訴 libvirt 磁盤是空的,準備安裝系統(推薦加上)--noautoconsole:不自動打開控制臺(避免卡住)
? 驗證虛擬機是否創建成功
安裝開始后,另開一個終端查看:
virsh list
你應該看到:
Id Name State
----------------------
2 vm01 running
用 virt-manager 也可以圖形化查看和操作。
? 如何連接虛擬機?
方法 1:使用 virt-manager 圖形界面(推薦)
virt-manager
方法 2:查看 SPICE 控制臺
virsh domdisplay vm01
輸出如:spice://127.0.0.1:5900,可用 virt-viewer 打開:
sudo apt install -y virt-viewer
virt-viewer vm01
附加創建debian的腳本
root@bocheng-System-Product-Name:/data/tools# cat /data/tools/debian/install.sh
#!/bin/bash
virt-install \
--name debian13 \
--memory 2048 \
--vcpus 2 \
--os-variant debian13 \
--cdrom /data/tools/iso/debian-13.1.0-amd64-DVD-1.iso \
--disk size=20,bus=virtio,format=qcow2 \
--network network=default,model=virtio \
--graphics vnc,listen=0.0.0.0,port=5905,password=123456 \
--noautoconsole \
--boot cdrom,menu=on,useserial=on \
--rng /dev/urandom

浙公網安備 33010602011771號