Skip to content

virt-install安装Ubuntu ​

更新于2021-01-27

起步用virsh创建虚拟机比较难搞.先用virt-install安装.
virt-install 是个便捷的命令行工具.

ubuntu下安装virt-install ​

shell
sudo apt install virtinst

详见:virtinst

virt-install参数详解 ​

详见: linux.die.net--virt-install

创建虚拟机 ​

由于ubuntu镜像原因[详见文章末尾],18.04,20.04建议用VNC方式安装. 16.04可以以串口模式安装.

查看os-variant ​

shell
sudo apt install  libosinfo-bin
osinfo-query os

VNC模式 ​

shell
virt-install \
    --virt-type kvm \
	--name ubuntu18 \
	--vcpus 4 \
	--ram 4048 \
	--cdrom /path/to/ubuntu-18.04.5-server-amd64.iso \
	--disk /path/to/ubuntu18.qcow2,format=qcow2,size=16 \
	--network bridge=br0 \
	--os-type=linux \
	--os-variant=ubuntu18.04 \
	--graphics vnc,password=123456,listen=0.0.0.0,port=5900

打开VNC客户端,连接上宿主机,端口是5900
正常安装ubuntu
配置IP(默认dhcp分配)后,可以SSH连接了
启动串口服务,可以用virsh console命令连接了.

串口无显卡模式 ​

这里使用串口的方式安装,无显卡

执行脚本 ​

shell
virt-install \
    --virt-type kvm \
	--name ubuntu20.01 \
	--vcpus 2 \
	--ram 2048 \
	--location /path/to/os.iso \
	--disk /path/to/image.qcow2,format=qcow2,size=16 \
	--network bridge=br0 \
	--os-type=linux \
	--os-variant=ubuntu20.04 \
	--graphics none \
	--extra-args='console=ttyS0'

安装SSH服务 ​

安装时选择ssh安装ssh服务.

DHCP ​

默认guest会用DHCP获取IP
没有VNC的情况下可以在宿主机上用arp -a查看新增IP
然后SSH到guest.

启动串口服务 ​

默认没有启动串口服务, 所以需要ssh进入系统后,手动启动串口服务.

shell
sudo systemctl start serial-getty@ttyS0
sudo systemctl enable serial-getty@ttyS0

测试镜像 ​

  • [x] ubuntu16.04
  • [x] ubuntu18.04
  • [x] ubuntu20.04

错误 ​

串口模式下LIVECD镜像安装会提示:RuntimeError: Couldn't find kernel for install tree.
详见: couldnt-find-hvm-kernel-for-ubuntu-tree
using-virt-install-to-install-ubuntu-server-18-04-but-hangs
所以还是VNC安装吧;
玩的开心.