#yum -y install qemu-kvm libvirt virt-install bridge-utils
#lsmod | grep kvm  # make sure modules are loaded
#systemctl start libvirtd
#systemctl enable libvirtd
#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 

配置完重新加载
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
#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
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
# 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
# virsh attach-device win7 /var/lib/libvirt/images/
micrsoft-
win7.iso
 hdc --type cdrom


剩下的都很顺利安装完了。但是却不能上网,因为tplink这个usb 网卡居然一直都桥接失败, 那就改改配置吧:

#virsh edit win7  把网络设备改成:

<interface type='direct'>
      <mac address='52:54:00:b5:bd:ab'/>
      <source dev='enp0s26u1u4' mode='vepa'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <interface type='direct'>
      <mac address='52:54:00:b5:bd:ab'/>
      <source dev='enp0s26u1u4' mode='vepa'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>


里面的dev=‘enp0s26u1u4’ 是这部机器上的设备,其他机器的不一定相同。 在win7里可能还会看到几个设备不能识别,继续把下载的virtio 驱动盘virtio-win-0.1-81.iso挂接上去安装就行了。