1.安装qemu软件包。 FC7的安装盘里已经带有qemu,使用rpm安装即可。

rpm -ivh qemu-0.9.0-2.fc7.x86_64.rpm


2.创建虚拟硬盘。用dd创建一个数据文件即可。

dd if=/dev/zero of=linux.img bs=1024 count=8000000


3.安装Fedora 6。先把光盘放进光盘(直接在-cdrom后面指定iso文件也行)。-boot d表示从光盘起动。接下来和正常安装没有什么差别。

qemu -hda /work/qemu/linux.img -cdrom /dev/cdrom -boot d


4.运行虚拟机。记得这次要用boot c,从硬盘起动。

qemu -hda linux.img -boot c -localtime -m 256 -usb


5.配置网络。网络不需要特殊配置,在GUEST机上使用DHCP就OK了,它获得的IP地址是10.0.2.15。


我发现GUEST机可以用SSH访问HOST机,GUEST机也可以通过HOST机访问外网, 但HOST机不能访问GUEST机,而且两者都PING不通对方。


6.把GUEST的GUI定向到HOST机上。


GUEST机是在虚拟机上运行的,速度有点慢,为了减轻它的负载,我决定把GUI显示到HOST上。本来这个很简单,通过DISPLAY环境变量就行了。不过,没有想的那样顺利。


我的HOST机有两块网卡,一个网卡接笔记电脑,IP是192.168.0.1,另外一个通过天威上外网,IP是用DHCP获得的。


在GUEST机上:export DISPLAY=192.168.0.1:0

在HOST机上:xhost +10.0.2.15


但在GUEST上运行gedit,总是报告打开显示设备失败,真是奇怪。后来用ps查看 Xorg 的运行参数,发现有-nolisten tcp一项,原来X不支持TCP连接。


修改 /usr/share/gdm/defaults.conf中的DisallowTCP为false,让其支持TCP连接。


reboot之后重新再试,发现还是不行。打开/var/log/Xorg.0.log,发现里面的错误信息竟是rejected from IP 192.168.0.1。奇怪,IP为什么是HOST的IP而不是GUEST的IP呢?先不管它,用xhost把 192.168.0.1也加入进去吧。


在HOST机上:xhost +192.168.0.1


再运行

gedit,一切 OK了,界面显示到 HOST上。