在 VMware虚拟机中,因为时间与实时钟不同步,造成开发中很多问题,例如 Makefile 文件会造成一些不必要的重复编译,甚至有些程序拒绝编译。我尝试运行 ntpd 来同步时钟,但是每每由于误差太大,造成拒绝同步。当然,也可使用 ntpdate 来定时访问外部服务器来同步,但是总感觉别扭。 有没有更好的办法呢?

于是在 google 搜索了半天,也看了 VMware 的帮助文档,得知需要安装 vmware-tools,安装的步骤如下:

一、安装 vmware-tools

1. 在 VMware 窗口菜单中 VM -> setting ,选择 CD-ROM image iso 指向:
C:\Program Files\VMware\VMware Workstation\linux.iso
2. 在 linux 终端中,执行以下命令:

1、以ROOT身份进入LINUX

2、按下 CTRL+ALT组合键,进入主操作系统,点击VMWARE状态栏安装提示,或者点击 SETTING菜单下的ENABLE VMWARE TOOLS子菜单。

3、确认安装VMWARE TOOLS。

这时我们并没有真正的安装上了VMWARE TOOLS软件包,如果您点击菜单:DEVICES,您就会发现光驱的菜单文字变为:ide1:0-> Crogram FilesVMwareVMware WorkstationProgramslinux.iso,这表示VMWARE将LINUX的ISO映象文件作为了虚拟机的光盘

4、鼠标点击LINUX界面,进入LINUX。

5、运行如下命令,注意大小写。

mount -t iso9660 /dev/cdrom /mnt



加载CDROM设备,这时如果进入 /mnt 目录下,你将会发现多了一个文件:vmware-linux-tools.tar.gz。这就是WMWARE TOOLS的LINUX软件包,也就是我们刚才使用WINISO打开LINUX.ISO文件所看到的。

cp /mnt/vmware-linux-tools.tar.gz /tmp



将该软件包拷贝到LINUX的 TMP目录下。

umount /dev/cdrom



卸载CDROM。

cd /tmp



进入TMP目录

tar zxf vmware-linux-tools.tar.gz



解压缩该软件包,默认解压到vmware-linux-tools目录下(与文件名同名)。

cd vmware-linux-tools



进入解压后的目录

./install.pl



运行安装命令。

这时install提示你是否需要备份以前的配置文件,建议选择"y"。

等待INSTALL运行完成后,这时键入 START 命令,是不是可以看到漂亮的LINUX图形界面了?

接下来该运行 vmware-toolbox 进行配置了。但是该程序需要 xwin 环境,所以暂时还不能运行。
二、在 windowsxp 中安装 Xming xserver for windows

这一步很多朋友关心的问题,与大家一样,因为 linux 运行在 server 方式下,一般没有安装 xwindows组件,解决的办法是在自己的工作机上安装 xserver。 Xming 是一个开源的xserver,简单易用,下载的地址是:

[url]http://sourceforge.net/projects/xming[/url]



如果仅仅是需要远程运行 vmware-toolbox 这类的简单程序,只需要下载安装 Xming-6-9-0-21-setup.exe 即可,其他的 fonts 和 client 都没有必要。 Xming 的安装很简单,初次运行的时候注意使用 XLaunch 配置 xserver 的参数,特别注意要勾选 No Access Control ,否则远程客户无法连接 xserver。

三、运行 vmware-toolbox

在 linux 终端中设置 export DISPLAY=192.168.1.100:0 ,这里的 192.168.1.100 是我的 xserver 地址,也就是我的 windowsxp 工作机地址。

#export DISPLAY=192.168.1.100:0 

#vmware-toolbox &



ok. 如果顺利的话,vmware-toolbox 的窗口就弹出在工作机上,是不是很爽,^_^
注意勾选 option 中 Time synchrononiation between the virtual machine and the host operating system. 即可。

四、设置 grub 启动参数

在grub (文件路径 /boot/grub/grub.conf)启动配置的kernel 那行结束,加上 clock=pit , 例子如下:

[pre] 

# cat /boot/grub/grub.conf 

# grub.conf generated by anaconda# 

# Note that you do not have to rerun grub after making changes to this file 

# NOTICE: You do not have a /boot partition. This means that 

# all kernel and initrd paths are relative to /, eg. 

# root (hd0,0) 

# kernel /boot/vmlinuz-version ro root=/dev/sda1 

# initrd /boot/initrd-version.img 

#boot=/dev/sdadefault=0timeout=5splashimage=(hd0,0)/boot/grub/splash.xpm.gzhiddenmenutitle 

CentOS_ServerCD (2.6.9-42.EL) 

root (hd0,0) kernel /boot/vmlinuz-2.6.9-42.EL ro 

root=LABEL=/ clock=pit initrd /boot/initrd-2.6.9-42.EL.img 

[/pre]


如果guest OS不能安装vmware tools, 或者vmware guest OS是SuSE SLES9表现时间过快,用 clock=pmtmr 代替。如果虚拟的是单cpu guest OS, 把nosmp noapic nolapic 这三个参数加到grub的kernel参数最后, 例子如下:

[pre] 

title CentOS_ServerCD (2.6.9-42.EL)root (hd0,0) 

kernel /boot/vmlinuz-2.6.9-42.EL ro root=LABEL=/ clock=pit nosmp noapic nolapic 

initrd /boot/initrd-2.6.9-42.EL.img 

[/pre]