安装:
cd /usr/ports/emulators/qemu
make install clean # no kqemu 加速模块
或者
make WITH_KQEMU=yes install clean # 包含kqemu加速模块
配置:
如果安装时包含了kqemu加速模块,则
修改/boot/loader.conf,加入以下一行
kqemu_load="YES"
测系统启动时自动记载kqemu内核模块
使用:
qemu-img # 创建磁盘影像
如qemu-img create windows2003.img 10240M
将创建一个20G的名字为windows2003.img的磁盘影像文件在当前目录
qemu # 虚拟机
如qemu -hda windows2003.img -cdrom /dev/acd1 -boot d
将启动虚拟机并将windows2003.img磁盘影像作为第一个硬盘,/dev/acd1作为光驱,并从光驱启动。
-cdrom 选项可以后面跟iso文件
虚拟机启动后,按照普通的机器安装操作系统即可
网络配置:
有两种方式可以使虚拟机上的系统联上网
一是使用默认的tap/tun方式
二使用-user-net选项(此选项的用户方式在第一种方式失效的情况下将是默认的)
两者的区别是tap/tun方式上网host机和guest机将是同等地存在于网络中,而第二种方式是建立一个host机和guest机之间的小型局域网络,guest机通过host机作为网关上网的。
第一种上网方式的网络设置与平常无异
第二种方式需要按照以下的拓扑结构设置网络
QEMU Virtual Machine <------> Firewall/DHCP server <-----> Internet
(10.0.2.x) | (10.0.2.2)
|
----> DNS server (10.0.2.3)
|
----> SMB server (10.0.2.4)
资料来源:http://fabrice.bellard.free.fr/qemu/qemu-doc.html#SEC21
smb配置
虚拟机在启动时加上-smb 选项可以实现host机和guest机共享目录的通信
这时guest机可以通过\\smbserver\qemu访问中的资源
这要求在windows 2003中的system32/drivers/etc/lmhost文件中加入这一行
10.0.2.4 smbserver
并且在freebsd中建立symbol link
ln -s /usr/local/sbin/smbd /usr/sbin/smbd
当然前提是freebsd中安装了samba
驱动程序问题
qemu模拟的网卡是realtek8029兼容的ne2000,windows2003下是无法找到驱动程序的,所以在安装的时候应该找到一张具有该网卡驱动程序的光盘。
以下为安装redhat过程
首先创建磁盘镜像文件:
[root@LFS distro]#qemu-img create redhat.img 6G
Formating 'redhat.img', fmt=raw, size=6291456 kB
[root@LFS distro]#
这样就创建好了一个名为redhat.img的6G磁盘镜像。
注意:创建的磁盘镜像文件大小最好小于你实际分区剩余空间。
开始安装RHEL4:
[root@LFS ~]#qemu -boot d -cdrom /rhel4/EL_disc1.iso -hda redhat.img --enable-audio
-boot d :从光驱引导 a(软盘引导) c(硬盘引导) d(光驱引导)
-cdrom : ISO文件,也可以直接使用光驱设备(/dev/cdrom)...别忘了插入光盘 :)
-hda : 就是虚拟机里的硬盘啦,也就是刚才qemu-img创建出的东东。
-enable-audio : 声卡支持
安装过程中,要求换盘:
在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
monitor下还有几个常用的命令:
savevm filename 将整个虚拟机当前状态保存起来
loadvm filename 恢复 (最初我没用change换盘时,就是先savevm->重新运行qemu->loadvm :( )
sendkey keys 向VM中发送按键,例如你想在虚拟机里切换到另一个终端,按下了ctrl-alt-F2
不幸的是,切换的却是你的主系统,所以就需要用 sendkey了 sendkey ctrl-alt-f2
还有其他几个命令,自己看看啦。
经过N久终于装好了,现在可以启动试试:
[root@LFS distro]#qemu redhat.img -enable-audio -user-net -m 64
-user-net 相当于VMware的nat,主系统可以上,虚拟机就可以
-m 64 使用64M内存,缺省下使用128M
ctrl-alt-f 全屏
ctrl-alt 主机/虚拟机鼠标切换
qemu还有一些其他参数,输入qemu可以查看其相关说明。