kvm虚拟化管理平台WebVirtMgr部署-完整记录(安装Windows虚拟机)-(4)
一、背景说明
在之前的篇章中,提到在webvirtmgr里安装linux系统的vm,下面说下安装windows系统虚拟机的操作记录:
由于KVM管理虚拟机的硬盘和网卡需要virtio驱动,linux系统默认支持virtio驱动,所以安装linux系统虚拟机的时候只需要加载iso镜像即可。
但是windows系统默认不支持virtio驱动,需要另外下载virtio驱动,在安装windowss虚拟机过程中,需要选择virtio驱动路径,继而加载驱动,最后才可以识别到驱动。
下面是安装windows server 2008虚拟机的操作过程:
二、准备工作 1)UltraISO软件下载地址(破解版,直接使用) http://pan.baidu.com/s/1mie0soo 提取密码:vp8c 2) virtio-win-0.1-30.iso下载地址 【也可以自行下载其他高版本】 http://pan.baidu.com/s/1o8KZDvc 提取密码:pmg6
virtio的iso文件中包括三种驱动: 1)网卡驱动 2)硬盘驱动 3)用来实现内存膨胀的驱动
三、安装记录
(1)下载UltraISO软件和virtio驱动,安装UltraISO软件,并在里面打开virtio-win-0.1-30.iso文件,在本地创建文件夹virtio-win-0.1-30,点击UltraIOS“操作”-“提取”将其提取到本地文件夹virtio-win-0.1-30下:
从图中可以看出,这个virtio-win-0.1-30驱动集成了win7、xp、wlh、wnet等多个win版本系统的驱动,其中,各驱动对应关系如下,在安装的时候,根据所安装版本选择相应驱动目录: wxp: winxp 磁盘驱动 wnet: win2003磁盘驱动 win7:win7磁盘驱动 wlh: win2008磁盘驱动 xp: win xp/2003 网卡驱动 vista: win vista/7/2008 网卡驱动
(2)使用UltraISO软件打卡windows_server_2008.iso镜像文件,并将virtio-win-0.1-30文件夹复制到下图中路径下,比如放到镜像里的support->tools下(也可以其他路径,自己定义) 点击UltraIOS的“操作”->“添加目录”,将上面(1)步中存放在本地virtio-win-0.1-30文件夹添加进去:
在上面将virtio-win-0.1-30.iso里内容添加到windows server 2008的iso镜像里后,另存为一个新的iso。“文件”->“另存为”
(3)接着,参照“http://www.cnblogs.com/kevingrace/p/5739009.html”文章,在webvirtmgr里添加windows server2008镜像(也就是上面保存的新的涵盖virio内容的iso镜像),安装虚拟机,然后进入webvirtmgr的控制台查看操作过程:
选在“加载驱动程序”
浏览,找到驱动路径
选择驱动所在文件夹(在第(2)步添加的路径)
选择硬盘驱动程序: a、第一个为网卡驱动 b、第二个为硬盘驱动(选这个)(不过最好是全部选中,这样在安装后就不用在手动加载两外两个驱动了) c、第三个是用来实现内存膨胀的驱动
这样就可以认到硬盘驱动了
系统装完之后,进入系统,开启远程桌面,并安装网卡驱动(默认安装之后没有网卡驱动)
“更改驱动程序软件”——修改网卡驱动类型
也就是找到上面第(2)步中放到windows_server_2008.iso镜像文件中的virtio-win-0.1-30驱动路径(“support“->”tools“->”virtio-win-0.1-30“->”win7(或wlh)“->”AMD64“)
注意:因为在此我安装的是64bit的OS,所以选择的是AMD64,如果你安装的OS是32bit,建议你选择X86。
这样,网卡驱动就加载上了,然后配置ip就可以跟宿主机通信了。
---------------------------------------------------------------------------------------------------- 特别注意: 上面其实就是下载windows server 2008的iso镜像和virtio驱动镜像,然后将virtio驱动镜像集成到windows server 2008镜像内,最后安装虚拟机
下面提供一个下载地址: 已经集成VirtIO驱动的各版本Windows的ISO镜像
http://www.hostloc.com/thread-242194-1-1.html
国内用户专用的”集成VirtIO驱动的windows版本“下载地址: http://pan.baidu.com/share/init?shareid=948450002&uk=2451828834 (提取密码mtx2)
-------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------ 上面安装的windows虚拟机(ip:192.168.1.180)如若不能联网,可以通过宿主机(110.111.10.7,内网ip为192.168.1.7)的squid代理上面
1)宿主机安装配置好squid,3128端口运行客户机连接
2)虚拟机配置ip
浏览器里配置squid代理。 ”工具“->“Internat属性"->”连接"->“局域网(LAN)设置”
以上设置后,windows虚拟机就可以访问http/https的页面了
------------------------------------------------------------------------------------------------------ 如何要想远程桌面连接这台windows虚拟机,则需要在宿主机上进行nat端口转发设置(远程桌面连接的端口是3389)
[root@kvm-server conf]# cat /etc/sysconfig/iptables .......... *nat :PREROUTING ACCEPT [6:966] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A PREROUTING -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.1.180:3389 -A POSTROUTING -d 192.168.1.180/32 -p tcp -m tcp --sport 3389 -j SNAT --to-source 192.168.1.7
......... *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [4:560] -A INPUT -p tcp -m state --state NEW -m tcp --dport 3389 -j ACCEPT
[root@kvm-server conf]# /etc/init.d/iptables restart
======================== 或者 [root@kvm-server conf]# iptables -t nat -A PREROUTING -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.1.180:3389 [root@kvm-server conf]# iptables -t nat -A POSTROUTING -d 192.168.1.180/32 -p tcp -m tcp --sport 3389 -j SNAT --to-source 192.168.1.7 [root@kvm-server conf]# /etc/init.d/iptables save ========================
- Struts2 s2-032远程代码执行分析
- 微信企业号二次开发--自定义菜单接口开发--应用中心
- 微信最新自定义菜单事件
- 微信JSSDK分享到朋友圈和朋友自定义内容功能实现
- 无线安全渗透测试套件WiFi-Pumpkin新版本发布
- Java使用QQ邮箱给其他邮箱发邮件
- 从wireshark抓包开始学习https
- 用于时间序列预测的Python环境
- Pandoc安装实现Markdown转PDF (CentOS6)
- String类replaceAll方法正则替换深入分析
- 微信硬件平台对接--蓝牙
- 初试git+github(linux环境)
- Raspberry PI Nginx 安装
- 微信支付-Java-SpringMVC基础一些代码支持
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法