免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1206 | 回复: 0
打印 上一主题 下一主题

BSD下虚拟机qemu 入门详解 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-05-03 11:21 |只看该作者 |倒序浏览

                 转自:
http://blog.chinaunix.net/u/4206/showart_225191.html

大家在windows 下都用什么虚拟机?可能大多数都是用VM ware 吧,那在BSD下呢?在我还用4.10的时候我也是用VM ware,但是VM ware是要授权文件的,不过这个文件是可以下载到的。但是现在,在BSD下,有了更好的选择,那就是qemu,一个开源的虚拟机,小巧而快速,好了不多说,我现在 是在BSD下打算虚拟出一个win来,并且让 win能上网
  1.首先,用ports安装
  #cd /usr/ports/emulators/qemu #路径不怎么记得了,不好意思
  #make WITH_KQEMU=yes install clean #这里有个选项,with_kqemu,当初我就是没装个,导致出错,用了这个选项后 会在BSD启动时加入 kqemu.ko
  然后就是几分钟的时间,很快的就可以装好qemu了(呵呵,比VM 时间短)
  2.接下来就是使用qemu了,
  首先建议您重启BSD,当然,不重启也可以,用下面的步骤就可以了:
  #rehash
  #kldload kqemu.ko
  
  3.要用虚拟机,当然先要为虚拟机准备一块磁盘,这里推荐使用img格式的文件做为虚拟磁盘,当然,qemu兼容vm的文件,有兴趣你也可以试试。个人感觉似乎img的磁盘文件会更快点。往下看
  #mkdir /tmp/qemu #找个地方安装你的虚拟机,要注意下自己的空间哦,不要像我,直接放在了 /下,造成空间不足。强烈建议你先 df -h下   
  #cd /tmp/qemu
  #qemu-img create windows.img 2G#这个就是创建虚拟机磁盘,后面的2G意思是创建一个2G的磁盘
  
  4.接下就是要安装虚拟机了,我有两手准备,一是光驱,二是ISO文件。下面就开始安装
  #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就自己看下:
  
  #kldstat
  下面是引用Linux下的Qemu的使用,由天Qemu是跨平台的,所以应该通用,当然,我只是为可能出现的问题提供一个解决参考:
  安装过程中,要求换盘:
  在qemu中按ctrl+alt+2切换到qemu monitor模式 输入?或help可以查看可用命令及使用说明。
  (在其他版本的qemu中,运行qemu加载OS后,这个shell就会自动变成qemu monitor模式)
  change device filename -- change a removable media
  看来它就是用来换盘的了 : change cdrom /rhel4/EL_disc2.iso
  5.虚拟机装好以后就可以用了,这里要给大家说几个常用的快捷键:
  
  ctrl+alt+F.  全屏切换
  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以前的应该先这样做:
  #cd /dev
  # sh MAKEDEV tun0
  接下来:
  #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)
[color="#0000ff"]dns
就是BSD主机的
[color="#0000ff"]dns

  这样设定之后,虚拟机还不能上网,但已经能用samba 了。要想用虚拟机上网,这就要用到nat 了,设置方法完全跟NAT是一样的,我就不多说了,下面的东西就只有请你参考FreeBSD 的NAT来完成了。
  有兴趣可以参考下面的文章:
  
http://www.vmware.cn/Article/376.html
  
http://wiki.debian.org.tw/index.php/QEMU

Notes:
1)安装好qemu以后直接启动会提示:Bad system call (core dumped),这是因为FreeBSD上最新的版本需要kldload aio才可以,可在/boot/loader.conf中加入
[color="#000000"]aio_load="YES"。
2)如果提示:
Could not open '/dev/kqemu' - QEMU acceleration layernot activated
则加入kqemu_load="YES"


               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/27464/showart_290880.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP