之前都是在用Linux 虚机,现在有需要用到Win7 虚机,才发现在 KVM 上安装 Win7 的过程远比想象中的复杂。本文就把其过程做个简单总结。

1. 在 Virtual Machine Manager 里面安装

首先尝试在 Virtual Machine Manager 里面安装。遇到的问题如下:

(1)一直停留在 starting windows 界面。

解决方法:修改 video model 为 Cirrus,问题解决。

详解在 KVM 上安装 Win7 虚拟机

(2)开始安装后,对鼠标和键盘无响应。

google,发现需要使用 <input type='tablet' bus='usb'/>。添加一个:

详解在 KVM 上安装 Win7 虚拟机

但是键盘还是不好使。。算了,还是转到使用 qemu-system-x86_64 命令启动虚机吧。

2. 使用 qemu-system-x86_64 启动 Win 7 虚机

2.1 环境准备

(1)下载 Windows virtio driver iso:https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.102/,因为要将磁盘挂接为 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 进入界面,进入下面部分。

2.2 安装 Win 7

(1)选择 Custom(advanced)

详解在 KVM 上安装 Win7 虚拟机

(2)选择 virtio 磁盘

详解在 KVM 上安装 Win7 虚拟机

(3)选择 virtio disk driver

详解在 KVM 上安装 Win7 虚拟机

(4)安装 Win7 Virtio SCSI Driver

详解在 KVM 上安装 Win7 虚拟机

(5)安装好以后,就可以看到安装的目标磁盘了

详解在 KVM 上安装 Win7 虚拟机

(6)进入常规的 Win7 安装流程

详解在 KVM 上安装 Win7 虚拟机

 3. 安装其它 Virtio 驱动

(1)网络驱动

详解在 KVM 上安装 Win7 虚拟机

但是安装失败:

详解在 KVM 上安装 Win7 虚拟机

尝试 device manager:

详解在 KVM 上安装 Win7 虚拟机

但是还是失败:

详解在 KVM 上安装 Win7 虚拟机

(2)Baloon driver

Device manager, 右键 root device, add legacy hardware, next, install manually (advanced), next, have disk, browse, select inf, install.

详解在 KVM 上安装 Win7 虚拟机

改成此方法安装 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:

详解在 KVM 上安装 Win7 虚拟机

但是,

  1. 如果使用backing file 直接启动虚机,则没有这个问题。
  2. 使用同样的 backing file 创建一个新的 qcow2 文件,则没有这个问题

具体原因应该和 Nova 的具体逻辑有关,将来再查,现在暂时使用 SCSI network driver。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

标签:
KVM,安装,Win7,kvm安装虚拟机,kvm安装win7虚拟机

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com

评论“详解在 KVM 上安装 Win7 虚拟机”

暂无“详解在 KVM 上安装 Win7 虚拟机”评论...

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?