基于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号