1、首先检查当前的CPU是否支持虚拟化技术
egrep -c '(svm|vmx)' /proc/cpuinfo
如果返回0 表示不支持,所幸笔者这里显示的是8,可以进行下一步。
2、更新索引
sudo apt update
3、安装KVM
sudo apt install qemu qemu-kvm libvirt-bin bridge-utils virt-manager
4、将libvirtd添加自启动
sudo systemctl start libvirtd.service
sudo systemctl enable libvirtd.service
5、配置网络 使用网桥模式
sudo vim /etc/network/interfaces
添加如下内容
auto br0
# 网桥使用DHCP模式,从DHCP服务器获取IP
iface br0 inet dhcp
# 主网卡名称,网桥创建前连接外部的网卡
bridge_ports enp3s0
# 避免数据链路出现死循环
bridge_stp on
# 将转发延迟设置为0
bridge_fd 0
重启networking服务
sudo systemctl restart networking.service
使用ifconfig命令可以看到ip从enp3s0(网桥创建前的网卡)变到br0上了。如果宿主机ip成功变到网桥,并且能正常上网,但虚拟机获取不到ip,可能是ufw没有允许ip转发导致,编辑/etc/default/ufw允许ip转发。
sudo vim /etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"
重启ufw服务
sudo systemctl restart ufw.service
6、安装Win7系统
sudo virt-install -n win7 \
--description "win7" \
--os-type=win --os-variant=win7 \
--ram=4096 --vcpus=2 \
--disk path=/home/tangjz/kvm/data/win7/win7.qcow2,bus=virtio,size=40 \
--disk path=/home/tangjz/kvm/iso/virtio-win-0.1.160_amd64.vfd,device=floppy \
--network bridge:br0,model=virtio \
--accelerate \
--graphics vnc,listen=0.0.0.0,keymap=en-us \
--cdrom=/home/tangjz/kvm/iso/cn_windows_7_enterprise_x64_dvd_x15-70741.iso
这里要留意virtio-win-0.1.160_amd64.vfd,需要加载virtio驱动,否则在安装Windows系统的时候会找不到硬盘。
virtio驱动下载地址:https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.160-1/
7、安装界面
加载驱动
驱动加载完毕,硬盘才会显示出来。
安装完毕。