安装KVM
sudo apt-get install kvm qemu之所以要把qemu也装上,是因为KVM没有包含建立虚拟磁盘的工具….无语.接下来,要使用KVM,你肯定要有运行它的权限啦.将你加入KVM组吧.sudo adduser yourusername kvm另外,如果要让虚拟机能访问你的物理磁盘,你得将你加入多一个组:sudo adduser yourusername di
之所以要把qemu也装上,是因为KVM没有包含建立虚拟磁盘的工具….无语.
接下来,要使用KVM,你肯定要有运行它的权限啦.
将你加入KVM组吧.
sudo adduser yourusername kvm
另外,如果要让虚拟机能访问你的物理磁盘,你得将你加入多一个组:
sudo adduser yourusername disk
接下来..ctrl+alt+backspace吧~
重新登录之后呢,就可以创建磁盘啦.
便于管理,我们要先在用户目录下建一个kvm目录,进入之.
第一步:创建一个虚拟机的硬盘,将来来存放虚拟操作系统的.这个虚拟硬盘是利用文件系统来进行模拟的
参数说明:
* -f qcow2 :磁盘的格式
* WindowsXP.img :磁盘名字..
* 8G :摆明是大小设定..
这样就可以了.其他参数可以自己敲”qemu-img”+enter,慢慢看啦.“
安装XP登场!
第二步:安装是很快的..准备好iso之后..
kvm -M pc -m 256 -soundhw es1370 -hda /home/leewings/kvm/WindowsXP.img -localtime -net nic,vlan=0 -net user,vlan=0 -cdrom /media/ACER/MY\ SKY/Download/ISO/Windows/DeepinXP-V5.9f.iso -boot d -no-acpi
举例:
qemu-system-x86_64 -enable-kvm -m 512 -smp 1 -boot order=dc -hda /opt/vdisk.img -cdrom /home/d/Downloads/CentOS-6.4-x86_64-minimal.iso
-enable-kvm 是使用kvm内核,不用qemu的内核,开启虚拟机加速,
-m 2048 是给客户机分配512MB内存,
-smp 1 是给客户机分配1个CPU,
-boot order=dc 是指定系统的启动顺序为光驱(d: CD-ROM)、硬盘(c: hard Disk),-hda ** 是分配给客户机的IDE硬盘(即前面准备的镜像文件),-cdrom ** 是分配客户机的光驱。默认情况下,QEMU会启动一个VNC server端口(如上面的::1:5900),可以用vncviwer工具来连接到QEMU的VNC端口查看客户机
可以看出,KVM的”界面”真简洁啊..
安装是快速流畅的….真强悍.
先说几个关于安装的关键参数,还有一些常用的,下面会说滴~
* -m 256 虚拟机内存大小
* -soundhw es1370 声卡支持
* -hda /home/leewings/kvm/WindowsXP.img 刚刚建立的虚拟磁盘C盘
* -cdrom /media/ACER/MY\ SKY/Download/ISO/Windows/DeepinXP-V5.9f.iso 安装光盘的位置D盘(好吧,我的路径很深..)
* -boot d 从光驱启动
* -no-adpi 官方推荐使用这个参数,原因是qemu/kvm不太兼容,可能造成cpu的占用偏高.不过,有的人用不了这个参数….那就不用吧…..我成功使用,嘿嘿
安装好之后,可以先随便乱用一下..那速度..VBOX和VMware根本无法比拟….真棒!!
有点不爽诶..USB不能用?!鼠标很卡??!好吧..
先说关于鼠标卡,我们换种方式来使用吧~~
记得很久以前我说过的rdesktop么?我们又要用它啦~
首先要在XP里作如下设定:
* 给你的用户加个密码..我的是123456.嘿嘿….多好
* 打开你的远程桌面支持..
* 控制面版->用户帐户->更改用户登录或注销的方式,“使用欢迎屏幕”和“使用快速用户切换”都勾上
* 关机然后你会看到一个神奇的画面….这个,是N年前的电脑才出现过的..
呃..我的截图没有窗口的….其实,它是有窗口的~
不如..我们直接按叉叉呀.~
其实,可以在终端->”CTRL+C”
然后别急..我们来解决USB的问题.
1. 「系统」→「系统管理」→「用户和组」→「管理组」新增群组「usbusers」,并将允许使用KVM的使用者都勾选起来。
2. 打开终端,
sudo gedit /etc/udev/rules.d/40-permissions.rules
3. 在打开的文件中寻找:
SUBSYSTEM=="usb_device"
将其补充成:
SUBSYSTEM=="usb_device", GROUP="usbusers", MODE="0664"
4. 由于 ubuntu中预设关闭usbfs的支援,so..
sudo gedit /etc/init.d/mountdevsubfs.sh
5. 开启后,寻找:
# Magic to make /proc/bus/usb work
#
#mkdir -p /dev/bus/usb/.usbfs
#domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,
devmode=0600,listmode=0644
#ln -s .usbfs/devices /dev/bus/usb/devices
#mount --rbind /dev/bus/usb /proc/bus/usb
将最后四行的#去掉,如下所示:
# Magic to make /proc/bus/usb work
#
mkdir -p /dev/bus/usb/.usbfs
domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,
devmode=0600,listmode=0644
ln -s .usbfs/devices /dev/bus/usb/devices
mount --rbind /dev/bus/usb /proc/bus/usb
搞定!!!!!!!
还是别急..我们再来解决网卡桥接的问题..
下面是我在Ubuntu8.04下设定kvm(适用于所有虚拟机)中桥接模式的过程,桥接模式可以使Host OS 和Guest OS在区域网路中处于平行地位。
安装所需工具 uml-utilities,bridge-utils (已有)
sudo apt-get install uml-utilities
1. 为Host OS建立桥接界面(Bridge)和虚拟网卡设备(tap device)这样作的原故,是使将来取得IP是由桥接界面(bridge),而不是由ethx(真实的有线网卡)或tapx(虚拟网卡)来取得IP将下面的文本保存成文件,有需要按自己的情况修改一两个地方。
另存为在/etc/init.d/virtualbridgedrun
sudo gedit /etc/init.d/virtualbridgedrun
# Virtual Bridging
# Create a tap device with permission for the user running kvm
# 建立一个使用者(user)有权限的设备tap0,user为自己用户名
tunctl -t tap0 -u user
chmod 0666 /dev/net/tun
# Bring up ethX and tapX in promiscuous mode
# 将ethx和tapx网卡界面设为混杂模式(Promiscuous)
ifconfig eth0 0.0.0.0 promisc
ifconfig tap0 0.0.0.0 promisc
# Create a new bridge and add the interfaces to the bridge.
# 建立新的桥接界面(bridge),並把 eth0, tap0加入bridge
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 tap0
# 下面是两种获取IP的方式,可以自由选择,把不需要的注释掉就好了。
# 将bridge设成静态IP。XXX都分别对应IP、子网掩码、网关。
# 注意,以下设定不能与eth0的相同,不然都不能上网....
# 唠叨多一句,自动获取IP的方式我从来没成功过..都会和eth0冲突,两边都不能上网了....
#ifconfig br0 XXX.XXX.XXX.XXX netmask XXX.XXX.XXX.XXX up
#route add default gw XXX.XXX.XXX.XXX
# 将bridge设成动态DHCP分配IP。
# dhclient br0
2. 给上面的文件加上可执行权限
sudo chmod +x /etc/init.d/virtualbridgedrun
3. 再建立一个可执行文件
sudo gedit /etc/init.d/virtualbridge
添加如下内容:
/etc/init.d/virtualbridgedrun &
给它加上可执行权限
sudo chmod +x /etc/init.d/virtualbridge
4. 在/etc/rc2.d目录下做一个指向/etc/init.d/virtualbridge的链接
cd /etc/rc2.d/
sudo ln -sf ../init.d/virtualbridge S999virtualbridge
#取名S999开头是为了让它最后启动
重新启动电脑之后,就完成KVM桥接网路模式的设定了.
输入ifconfig看看吧,多了个tap0噢~
马上启动Guest吧 !Guest的网路设定和Host是独立平行的。
好吧,搞定所有前奏了.
终于需要启动你的虚拟机了,..
kvm -M pc -m 256 -hda /home/leewings/kvm/WindowsXP.img -hdb /dev/sda -net nic -net tap,ifname=tap0,script=no -usb -localtime -redir tcp:3389::3389
P.S.:普通联网方式:
kvm -M pc -m 256 -hda /home/leewings/kvm/WindowsXP.img -hdb /dev/sda -net nic -net user -usb -localtime -redir tcp:3389::3389
稍等..其实就是等到登录界面………
然后,再起一个终端
rdesktop localhost:3389 -u administrator -p 123456 -g 1280x800 -D -r sound:local
windows..它出现啦!鼠标很平滑..~嘿嘿
好了,现在解释一下参数吧.
下面是KVM的参数.
* -hda /home/leewings/kvm/WindowsXP.img 之前创建并安装了XP的虚拟磁盘
* -hdb /dev/sda 让kvm加载我的系统分区.这个命令加载的是全部的分区..可以根据自己的情况调节的.
* -net nic -net user 使用简单网络访问,可以让虚拟机上网.
* -usb 使能 USB 支持.
* -localtime 时间同步,你该不会希望你的虚拟机是另外的时间吧?!
* -redir tcp:3389::3389 把虚拟机的远程桌面服务器端口映射到宿主机的端口,这个等同windows的远程桌面.
下面是rdesktop的参数
* localhost:3389 虚拟机的网络IP(如果是普通方式,直接就是”localhost”;如果是桥接,第一次要到guest里面查看IP地址..):端口
* -u administrator 用户名,像我这种直接安装精简版ISO的,一般都是administrator啦..
* -p 123456 密码..我刚设定的123456
* -g 1280×800 显示分辨率,根据需要来调整咯
* -D 消除远程终端窗口的边框
* -r sound:local 启用声音.注意:不能与KVM参数中的”-soundhw es1370″共用!
这种方式,可以享受KVM的所有效率,它真的快到不行啊..,
同时,鼠标是不是很快了?另外,几乎可以避免所有的键盘冲突.多好,嘿嘿~
不过,我们知道,用rdesktop连接,只能断开不能关机..
那如果加入了”-nographic(不启动图形界面)”参数,我要关机怎么办?那我们要去查看虚拟机的界面.
方法有2:
* 使用远程桌面工具,地址 localhost 端口 5900.
* 使用远程终端,地址 localhost 端口 3389.
使用上了,肯定就把我常用的软件给弄上啦~
对于VBOX和VMware的无缝模式,我还是恋恋不舍….怎么办?!
只需要一个小改动^^看我的~
1. 在XP,下载SeamlessRDP,并解压到C盘根目录下,C:\seamlessrdp,然后就登出吧
2. ubuntu,通过rdesktop,用seamlessrdpshell.exe这个东西调用虚拟机上的软件,只把软件界面搞到本地来用.在我这里打开IE的命令如下:
rdesktop -A -s "C:\seamlessrdp\seamlessrdpshell.exe C:\Program Files\Internet Explorer\IEPLORER.EXE" guestip:3389 -u administrator -p 123456 -r sound:local
创建了4个启动器
* 桥接模式的windows xp
kvm -M pc -m 256 -hda /home/leewings/kvm/WindowsXP.img -hdb /dev/sda -net nic -net tap,ifname=tap0,script=no -usb -localtime -redir tcp:3389::3389
* 使用SeamlessRDP的rdesktop
kvm -M pc -m 256 -hda /home/leewings/kvm/WindowsXP.img -hdb /dev/sda -net nic -net user -usb -localtime -redir tcp:3389::3389
* 普通联网模式的windows xp
rdesktop guestip:3389 -A -s "C:\seamlessrdp\seamlessrdpshell.exe C:\Program Files\Internet Explorer\IEPLORER.EXE" -u administrator -p 123456 -r sound:local
* 普通的rdesktop
rdesktop localhost:3389 -u administrator -p 123456 -g 1280x800 -D -r sound:local
tips:不知道为什么,KVM使用SeamlessRDP的rdesktop不是很稳定..很容易就退出………..以前在vbox中是不会出现的..囧
这样一来,我的虚拟机就配置好了..花了一个星期时间….主要是因为上课/写作业等事情,要断断续续的来做..
…累..
呼..搞定了!
真爽!!这速度,以后使用就好舒坦了..
本来想附上自己翻译的KVM和rdesktop参数表..
但是,目前对于我来说..水平有限….只能当草稿存起来了..
同志们就自己敲KVM或rdesktop自己看E文的参数表吧..~
就这样吧,我要休息了..
PS.来自xjx的补充:
如果出现 open /dev/kvm: No such file or directory, 可能有人的内核还没有加入kvm支持, 增加一个加入 kvm 到内核的命令, 这个是在 http://forum.ubuntu.org.cn/vie …..0ee2315c7a 看到的.
命令:
modprobe kvm_intel 或者kvm_amd
更多推荐
所有评论(0)