源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

详解在 KVM 上安装 Win7 虚拟机

  • 时间:2020-02-29 19:15 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:详解在 KVM 上安装 Win7 虚拟机
之前都是在用Linux 虚机,现在有需要用到Win7 虚机,才发现在 KVM 上安装 Win7 的过程远比想象中的复杂。本文就把其过程做个简单总结。 [b]1. 在 Virtual Machine Manager 里面安装[/b] 首先尝试在 Virtual Machine Manager 里面安装。遇到的问题如下: (1)一直停留在 starting windows 界面。 解决方法:修改 video model 为 Cirrus,问题解决。 [img]http://files.jb51.net/file_images/article/201703/2017031511055429.jpg[/img] (2)开始安装后,对鼠标和键盘无响应。 google,发现需要使用 <input type='tablet' bus='usb'/>。添加一个: [img]http://files.jb51.net/file_images/article/201703/2017031511055530.jpg[/img] 但是键盘还是不好使。。算了,还是转到使用 qemu-system-x86_64 命令启动虚机吧。 [b]2. 使用 qemu-system-x86_64 启动 Win 7 虚机[/b] [b]2.1 环境准备[/b] (1)下载 Windows virtio driver iso:[url=https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.102/]https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.102/[/url],因为要将磁盘挂接为 virtio 磁盘。 (2)创建系统盘 qemu-img create -f raw win7.img 30G,这将作为Win7的操作系统盘。 (3)创建启动脚本
#!/bin/sh
DISKIMG=/home/s1/win7.img
WIN7IMG=/home/s1/en_windows_7_enterprise_x64_dvd_x15-70749.iso
VIRTIMG=/home/s1/virtio-win-0.1.102.iso
qemu-system-x86_64 --enable-kvm -drive file=${DISKIMG},if=virtio -m 2048 \
-net nic,model=virtio -net user -cdrom ${WIN7IMG} \
-drive file=${VIRTIMG},index=3,media=cdrom \
-rtc base=localtime,clock=host -smp cores=2,threads=4 \
-usbdevice tablet -cpu host -name win7 -vnc :5 -device cirrus-vga,id=video0,bus=pci.0,addr=0x4

 (4)可以运行脚本了,然后通过 VNC 进入界面,进入下面部分。 [b]2.2 安装 Win 7[/b] (1)选择 Custom(advanced) [img]http://files.jb51.net/file_images/article/201703/2017031511055531.jpg[/img] (2)选择 virtio 磁盘 [img]http://files.jb51.net/file_images/article/201703/2017031511055532.jpg[/img] (3)选择 virtio disk driver [img]http://files.jb51.net/file_images/article/201703/2017031511055533.jpg[/img] (4)安装 Win7 Virtio SCSI Driver [img]http://files.jb51.net/file_images/article/201703/2017031511055534.jpg[/img] (5)安装好以后,就可以看到安装的目标磁盘了 [img]http://files.jb51.net/file_images/article/201703/2017031511055535.jpg[/img] (6)进入常规的 Win7 安装流程 [img]http://files.jb51.net/file_images/article/201703/2017031511055536.jpg[/img] [b] 3. 安装其它 Virtio 驱动[/b] (1)网络驱动 [img]http://files.jb51.net/file_images/article/201703/2017031511055537.jpg[/img] 但是安装失败: [img]http://files.jb51.net/file_images/article/201703/2017031511055538.jpg[/img] 尝试 device manager: [img]http://files.jb51.net/file_images/article/201703/2017031511055539.jpg[/img] 但是还是失败: [img]http://files.jb51.net/file_images/article/201703/2017031511055540.jpg[/img] (2)Baloon driver Device manager, 右键 root device, add legacy hardware, next, install manually (advanced), next, have disk, browse, select inf, install. [img]http://files.jb51.net/file_images/article/201703/2017031511055541.jpg[/img] 改成此方法安装 network 驱动成功。注意将虚机重启从而使得安装生效。 (3)诡异的问题 通过上面方法得到的 Win7 raw 格式的镜像文件可以直接使用来创建新的虚机,这些新的虚机会使用 virtio network driver。 但是,在 OpenStack 环境和中,Nova 首先将 qcow2 格式的镜像从glance 中下载到计算节点上,然后将它转化为 raw 格式作为 backfing file,再创建一个 qcow2 文件,它使用 raw 文件作为 backing file。如下图所示:
root@linuxkvm1:/home/s1# qemu-img info /var/lib/nova/instances/1d157798-848d-4dc0-9663-7343083ec943/disk
image: /var/lib/nova/instances/1d157798-848d-4dc0-9663-7343083ec943/disk
file format: qcow2
virtual size: 30G (32212254720 bytes)
disk size: 1.3G
cluster_size: 65536
backing file: /var/lib/nova/instances/_base/d074d3233a25bf3d10fdc4915e2c7913aebf39ee
Format specific information:
  compat: 1.1
  lazy refcounts: false
  refcount bits: 16
  corrupt: false
root@linuxkvm1:/home/s1# qemu-img info /var/lib/nova/instances/_base/d074d3233a25bf3d10fdc4915e2c7913aebf39ee
image: /var/lib/nova/instances/_base/d074d3233a25bf3d10fdc4915e2c7913aebf39ee
file format: raw
virtual size: 30G (32212254720 bytes)
disk size: 7.1G

诡异的是,OpenStack 中新建的虚机不能使用 virtio network driver: [img]http://files.jb51.net/file_images/article/201703/2017031511055542.jpg[/img] 但是, [list=1] [*]如果使用backing file 直接启动虚机,则没有这个问题。[/*] [*]使用同样的 backing file 创建一个新的 qcow2 文件,则没有这个问题[/*] [/list] 具体原因应该和 Nova 的具体逻辑有关,将来再查,现在暂时使用 SCSI network driver。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部