Chinaunix

标题: BSD下虚拟机qemu 入门详解 [打印本页]

作者: linuxbao3    时间: 2005-08-10 14:11
标题: BSD下虚拟机qemu 入门详解
大家在windows 下都用什么虚拟机?可能大多数都是用VM ware 吧,那在BSD下呢?在我还用4.10的时候我也是用VM ware,但是VM ware是要授权文件的,不过这个文件是可以下载到的。但是现在,在BSD下,有了更好的选择,那就是qemu,一个开源的虚拟机,小巧而快速,好了不多说,我现在 是在BSD下打算虚拟出一个win来,并且让 win能上网


1 首先,用ports安装
  1. #cd /usr/ports/emulators/qemu  
复制代码
    #路径不怎么记得了,不好意思
  1. #make WITH_KQEMU=yes install clean
复制代码
#这里有个选项,with_kqemu,当初我就是没装个,导致出错,用了这个选项后 会在BSD启动时加入 kqemu.ko
然后就是几分钟的时间,很快的就可以装好qemu了(呵呵,比VM 时间短)


2  接下来就是使用qemu了,
首先建议您重启BSD,当然,不重启也可以,用下面的步骤就可以了:
  1. #rehash
  2. #kldload kqemu.ko
复制代码

3        要用虚拟机,当然先要为虚拟机准备一块磁盘,这里推荐使用img格式的文件做为虚拟磁盘,当然,qemu兼容vm的文件,有兴趣你也可以试试。个人感觉似乎img的磁盘文件会更快点。往下看

  1. #mkdir /tmp/qemu                      #找个地方安装你的虚拟机,要注意下自己的空间哦,不要像我,直接放在了 /下,造成空间不足。强烈建议你先 df -h下
复制代码



  1. #cd /tmp/qemu
  2. #qemu-img create windows.img 2G         #这个就是创建虚拟机磁盘,后面的2G意思是创建一个2G的磁盘
复制代码

4   接下就是要安装虚拟机了,我有两手准备,一是光驱,二是ISO文件。下面就开始安装

  1. #qemu -hda windows.img -cdrom /dev/acd0 -boot d -m 512 -enable-audio -localtime
复制代码


解释下上面的语法:
-hda    是指定硬盘,在本文里我们使用的是刚才创建的/tmp/qemu/windows.img

-cdrom  指定使用光驱,这个参数后面必须要跟个文件名,在上面的例子里我用的是我的物理光驱/dev/acd0,如果你要使用ISO文件,那就写上文件的路径,比如我第二安装时用的就是/mtn/e/xp.iso


-m    是指定虚拟机使用的内存大小,后面的数字即是你要指定的内存数,我的是512M

-boot 当然就是指定虚拟机启动用的设备,-boot后可以选择的参数是 a ,c ,d .其中a 是指从软盘启动,c 就是用硬盘启动,d 当然就是光驱启动了。

-enable-audio  这个意思我就不说了。

-localtime 就是说要使用你的实际主板bios上的时间。

好了,按以上的步骤做了以后,就可以顺利的进入虚拟机了,并开始安装了。

   *注意:如果你在安装QEMU没有选择 WITH_KQEMU,那么你将不能使用ISO文件来安装,这一点要注意。要想自己是否安装了kqemu.ko就自己看下:

  1. #kldstat
复制代码



下面是引用Linux下的Qemu的使用,由天Qemu是跨平台的,所以应该通用,当然,我只是为可能出现的问题提供一个解决参考:

  1. 安装过程中,要求换盘:

  2. 在qemu中按ctrl+alt+2切换到qemu monitor模式 输入?或help可以查看可用命令及使用说明。

  3. (在其他版本的qemu中,运行qemu加载OS后,这个shell就会自动变成qemu monitor模式)

  4. change device filename -- change a removable media

  5. 看来它就是用来换盘的了 : change cdrom /rhel4/EL_disc2.iso
复制代码



5    虚拟机装好以后就可以用了,这里要给大家说几个常用的快捷键:

  1. ctrl+alt+F      全屏切换
  2. ctrl+alt        鼠标在虚拟机和主机间切换
复制代码

6    虚拟XP上网的问题:
  其实用上面的方法安装完后,你的XP已经能上网了,当然你要用DHCP方式。你也可以在启动时加上 -user-net 这个参数。我觉得qemu可能是默认就带了这个参数了,因为我没用任何参数就可以上网。

不过要说的是,采用这种默认的参数你只能 ping 你的BSD主机,不能ping 外网的,而且你得到的IP是10.0.2.X,Gateway 也一定是10.0.2.2,所以你不要奇怪。这种上网方式主机跟虚拟机的通讯不方便,至少我的samba就不行,也没有解决掉。

qemu也提供了第二种上网方案:tun方式,这个方式其实就是在你的BSD下虚拟一张网卡tun0,这样你的BSD就是双网卡上网,这种方式最大好处就是虚拟机跟主机还有外网通讯比较方便。不过首先你的内核要支持tun设备才行。我的是5.4 release-p6

针对5.0以前的应该先这样做
  1. #cd /dev
  2. # sh MAKEDEV tun0
复制代码

如果你跟我一样,是5。X那就先
  1. #mknod tun0 c 20 0
  2. #ls /dev
复制代码



接下来:

#ifconfig tun0 XXX.XXX.XXX.XXX #设定tun0的IP,一般用192.168开头的,也有人喜欢10开头的,随便啦,我的是192.168.0.1

然后进入虚拟机XP里,设定你的IP为:192.168.0.XXX,网关为 192.168.0.1(*也就是tun0)dns 就是BSD主机的dns。

这样设定之后,虚拟机还不能上网,但已经能用samba 了。要想用虚拟机上网,这就要用到nat 了,设置方法完全跟NAT是一样的,我就不多说了,下面的东西就只有请你参考FreeBSD 的NAT来完成了。

有兴趣可以参考下面的文章:
http://www.vmware.cn/Article/376 ... g.tw/index.php/QEMU
作者: authen    时间: 2005-08-10 14:16
标题: BSD下虚拟机qemu 入门详解
不错!好东西收藏先
作者: mafa    时间: 2005-08-10 14:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: congli    时间: 2005-08-10 14:54
标题: BSD下虚拟机qemu 入门详解
好文!
作者: linuxbao3    时间: 2005-08-10 15:03
标题: BSD下虚拟机qemu 入门详解
呵呵,别人说我写得好都没用,只有楼上的说了才算数,这其实是在你的指点下写得
作者: 剑心通明    时间: 2005-08-10 15:08
标题: BSD下虚拟机qemu 入门详解
http://bbs.chinaunix.net/forum/viewtopic.php?show_type=new&p=3933171#3933171

已经加入精华收集中了,呵呵
作者: 剑心通明    时间: 2005-08-10 15:13
标题: BSD下虚拟机qemu 入门详解
/usr/ports/emulators/qemu

在这里,你的少了个s,改一下吧
作者: linuxbao3    时间: 2005-08-10 15:36
标题: BSD下虚拟机qemu 入门详解
你的眼睛还真尖啊?呵呵
作者: 剑心通明    时间: 2005-08-10 15:47
标题: BSD下虚拟机qemu 入门详解
[quote]原帖由 "linuxbao3"]你的眼睛还真尖啊?呵呵[/quote 发表:

不是眼尖,是我准备照着虚拟一个windows出来试试
作者: chifeng    时间: 2005-08-10 22:54
标题: BSD下虚拟机qemu 入门详解
偶只用过jail。没用过这个。
作者: Eg_zm    时间: 2005-08-11 16:06
标题: BSD下虚拟机qemu 入门详解
想问你一下,MAKEDEV在freebsd5里面好象没有呀?
怎么处理?那freebsd4里面的直接用?
作者: linuxbao3    时间: 2005-08-11 16:15
标题: BSD下虚拟机qemu 入门详解
看handbook 3.11章节
作者: Eg_zm    时间: 2005-08-11 17:06
标题: BSD下虚拟机qemu 入门详解
On systems without DEVFS (this concerns all FreeBSD versions before 5.0), device nodes are created using the MAKEDEV( script as shown below:

我看了,在5.0以后就没有MAKEDEV这个脚本了,使用devfs来自动进行创建.
########################
%cd /dev
%sh MAKEDEV tun0
MAKEDEV: Can't open MAKEDEV: No such file or directory
%



你是怎么做的呢?
作者: linuxbao3    时间: 2005-08-11 17:16
标题: BSD下虚拟机qemu 入门详解
呵呵,不好意思,是我没写清楚
5。0以后的系统会根据你的需要自动产生设备节点。
作者: Eg_zm    时间: 2005-08-11 17:29
标题: BSD下虚拟机qemu 入门详解
那我调节建立tun0的时候怎么做呢?
google上找的都是sh MAKEDEV tun0
我现在在qemu下面用的是user-net的 。。
哎。。。
使用ifocnfig tun0 create 提示不正确。。
作者: Zer4tul    时间: 2005-08-11 23:09
标题: BSD下虚拟机qemu 入门详解
这个zan一下,我正郁闷zyme同学要我装一个RH,又不想用vm,机器太破,跑不动。用这个估计能行
作者: ccagg    时间: 2005-08-31 11:26
标题: BSD下虚拟机qemu 入门详解
在fb5.4下安装xp+sp2
安装一切顺利,网络目前还没有配置,已经通过dhcp获得了ip地址了。
就是运行起来感觉比较慢,机器配置是p4 3.0+512RAM,分配给qemu256M内存。
在我的电脑中,将cpu认成p2 ,主频为3.0g的。不知道是不是因为我的内核没有调整过的原因。
网站上有一个加速程序,据说能使得虚拟机的速度接近于真实的机器,但是好像没有for fb的,不知那位试过这个加速程序?
作者: zero-B    时间: 2005-09-01 00:29
标题: BSD下虚拟机qemu 入门详解
已经被VM折磨太惨了,过段再整,喘口气再说
作者: outmylife    时间: 2005-09-01 10:26
标题: BSD下虚拟机qemu 入门详解
好东东
作者: linuxbao3    时间: 2005-09-19 22:29
标题: BSD下虚拟机qemu 入门详解
希望这次修定能是个release,呵呵
作者: zero-B    时间: 2005-10-01 00:28
标题: BSD下虚拟机qemu 入门详解
LZ的这个产生一个TUN0会不会和ADSL的那个虚拟网卡产生冲突呢?换一个是不是要好些。
作者: linuxbao3    时间: 2005-10-01 10:00
标题: BSD下虚拟机qemu 入门详解
不冲突,adsl自动改名为tun1
作者: longdancing    时间: 2006-03-02 14:40
老大,按你的方法,已安装好了。也可以用。但有一个问题,

# kldload kqemu.ko
# kldstat

后可以看到kqemu已加载。但一启动虚拟机,FB系统就重新启动,似乎是kqemu和系统的kernel有冲突。

不加载kqemu就可以正常使用。
作者: jim0769    时间: 2006-03-24 09:52
学习
作者: congli    时间: 2006-03-24 10:06
原帖由 jim0769 于 2006-3-24 09:52 发表
学习

警告一下,不要这样灌水.
禁止发言三天.
作者: webcc    时间: 2006-03-24 11:00
收了,收了!
作者: llw318    时间: 2006-03-24 16:36
安装了个xp
sp2600+/1G内存/2G硬盘
结果安装好,只剩下200M硬盘空间了,而且超级无敌的卡。cpu占用都在97%以上。

如何解决卡的问题呢?
本来想安装2000的,省些硬盘,结果2000的安装盘有问题……
作者: linuxbao3    时间: 2006-03-26 05:04
标题: 回复 23楼 longdancing 的帖子
你说也真的有时候会发生,我也不知道为什么会这样。那样的话你就不要加载kqemu了,这个kqemu是为了加速用的。
作者: bjhb    时间: 2006-05-26 13:59
LZ,问你一下我按你的方法在装我是在fb6.0上的
+++++++++++++++++++++
   接下就是要安装虚拟机了,我有两手准备,一是光驱,二是ISO文件。下面就开始安装


CODE:[Copy to clipboard]#qemu -hda windows.img -cdrom /dev/acd0 -boot d -m 512 -enable-audio -localtime
+++++++++++++++
做完这一步后电脑会自动重启,
启动到一半时就说:
no dump device defined,press a key on the console to reboot or switch of the system now!
按任何键电脑就重启,如果不按过15秒也是重启,一直在循环,重启,这是怎么回事啊
作者: dingjeff    时间: 2006-05-27 15:41
好文。
作者: linuxbao3    时间: 2006-05-27 19:55
原帖由 bjhb 于 2006-5-26 13:59 发表
LZ,问你一下我按你的方法在装我是在fb6.0上的
+++++++++++++++++++++
   接下就是要安装虚拟机了,我有两手准备,一是光驱,二是ISO文件。下面就开始安装


CODE:[Copy to clipboard]#qemu -hda windows.img ...



已经在你的帖子里回答你了,你试试我的方法看看去
作者: platinum    时间: 2006-05-27 20:51
不知 linuxbao3 是否研究过在 windows 下跑 BSD/Linux,并把网络调通?
我做过,失败了,好像 qemu 的版本选择的不对,有些参数不支持
作者: wang52114978    时间: 2006-09-06 10:12
好文,收藏先!
回头试试看!
作者: vagrantonline    时间: 2006-12-29 21:15
标题: 辛苦了,谢谢
加入收藏了,谢谢楼主!
作者: wincat    时间: 2006-12-31 19:01
要装kde才行吗?
作者: linuxbao3    时间: 2007-01-02 06:51
原帖由 wincat 于 2006-12-31 19:01 发表
要装kde才行吗?

没必要,只要装个window make ,,,,,,xfce ,fvwm这种小的X window就可以。

如果你懒的话 可以使用Xorg安装时自带的那个管理窗口也可以
作者: zonyonq    时间: 2007-01-19 23:16
OK,很不错呀!照着做没什么问题,谢谢谢谢!
作者: 独孤天血    时间: 2007-01-19 23:21
好东西
作者: redrett    时间: 2007-01-22 13:33
有谁碰到过,虚拟机系统的分辨率到达1024X768的时候,鼠标移动就很慢很慢,基本上就不能操作了。800X600及以下的都没问题。
作者: phphelp    时间: 2008-01-02 17:43
鼠标移动很慢,还未找到解决的方法




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2