#yum -y install qemu-kvm libvirt virt-install bridge-utils
#lsmod | grep kvm # make sure modules are loaded
#systemctl start libvirtd
#systemctl enable libvirtd
算了,http://libvirt.org/formatdomain.html#elementsNICS 这里提到可以直接direct模式,这不是挺爽的嘛,O(∩_∩)O哈哈~
kvm-linux官方的win7安装教程http://www.linux-kvm.org/page/Windows7Install里面提到直接安装需要12 hours 吓到了,赶紧下载virtio driver, 小菜先遵守qemu-kvm、selinux规则,把这些iso放到/var/lib/libvirt/images/ 目录下, 一定要放在这里!!
为了在vnc view里看win7的安装过程,在防火墙里加上vnc的端口:
firewall-cmd --permanent --zone=public --add-port=5910/tcp
firewall-cmd -reload
配置完重新加载
然后就创建一个文件来当做虚拟机的硬盘:
#qemu-img create -f qcow2 /d/virtual-machine/win7.img 40G
virt-install --connect qemu:///system --name=win7 --os-variant=win7 --ram=1024 --vcpus=2 --disk path=/d/virtual-machine/win7.img,format=qcow2,size=40,bus=virtio --accelerate --vnc --vncport=5910 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole --cdrom=/dev/sr0
这样安装一直失败,报错:could not open disk image /dev/sr0: Driver 'host_cdrom' is not whitelisted 不用计较了,redhat说有问题,它已经把驱动拿了,反正老衲折腾过好久没搞定,以后再来理会。
virt-install --connect qemu:///system --name=win7 --os-variant=win7 --ram=1024 --vcpus=2 --disk path=/d/virtual-machine/win7.img,format=qcow2,size=40,bus=virtio --accelerate --vnc --vncport=5910 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole --cdrom=/var/lib/libvirt/images/micrsoft-win7.iso
这样就ok了,
#virsh start win7 虚拟机起来了, 在其他地方用vnc view 连上去吧,装系统吧,O(∩_∩)O哈哈~
可是到了选择安装磁盘这里却是空的, 卧槽,上面明明分配了40G的硬盘给它了嘛,难道嫌少?原来是害怕安装12 hours 所以指定了virtio driver, 得先安装这个驱动吧。
驱动的安装iso文件也得放到/var/lib/libvirt/images 目录下。
# virsh attach-device win7 /var/lib/libvirt/images/virtio-win-0.1-81.iso hdc --type cdrom
暂时先把cdrom替换成这个了。 然后在vnc 里win7的安装界面刷新一下,点击下方的安装驱动,装完再刷新一下就可以看到硬盘了, 还得把cdrom替换回去继续安装win7呗:
# virsh attach-device win7 /var/lib/libvirt/images/
micrsoft-
win7.iso
hdc --type cdrom
剩下的都很顺利安装完了。但是却不能上网,因为tplink这个usb 网卡居然一直都桥接失败, 那就改改配置吧:
#virsh edit win7 把网络设备改成:
里面的dev=‘enp0s26u1u4’ 是这部机器上的设备,其他机器的不一定相同。 在win7里可能还会看到几个设备不能识别,继续把下载的virtio 驱动盘virtio-win-0.1-81.iso挂接上去安装就行了。