喻名堂所有公司新开了个分公司,装有三条ADSL,还有一台打印机,由于那个新的办公地点没有配置新的办公电脑,只从我们总部搬了两台电脑过去,因为种种原因打印机没办法连接到这两台电脑中的任何一台,其它员工都是用的自己的笔记本,而且分公司的人员流动比较大,不想将打印机连接到笔记本上免得以后麻烦。于是我就从公司总部办公室找了一台空闲的配置比较低的电脑装上server 2003的系统和VMware虚拟机,以达到既能做打印服务器也能做路由器的目的。打印服务器的配置和ROS多条ADSL叠加配置我就不多说了,在这里我重点说说我遇到的一个问题以及解决办法。
因为分公司和总部虽然在同一个城市,但过去一趟也不太方便,那边也不会招网管,所以为了以后自己方便,我就把那个机器设置了来电开机,希望在断电之后能自动开机,但是问题也随之而来,系统可以来电开机,但是要怎么样能让VMware里面的ROS开机启动呢,百度和谷歌搜索的很多结果都是要把VMware注册成系统服务,但经过实验,此方法行不通。所以只能通过曲线的方法来达到目的,我的想法是这样的,先把启动VMware里面的ROS的命令写到一个名为autovm.bat的bat里面,在我的环境里面命令是这样的:“"D:\Program Files\vmware\vmware.exe" -x D:\虚拟机\ros3.3\ros3.3.vmx” 。(如果vmware的路径和虚拟机配置文件的路径不一样可以根据实际情况修改,如果想要同时启动多个系统,只要在后面多加配置文件的路径就可以了)。然后把这个bat文件添加到任务计划里面,设置成计算机启动时运行,经过实验,这个方法也行不通,我又尝试让任务计划在系统登陆的时候运行,前提是要能让系统自动登陆,方法在这里就不缀述了,我前面的一篇文章已经讲到了。经过这一系列的设置基本上能达到我的目的了,但考虑到系统在刚登陆的时候要加载的程序比较多,启动虚拟机配置文件的时候占用系统资源比较大,为了不影响进入桌面后加载程序的速度和减小死机的概率,于是开始考虑延迟启动虚拟机配置文件,在这里我用到了一个vbs脚本,内容如下
Set vbs=CreateObject("Wscript.Shell") wscript.sleep 180000 vbs.Run ("C:\script\autovm.bat"),,true
将以上代码输入记事本另存为autovm.vbs文件,然后将此文件添加到任务计划取代bat文件,设置任务计划为登陆时运行即可。
注:以上代码中的红字部分可根据不同的环境做相应的调整
经过以上设置以后我的所有目的都已实现,那个服务器运行到现在都没人反映出现问题。