当前位置:Linux教程 - Linux文化 - 在VMware虚拟机中时钟过慢或过快的问题

在VMware虚拟机中时钟过慢或过快的问题


在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 终端中,执行以下命令:

[root]#cd /media[root]#mount cdrommount: block device /dev/hdc is write-protected, mounting read-only[root]#cd cdrom[root] #ls[root]#rpm -ivh VMwareTools-5.5.1-19175.i386.rpm

我一般喜欢使用 rpm 安装,优点是卸载程序很方便。也容易查看安装的详细内容。

然后运行 /usr/bin/vmware-config-tools.pl,注意该命令不能在远程终端中运行。

接下来该运行 vmware-toolbox 进行配置了。但是该程序需要 xwin 环境,所以暂时还不能运行。

二、在 windowsxp 中安装 Xming xserver for windows

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

Xming 是一个开源的xserver,简单易用,下载的地址是:

http://sourceforge.net/projects/xming

如果仅仅是需要远程运行 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 工作机地址。

[root]#export DISPLAY=192.168.1.100:0

[root]#vmware-toolbox &

ok. 如果顺利的话,vmware-toolbox 的窗口就弹出在工作机上,是不是很爽,^_^

注意勾选 option 中 Time synchrononiation between the virtual machine and the host operating system. 即可。

四、设置 grub 启动参数

在grub 启动配置的kernel 那行结束,加上 clock=pit , 例子如下:

[root@mail grub]# 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

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

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