kvm虚拟化windouws系统卡 kvm虚拟机显卡驱动_正在安装虚拟网络驱动程序卡住了

最近学习openstack相关知识,在制作镜像中遇到一些问题,遂记录下来以免后面忘记。

基于内核的虚拟机 Kernel-based Virtual Machine(KVM)是一种内建于 Linux® 中的开源虚拟化技术。具体而言,KVM 可帮助您将 Linux 转变为虚拟机监控程序,使主机计算机能够运行多个隔离的虚拟环境,即虚拟客户机或虚拟机(VM)。


0x02 准备

为方便镜像制作在本地vm虚拟机安装虚拟化环境,在Centos7系统下使用virt-install安装镜像系统,安装kvm qemu-img libvirt kvm虚拟化所需环境组件

yum -y install qemu-kvm qemu-img kvm qemu-kvm-tools libvirt bridge-utils

yum install virt-* -y

yum install -y virtio-win  //安装virtio驱动

kvm虚拟化windouws系统卡 kvm虚拟机显卡驱动_kvm虚拟化windouws系统卡_02

由于virtio-win驱动程序无法安装,直接官网下载rpm地址

https://fedorapeople.org/groups/virt/virtio-win/repo/

kvm虚拟化windouws系统卡 kvm虚拟机显卡驱动_系统安装_03

下载并上传centos安装

rmp -i virtio-win-0.1.171-1.noarch.rpm

kvm虚拟化windouws系统卡 kvm虚拟机显卡驱动_驱动程序_04

0x03 安装

  • 上传系统安装镜像

新建文件夹专门存储系统iso镜像

kvm虚拟化windouws系统卡 kvm虚拟机显卡驱动_驱动程序_05

  • 使用virt-install安装系统

新建10G硬盘

qemu-img create -f qcow2 winxp.qcow2 10G

kvm虚拟化windouws系统卡 kvm虚拟机显卡驱动_正在安装虚拟网络驱动程序卡住了_06

安装win-xp系统

virt-install --virt-type kvm --name winxp --vcpus=1 --ram 512 --boot hd --os-type=windows --os-variant=winxp --disk path=/var/lib/libvirt/images/winxp.qcow2,format=qcow2,bus=virtio,cache=writeback --disk path=/usr/share/virtio-win/virtio-win-0.1.171_servers_x86.vfd,device=floppy --network network=default,model=virtio --cdrom=/iso/cn_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74070.iso --graphics vnc,listen=0.0.0.0 --noautoconsole

kvm虚拟化windouws系统卡 kvm虚拟机显卡驱动_正在安装虚拟网络驱动程序卡住了_07

到virt-manager控制台安装系统

kvm虚拟化windouws系统卡 kvm虚拟机显卡驱动_正在安装虚拟网络驱动程序卡住了_08

在安装过程中安装第三方virtio-win驱动


kvm虚拟化windouws系统卡 kvm虚拟机显卡驱动_系统安装_09

kvm虚拟化windouws系统卡 kvm虚拟机显卡驱动_正在安装虚拟网络驱动程序卡住了_10

熟悉的蓝天白云

kvm虚拟化windouws系统卡 kvm虚拟机显卡驱动_ide_11

  • 安装其他驱动程序

安装网卡、显卡驱动

kvm虚拟化windouws系统卡 kvm虚拟机显卡驱动_ide_12

右键→更新驱动程序


kvm虚拟化windouws系统卡 kvm虚拟机显卡驱动_kvm虚拟化windouws系统卡_13

kvm虚拟化windouws系统卡 kvm虚拟机显卡驱动_驱动程序_14

系统安装成功

kvm虚拟化windouws系统卡 kvm虚拟机显卡驱动_系统安装_15

0x04 其他扩展

  • 关于镜像压缩

有时候由于qcow2格式镜像过大,需要压缩qcow2镜像大小。 Windows镜像压缩:

启动虚拟机,下载压缩工具

https://technet.microsoft.com/en-us/sysinternals/bb897443.aspx

运行qcow2系统(linux系统可以在virt-manager下运行),将sdelete.exe拷贝之系统,直接执行命令,其中C:是指盘符

完成后,直接关闭系统。

mv winxp.qcow2 winxp.qcow2_backup

qemu-img convert -O qcow2 winxp.qcow2_backup winxp.qcow2

Linux镜像压缩:

安装相应软件

第一种方法:

yum install libguestfs-winsupport -y

yum install '*guestf*' -y

运行qcow2系统(linux系统可以在virt-manager下运行),将sdelete.exe拷贝之系统,直接执行命令,其中C:是指盘符

完成后,直接关闭系统。

mv winxp.qcow2 winxp.qcow2_backup

qemu-img convert -O qcow2 winxp.qcow2_backup winxp.qcow2

压缩镜像

virt-sparsify -x /var/lib/libvirt/images/winxp.qcow2 winxp1.qcow2

virt-sparsify --compress --convert qcow2 Windows10.qcow2 Windows10.1.qcow2

第二种方法:

启动惊醒,创建一个文件

cd /

touch tmpfile

dd if=/dev/zero of=/tempfile

将0填充到创建的tmpfile中,直到0占满整个空间,需要停止所有进

rm -f /tempfile

停止虚拟机

qemu-img convert -c -O qcow2 vm500G.qcow2 vm500G-mini.qcow2

  • 关于qcow2与vmdk格式互转蓝屏问题

首先开机修改注册表以防止蓝屏

https://github.com/jakobadam/kvm-mergeide/archive/master.zip

解压压缩包将mergeide.reg导入注册表

在windows中直接双击reg文件导入

在linux中:

wget https://github.com/jakobadam/kvm-mergeide/archive/master.zip

yum install qemu-img *libguestfs* -y

virt-win-reg --merge XP mergeide.reg

PS:还有很多坑慢慢填吧!!!