欢迎光临 Enjoy IT (ITECN.NET) 登录 | 注册 | 帮助

将Virtual PC虚拟机安装为服务--Updated

实用场景

为什么要将一台Virtual PC虚拟机安装为服务?

这里假设这样一个场景:在Windows XP宿主机上安装Virtual PC,然后在虚拟机里安装Windows Server 2003(并提升为域控),现在希望宿主机能够登录到虚拟机的域中,怎么办?

这似乎陷入了一个两难境地:要想让宿主机登录到虚拟机的域,就必须在宿主机登录前启动虚拟机;而要启动虚拟机,就必须先登录到宿主机。

现在只需将虚拟机安装为系统服务,就可以解决这个问题──大家知道服务可以在用户登录前运行,而在用户注销后还能保持运行。

 

准备工具

对于Windows XP Pro来说,需要准备以下两个命令工具:

1sc.exeWindows XP自带的命令工具,作用类似于services.msc管理单元,属于服务控制程序(SCP)。

本文我们将借助sc.exe命令工具在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下为Virtual PC虚拟机添加子项,这样服务控制管理器(SCM)才能控制该虚拟机服务。

2srvany.exeWindows Server 2003 Resource Kit Tools,可以到以下微软官方网站下载:

http://www.microsoft.com/downloads/details.aspx?displaylang=en&familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd

由于VPC虚拟机本身不具备和服务控制管理器(SCM)交互的能力,所以必须借助srvany.exe代替和SCM进行通信。在这里,VPC虚拟机可以看成是srvany进程所启动的一个服务。

 

操作步骤

为了方便描述,这里假设Virtual PC的安装目录为“C:\Program Files\Microsoft Virtual PC\Virtual PC.exe”,需要将虚拟机VPC_DC安装为服务,服务名为VPCDCsrvany.exe的路径是“C:\Program Files\Windows Resource Kits\Tools\srvany.exe”。

1)打开命令提示符窗口。

2)运行以下命令:

sc create VPCDC type= interact type= own start= auto binpath= "C:\Program Files\Windows Resource Kits\Tools\srvany.exe" obj= LocalSystem displayname= "VPC DC Service"

注意 双引号用半角字符!

其中的“type= interact”表示该服务在桌面上具有GUI界面,可以接收用户交互,这要求服务的帐户身份必须是LocalSystemobj= LocalSystem);“type= own”表示可以每个虚拟机服务独享进程

3)接下来打开注册表编辑器,可以看到在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下新增了一个VPCDC子项,进入其下的Parameters子项,在右侧的详细窗格里新建一个字符串键值Application,并将其数值数据设置为以下内容:

"C:\Program Files\Microsoft Virtual PC\Virtual PC.exe" -pc VPC_DC -singlepc -launch

设置完成后,今后每次启动宿主机,都会自动启动虚拟机VPC_DC,这样我们就可以登录到虚拟机的域中了!

已发表 2005年8月2日 2:38 作者 ahpeng

评论通知

如果您想在帖子更新时接到邮件通知,请先登录。这里

订阅帖子评论使用 RSS

评论

# 妙用服务提升进程的运行权限

问题(原样提供)
各位, 现公司在开发一套针对管理XP用户使用的软件,遇一难题,百思不得其解,望各位能相助,问题是这样的:在Client的User是Domain User,而Domain User在Client只是属于User...
2005年12月20日 15:27 by Sucirst

# re: 将Virtual PC虚拟机安装为服务

type= share

不是shared 嘿嘿
2005年12月20日 16:35 by ahpeng

# re: 将Virtual PC虚拟机安装为服务

多谢楼上的朋友,已更正。
2006年6月9日 11:59 by Windows Vista专题文章汇总

# 天哪,无法把Windows Vista的应用程序安装为服务?

作者:彭爱华
难度:Level 300
提示 如需测试本文所描述的实验,请务必下载安装最新版本的Process Explorer(本文撰写时的最新版本是V10.11):
http://www.sysinternals.com/Utilities/ProcessExplorer.html...
2006年6月9日 12:01 by Windows Vista专题文章汇总

# 天哪,难道真的无法把Windows Vista的应用程序安装为服务?

作者:彭爱华
难度:Level 300
提示 如需测试本文所描述的实验,请务必下载安装最新版本的Process Explorer(本文撰写时的最新版本是V10.11):
http://www.sysinternals.com/Utilities/ProcessExplorer.html...
2006年6月9日 12:04 by Windows Vista专题文章汇总

# 天哪,难道真的无法把Windows Vista的应用程序安装为服务?

作者:彭爱华
难度:Level 300
提示 如需测试本文所描述的实验,请务必下载安装最新版本的Process Explorer(本文撰写时的最新版本是V10.11):
http://www.sysinternals.com/Utilities/ProcessExplorer.html...
2006年6月9日 15:37 by Windows Vista专题文章汇总

# 难道Windows Vista下就不能把应用程序安装为服务?

作者:彭爱华
难度:Level 300
提示 如需测试本文所描述的实验,请务必下载安装最新版本的Process Explorer(本文撰写时的最新版本是V10.11):
http://www.sysinternals.com/Utilities/ProcessExplorer.html...

# 难道Windows Vista下就不能把应用程序安装为服务?

作者:彭爱华
难度:Level 300
提示 如需测试本文所描述的实验,请务必下载安装最新版本的Process Explorer(本文撰写时的最新版本是V10.11):
http://www.sysinternals.com/Utilities/ProcessExplorer.html...

# Windows Vista服务隔离深度剖析

作者:彭爱华
难度:Level 300
提示 如需测试本文所描述的实验,请务必下载安装最新版本的Process Explorer(本文撰写时的最新版本是V10.11):
http://www.sysinternals.com/Utilities/ProcessExplorer.html...
2007年4月10日 11:34 by fandy

# 为什么会提示“一些服务启动后又停止,因为他们没有什么可作的。”

请教各位:

按照上述操作,设置了服务,使用的命令行:

sc create VPCDC type= interact type= own start= auto binpath= "C:\Resource\Kits\Tools\srvany.exe" obj= LocalSystem displayname= "VPC DC Service"

在注册表中对应位置增加Application值:

"D:\VPC\2007\Virtual PC.exe" -pc VPC_DC -singlepc -launch

在启动的时候,提示:“本地计算机 上的 VPC DC Service 服务启动后又停止了。一些服务自动停止,如果它们没有什么可做的,例如“性能日志和警报”服务。”

如何使服务运行?等……

2007年4月18日 15:00 by 路人甲

# re: 将Virtual PC虚拟机安装为服务--Updated

为什么会提示“一些服务启动后又停止,因为他们没有什么可作的。”

2007年4月10日 11:34 by fandy

请教各位:

按照上述操作,设置了服务,使用的命令行:

sc create VPCDC type= interact type= own start= auto binpath= "C:\Resource\Kits\Tools\srvany.exe" obj= LocalSystem displayname= "VPC DC Service"

在注册表中对应位置增加Application值:

"D:\VPC\2007\Virtual PC.exe" -pc VPC_DC -singlepc -launch

在启动的时候,提示:“本地计算机 上的 VPC DC Service 服务启动后又停止了。一些服务自动停止,如果它们没有什么可做的,例如“性能日志和警报”服务。”

如何使服务运行?等……

回答楼上的,您可能键值设置错误了。

可以在服务中找到您建好的服务,

然后在下方的参数中把

"D:\VPC\2007\Virtual PC.exe" -pc VPC_DC -singlepc -launch  

填写进去后,运行一下就可以了。

:)

顺便感谢BLOG的主人,您的文章给偶不少帮助。

qq:1485385

2008年3月6日 16:48 by yoyo

# re: 将Virtual PC虚拟机安装为服务--Updated

那个服务虽然是自动的,但是不能启动呢?启动就提示Could not start the VPC DC Service on Local Computer,Errer 5:Access is denied;到底是什么原因呢?

说说您的看法?

(必填) 
必填 
(必填)