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

从启动管理器看待 Windows 7 = NT 6.1

微软下一代桌面操作系统已经正式定名为 Windows 7。然而,这个 7 并不是代表 Windows 7 的核心版本已经从 Windows Vista 的 NT 6 升级至 NT 7,而只是代表 Windows 7 是微软正式发行的桌面 Windows 第七代产品而已。Windows 7 真正的核心版本号仅仅是 NT 6.1,Windows 7 与 Windows Vista 的关系好比是 Windows XP(NT 5.1)与 Windows 2000(NT 5.0)。时隔多年,Windows 又一次与我们玩起了文字游戏,以至于有人将 Windows 7 戏称为“NT 6.1 = Windows 非常 6+1 = Windows 7”。
 
为了更为直观地理解 Windows 7 = NT 6+1,不妨从 Windows 启动管理器的层面看待这个问题。与容易混淆的 Windows 正式产品名称相比,启动管理器一直是严格按照 Windows 系统的核心版本加以区分的。这是由于在配置多重操作系统共存时,必须由版本最高的启动管理器负责管理所有的操作系统,启动管理器只具备向下兼容性、不具备向上兼容性。因此,启动管理器的版本必须严格按照高低先后的顺序正确排列,而不能像 Windows 的正式名称一样胡乱设置,否则便有可能无法正确配置多重操作系统共存。
 
例如,Windows 2000/XP/Server 2003 之所以都叫做 NT 5.X,是因为它们的启动管理器全部都是 NTLDR 与 BOOT.INI。在配置 Windows 2000/XP/Server 2003 彼此之间的多系统共存时,每一个操作系统都是由 NTLDR 与 BOOT.INI 统一管理的,大家是平起平坐的关系。而做为 NT 6.X 的 Windows Vista/Server 2008 则采用了 BOOTMGR 与 BCD 的新式启动管理器,在配置 Windows Vista/Server 2008 与 Windows 2000/XP/Server 2003 的多系统共存时,BOOTMGR 将全面负责计算机的启动管理工作,NTLDR 将沦为 BOOTMGR 的替补。举个例子,假设我们配置了 Windows Vista、Windows XP、Windows Server 2008、Windows Server 2003 四个操作系统的共存,BOOTMGR 启动菜单并不会把 Windows XP 与 Windows Server 2003 分别列在启动菜单里,而是将它们统一显示为“早期版本的 Windows”。只有做为 NT 6.X 的 Windows Vista 与 Windows Server 2008 才有资格在 BOOTMGR 启动菜单中以独立选项的姿态出现。我们只有选择了“早期版本的 Windows”选项,由 BOOTMGR 将启动控制权移交给 NTLDR 并自动切换为 NTLDR 菜单,这时才可以继续选择需要启动 Windows XP 还是 Windows Server 2003。换言之,NTLDR 启动菜单就像是 BOOTMGR 启动菜单的子菜单一样。
 
现在我们再来看一下 Windows 7,当我们在安装有 Windows Vista/Server 2008 的计算机中安装了已经放出的 Windows 7 预览版后,Windows 7 会将自己添加在 BCD 里,与原有的 Windows Vista/Server 2008 实现共存,BOOTMGR 启动菜单将显示 Windows 7、Windows Vista/Server 2008 及早期版本的 Windows(如果有的话)三个选项。换言之,Windows 7 采用的启动管理器依然是 BOOTMGR 与 BCD,它与 Windows Vista/Server 2008 是一个平起平坐的关系。
 
假如 Windows 7 的核心版本叫做 NT 7 的话,那么它应该拿出一个版本比 BOOTMGR 与 BCD 更高的新启动管理器才对,由这个新的启动管理器接管 BOOTMGR 与 BCD 的工作。当然,目前在现实中是不存在这样一个启动管理器的,我们不妨将其假设为 Loader v7。那么,当我们安装了 Windows NT 7 系统后,Loader v7 将自动取代 BOOTMGR 与 BCD 负责计算机的启动管理,到时候只有符合 NT 7.X 版本的 Windows 系统才有资格以独立选项的姿态出现在 Loader v7 菜单中,Windows Vista/Server 2008 将被统一显示为“早期版本的 Windows”、Windows XP/Server 2003 则将被显示为“更早期版本的 Windows”(当然,如果几年以后真的有 Loader v7,到时它究竟还能否向下兼容 Windows XP/Server 2003 恐怕很难说了)。现在,Windows 7 虽然正式名称叫做 7,但是它却并没有拿出这样一款更高级的 Loader v7 启动管理器,依然只能依靠 BOOTMGR 与 BCD、同 Windows Vista/Server 2008 平起平坐,因此 Windows 7 的核心版本号还没有资格提升到 NT 7 的高度,最多只能叫做 NT 6.1 了。
 
虽然现在 Windows 7 仅仅放出了一个预览版,在正式发行前会有什么变化还不好说,但从目前核心版本号已经确定为 NT 6.1 的情况来看,笔者认为 Windows 7 的启动管理器不会有什么大变了。可以预见在今后的三五年内,我们的计算机都将长期使用 BOOTMGR 与 BCD。就像 Windows 2000/XP/Server 2003 可以并列在一起成为 NT 5.X 系列一样、Windows Vista/Server 2008(包括将来的 R2)/Windows 7 也可以并列在一起组成一个相对完整的 NT 6.X 家族了。
 
其实,在 Windows 7 核心版本号确定之前,笔者个人还是非常希望 Windows 7 能够设计新的启动管理器取代 BOOTMGR 与 BCD,真正成为 NT 7 的。现有的 BOOTMGR 与 BCD 虽然已经很好用,但有一个最大的缺陷就是它始终还是基于纯字符界面的、不是一个支持鼠标操作的 GUI 界面,叫做 Windows 未免有些名不副实。其它操作系统可是早就实现图形方式的启动管理器了,这不得不说是一个遗憾。试想如果开机自检后可以出现一个图形化的启动界面,通过鼠标点击按钮选择操作系统以及安全模式等选项该有多好,期待 NT 7 将来可以实现。目前只有使用 ERD Commander 等第三方启动管理器软件才可以实现这个目的了。
发表于 作者 alx-zj | 2 评论

BrowseNewProcess 引起 IE 相关的四则故障

(注:本文被 Microsoft TechNet 中文速递邮件 2008 年 10 月收录为 MVP 推荐 Blog) 
 
Windows 有一个不太为人所知的注册表项 BrowseNewProcess,它可以将 Windows Shell 进程 Explorer.EXE 与 IE 浏览器的进程 IEXPLORE.EXE 合并在一起。之所以说这个注册表项不太为人所知是因为我们在微软 KB 知识库中几乎搜索不到有关 BrowseNewProcess 的说明,但是在实际应用中,却有非常多的 IE 相关故障都是由 BrowseNewProcess 引起的。以下四则故障都是笔者最近在微软新闻组及微软中文技术论坛中见到被人频繁问起的:

故障 1. 启动 IE 浏览器后在任务管理器的“进程”列表找不到 IEXPLORE.EXE 进程,但 IE 浏览器确实已经启动。无论我们打开多少个 IE 窗口或者多少个 IE 标签(IE 7/8 Beta 2),都无法看到运行中的 IEXPLORE.EXE,反倒是 Explorer.EXE 进程的内存占用率一再飙升。

故障 2. 在已经安装了 IE 7/8 Beta 2 的 Windows XP 系统中,IE 6 理论上已经被 IE 7/8 取代。但有时通过开始菜单打开 Windows Update 时,弹出的却不是带有标签的 IE 7/8 窗口,而是没有标签的 IE 6 窗口;或者,当有时在某些应用软件中点击一个链接时,弹出的也不是 IE 7/8 窗口、而是一个空白的 IE 6 窗口。这个问题曾被问起过不止十次,很多人将其奇怪地形容为“IE 7/8 与 IE 6 可以共存”。

故障 3. FlashGet、迅雷等网络下载工具可以通过右键菜单直接右键单击下载链接进行下载,但是在某些计算机中这些下载软件的右键菜单突然失效,即使重新安装相应的下载软件多次也无法解决。

故障 4. 某些网站应用了 ASP.NET 应用程序、通过 Session 保存用户的登录状态及相关信息(注意这里不是简单的通过 Cookies 保存用户登录信息)。按照常规的设计,用户在登录后只要关闭了浏览器窗口一段时间,之前登录的信息就将过期,用户重新访问这个页面时必须重新进行登录。但在出现故障的计算机中,即使用户已经关闭了浏览器很长时间,再次打开指定的页面时发现登录信息依然被保留。

以上四种故障都是因为设置了 BrowseNewProcess 引起的。我们可以打开注册表编辑器,定位到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\BrowseNewProcess 以及 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\BrowseNewProcess(前者对所有用户帐户生效、后者只对当前用户帐户生效),修改字符串值 BrowseNewProcess,将其值设置为 yes 表示为 IE 浏览器使用单独的进程;将其设置为 no 则表示将 Explorer.EXE 与 IEXPLORE.EXE 进程合并。

之前所述的四个故障都是因为 BrowseNewProcess 被设置为 no 所致。
 
由于 Explorer.EXE 与 IEXPLORE.EXE 进程合并,所以无论我们启动多少个 IE 窗口或标签,都只会叠加在 Explorer.EXE 进程上面、不会出现 IEXPLORE.EXE 进程,因此出现故障 1;
 
Explorer.EXE 做为 Windows 系统外壳,它与 Windows XP 自带的 IE 6 是紧密相连在一起的,故障 2 中点击链接后出现的空白的 IE 6 窗口,实际上那也不是真正的 IE 6 窗口,而是一个 Explorer.EXE 资源管理器窗口,因此出现故障 2;
 
FlashGet、迅雷等网络下载工具由于只能识别 IE 浏览器的进程 IEXPLORE.EXE,不能识别 Explorer.EXE,所以当出现故障 1 时,这些下载工具的右键菜单自然无法生效,因此出现故障 3;
 
至于故障 4,由于我们关闭浏览器后 Explorer.EXE 依然还在运行(因为 Explorer.EXE 同时也是 Windows Shell 进程),所以浏览器的进程等于还没有关闭,因此出现下一次访问页面时依然保存用户登录信息的故障 4。

所以我们只要将 BrowseNewProcess 修改为 yes,令 Explorer.EXE 与 IEXPLORE.EXE 进程分离,上述的故障就都可以迎刃而解了。

压缩与反压缩之 COMPRESS 与 EXPAND

(注:本文被 Microsoft TechNet 中文速递邮件 2008 年 10 月收录为 MVP 推荐 Blog) 
 
笔者前几天被一个看似简单的问题给问住了:我们知道,扩展名最后一位是下划线 _ 的文件是一种经过压缩的文件,必须通过 EXPAND 或 EXTRACT 命令将其还原。例如执行:EXPAND \i386\SHELL32.DL_ SHELL32.DLL 可以从 Windows 安装程序中将 SHELL32.DL_ 还原为 SHELL32.DLL。那么 EXPAND 命令的相反命令是什么呢?即如何将一个正常的文件压缩为扩展名的最后一位是下划线的这种格式呢?
 
这个问题最早是新闻组中的一位仁兄问起如何更换 Windows XP 的默认墙纸。众所周知,刚安装好的 Windows XP 默认使用的是那副曾经被人传说包含有“WHG KILL ME”惊天大秘密的蓝天白云墙纸 BLISS.JPG,BLISS.JPG 的源文件就是位于 i386 中的 BLISS.JP_。如果我们希望刚安装好的 Windows XP 使用另一副默认墙纸,应该如何将这张墙纸压缩为 BLISS.JP_ 并替换 i386 中的源文件呢?
 
除了这个问题,笔者前不久又看到了一家 OEM 厂商制作的 OEM 版 Windows 安装启动镜像,由于镜像中的安装源文件夹名称没有采用默认的文件夹名,必须要修改 TXTSETUP.SIF 中的字符串 SetupSourcePath 以重新指定安装源文件夹名,否则安装镜像将无法正常引导。笔者起初也不太清楚 OEM 厂商是如何将修改好的 TXTSETUP.SIF 重新压缩为 TXTSETUP.SI_ 并复制到 i386 文件夹中的。
 
经在线合作伙伴工程师马宁指点,EXPAND 的相反命令原来是 COMPRESS,这个命令包含在 Windows 2000/Server 2003 的 Resource Kit 中,需要从 Resource Kit 单独获取。COMPRESS 命令的用法与 EXPAND 基本相似,基本格式为:
 
COMPRESS 源文件名 目标文件名(例如 COMPRESS C:\Windows\system32\SHELL32.DLL D:\i386\SHELL32.DL_)
 
或者:
 
COMPRESS -R 源文件名
 
-R 是 COMPRESS 的基本参数,意为将源文件压缩并重命名为扩展名最后一位下划线的这种格式,使用它就可以不用再指定目标文件名了。
 
此外,COMPRESS 命令还有几个常用的参数:
 
-D:用于目标发生改变的文件;
-ZX:使用 Lempel-Ziv(LZX)压缩方式,可以将压缩包最多减小至 18% 的体积并将自解压速度提升至将近 50%;
-Z:使用 MS-ZIP 压缩方式,实际就是 .CAB 采用的压缩格式;
-ZQ [ N ]:N 是取值从 1 至 7 的数字,表示压缩比,例如 -ZQ5,其中 1 表示速度最快、7 表示压缩比最大,如果不指定这个参数,将使用默认的 LEVEL 4 中等级别。
 
为了证实上述问题,笔者对照那张 OEM 厂商制作的 OEM 启动镜像自制了一个 Windows XP SP3 的启动安装镜像,同样不采用默认源文件夹名称,而是将 TXTSETUP.SIF 中的 SetupSourcePath 修改后,使用 COMPRESS 将其压缩为 TXTSETUP.SI_ 并替换 i386 中的源文件;接着,笔者又将 Windows Vista 的 AURORA.JPG 极光墙纸重命名为 BLISS.JPG、使用 COMPRESS 压缩为 BLISS.JP_ 并替换 i386 中的源文件;最后,笔者还将 Windows XP SP3 的并发连接破解补丁与视觉样式破解补丁文件 TCPIP.SYS 与 UXTHEME.DLL 也使用 COMPRESS 压缩并替换 i386 中的源文件(关于并发连接破解补丁与视觉样式破解补丁可以参考笔者较早前的一篇博客《Windows XP SP3 版并发连接破解补丁与视觉样式破解补丁》)。
 
接下来笔者启动虚拟机,使用这份经过三处改动的启动安装镜像安装 Windows XP,整个安装过程没有任何错误,证明 Windows 安装程序可以正确识别并解压缩笔者用 COMPRESS 压缩的三个文件,预期的三个目的也全部实现了:1.根据 TXTSETUP.SIF 提供的信息在自定义的文件夹中找到安装程序源文件;2.安装好的 Windows XP 默认墙纸变成了 Windows Vista 的 Aurora 极光墙纸,尽管文件名依然还是 BLISS.JPG;3.安装好的 Windows XP 使用了经过破解的 TCPIP.SYS 与 UXTHEME.DLL,可以直接突破并发连接限制并使用第三方的视觉样式了。
 
总之,COMPRESS 与 EXPAND 就是一对压缩与解压缩孪生兄弟,一个可以方便修改 Windows 安装程序源、一个可以方便从 Windows 安装程序源提取文件。在没有安装其它第三方压缩软件的时候,COMPRESS 与 EXPAND 也可以实现一些简单的压缩与解压缩工作。

关于 Windows XP SP3 可能无法卸载 IE 8 Beta 2 的进一步总结

过去的一周大家谈论的焦点之一就是新发布的 IE 8 Beta 2 浏览器。关于 IE 8 Beta 2,cnBeta、驱动之家等很多网站都转载了来自 MSDN IE Blog 八月的一则声明《Windows XP SP3 用户可能无法卸载 IE 8 Beta 2》。

由于 MSDN IE Blog 之前在五月份已经就这个问题发表过一则声明《
Internet Explorer and Windows XP SP3》,所以这一次没有对这个问题产生的原因进行详细解释,而网上转载的文章大多也只是简单地文字翻译,没有对原因进行进一步阐述,因此很多用户纷纷提出了各种疑问:“为什么我的 Windows XP SP3 就可以卸载 IE 8 Beta 2” 等等。

要想彻底弄清楚这个问题,我们首先需要明确两个概念:

1. IE 做为 Windows 捆绑的浏览器,它分为系统内置的版本与独立安装的版本。例如对 Windows Vista/Server 2008 而言,IE 7 是内置的版本、IE 8 是独立的版本;对 Windows XP/Server 2003 而言,IE 6 是内置的版本、IE 7 与 IE 8 均是独立的版本。

2. 所有内置版本的 IE 都会随着 Windows Service Pack 版本的变化而变化,而独立版本的 IE 则不受 Service Pack 版本的影响。例如,IE 6 for Windows XP 做为内置版本的 IE,它会根据 Windows XP Service Pack 的版本变化细分为 IE 6 SP1、IE 6 SP2、IE 6 SP3 等诸多版本,而做为独立版本的 IE 7/8 for Windows XP,其版本则不会随着 Windows XP Service Pack 的变化而变化。

明确了这两个概念之后,下面我们再来看 MSDN IE Blog 五月份的说明:假如用户先安装了 IE 7/8、后安装了 SP3,那么你将无法卸载 IE 7/8 恢复 IE 6。这是由于 IE 7/8 在安装时会自动备份 IE 6 的文件以备日后恢复。在你安装 SP3 之前,安装程序备份的是 IE 6 SP2 的文件。那么,当你安装 SP3 之后,如果你再试图卸载 IE 7/8,理论上 Windows 会将之前备份的 IE 6 SP2 的文件恢复到系统中。但由于现在 Windows XP 已经变成了 SP3,不可以将 IE 6 SP2 恢复到 Windows XP SP3 系统中,因此 Windows 将自动阻止这一做法,控制面板-添加删除程序中的卸载 IE 7/8 选项将会失效。
 
(笔者注:在上述卸载选项失效的例子中,虽然我们无法通过控制面板-添加删除程序卸载 IE 7/8,但经过笔者测试,如果手动执行 Windows\ie7(ie8)\SPUNINST\SPUNINST.EXE 还是可以启动卸载程序的。虽然卸载程序会提示可能会对后安装的 SP3 产生影响,但依然可以完成卸载操作。笔者用这种方法在 Windows XP SP3 系统中还原了 IE 6 SP2,而且可以运行,但执行 SFC 时会提示 IE 的有关文件版本有问题。这个特殊现象应该解释为 IE 卸载程序的 BUG。)

反过来说,假如我们是先安装 SP3、后安装 IE 7/8 的,那么 IE 7/8 在安装时自动备份的将是 IE 6 SP3 的文件,日后卸载 IE 7/8 时,将 IE 6 SP3 恢复到 Windows XP SP3 系统中自然不会有何问题。因此,如果我们是先安装 SP3、后安装 IE 7/8 的,控制面板-添加删除程序中的卸载 IE 7/8 选项将不会失效。

在了解了 MSDN IE Blog 五月的声明后,我们再来看一下八月的这份针对 IE 8 Beta 2 的最新声明。假如我们之前按照先 IE 8 Beta 1 后 SP3 的顺序安装,那么 IE 8 Beta 1 卸载选项将失效,原因如前面所述。此时如果我们继续安装 IE 8 Beta 2,IE 8 Beta 2 也将“继承”IE 8 Beta 1 卸载选项失效的特性而无法卸载、同时会导致 SP3 也将无法卸载。
 
反过来说如果我们是先安装 SP3 后安装 IE 8 Beta 1 的话就不会遇到卸载选项失效的问题。因此,MSDN IE Blog 在八月的声明中建议那些先安装 IE 8 Beta 1 后安装 SP3 的用户,为了避免问题建议首先卸载 SP3、再卸载 IE 8 Beta 1,然后按照先 SP3 后 IE 8 Beta 2 的顺序重新安装。
 
以上所述都是从 IE 6 直接升级为 IE 8 产生的情况。但笔者之前在四月十日写过一篇博客《IE 8、IE 7 for Windows XP/Server 2003 的连环卸载》一文中曾经提到,由于 IE 7、IE 8 针对 Windows XP/Server 2003 而言都是独立版本的 IE,所以它们可以进行连环卸载,即首先从 IE 6 升级为 IE 7、然后再升级为 IE 8,然后执行二次连环卸载。那么,因为 Service Pack 的版本差异引起 IE 卸载选项失效的情况会不会影响到连环卸载呢?
 
笔者专门对这个问题进行了一次测试:在 Windows XP SP2 系统中首先安装 IE 7、然后安装 SP3,由前面的叙述可知,以这样的顺序安装 IE 7 的卸载选项将失效。但是,当笔者在 IE 7 的基础上继续安装 IE 8 时,IE 8 并不会“继承”IE 7 卸载选项失效的特性,我们可以随时卸载 IE 8 恢复 IE 7。这是由于 IE 7、IE 8 均是独立安装的 IE 版本,所以从 IE 7 升级 IE 8 时不会受到 Service Pack 影响。
 
看到这里大家可能会觉得非常混乱,笔者也觉得很混乱、一想这个问题很容易把头想大。为了简单起见,笔者总结一下从 IE 8 Beta 1 升级至 IE 8 Beta 2 的四种可能情况。假如你的系统是 Windows XP SP3 并且已安装了 IE 8 Beta 1、现在打算升级至 IE 8 Beta 2,可以按照这四种情况进行参考:
 
1.我没有安装过 IE 7、IE 8 Beta 1 是从 IE 6 升级而来、并且 SP3 的安装早于 IE 8 Beta 1: 
 
这种情况不会遇到任何问题,可以直接安装 IE 8 Beta 2。
 
2.我没有安装过 IE 7、IE 8 Beta 1 是从 IE 6 升级而来、但是 SP3 的安装晚于 IE 8 Beta 1: 
 
这种情况 IE 8 Beta 1 的卸载将失效,如果继续安装 IE 8 Beta 2,IE 8 Beta 2 卸载也将失效,而且会导致 SP3 也无法卸载。按照 MSDN IE Blog 八月份的建议,这种情况应该先卸载 SP3、再卸载 IE 8 Beta 1,然后按照先 SP3 后 IE 8 Beta 2 的顺序重新安装。
 
3.我安装过 IE 7、并且 SP3 的安装早于 IE 7、IE 8 Beta 1 是从 IE 7 升级而来:
 
这种情况也不会遇到问题,可以直接安装 IE 8 Beta 2,而且可以按照笔者的博客《IE 8、IE 7 for Windows XP/Server 2003 的连环卸载》一文所述对 IE 8 Beta 2、IE 7 进行连环卸载。
 
4.我安装过 IE 7、但是 SP3 的安装晚于 IE 7、IE 8 Beta 1 是从 IE 7 升级而来:
 
这种情况 IE 7 的卸载将失效,但 IE 8 的卸载不受影响。如果继续安装 IE 8 Beta 2,日后可以卸载 IE 8 Beta 2 恢复 IE 7,但不能继续卸载 IE 7 恢复 IE 6。如果想恢复 IE 6,应该首先卸载 IE 8 Beta 1 恢复 IE 7,然后先卸载 SP3、再卸载 IE 7,最后再按照先 SP3 后 IE 7、再 IE 8 Beta 2 的顺序重新安装。
 
HOHO,写到这里笔者的头已经很大了,上述总结可能有不正确的地方(笔者已经针对几种情况分别进行过测试,如果还有错误的话就是笔者自己绕糊涂了,呵呵)。

Windows XP 的 MSCONFIG.EXE 引起 BOOT.INI 中文字符丢失的 BUG

前几天新闻组中有位仁兄发现了中文版 Windows XP 内置的 MSCONFIG.EXE 系统配置实用程序一个奇怪的问题。这位老兄的 BOOT.INI 配置文件的内容为:

[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
Professional" /fastdetect /usepmtimer /NoExecute=OptOut
C:\BOOT\BOOTDISK.bin="由虚拟启动软盘启动"

在 Windows XP 中运行 MSCONFIG.EXE,切换至 BOOT.INI 选项卡,未做任何修改点击“确定”退出,再打开 BOOT.INI 发现已变为:

[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
Professional" /fastdetect /usepmtimer /NoExecute=OptOut
C:\BOOT\BOOTDISK.bin="由虚拟启动

BOOT.INI 丢失了若干中文字符。
 
笔者对此问题进行了多次测试,随便更换了其它一些中文字符,均发现有丢失字符的现象。而且,即使 BOOT.INI 设置了“只读”属性也不例外。

由于通过记事本手动编辑 BOOT.INI 不会遇到此问题,所以可以判定这是 MSCONFIG.EXE 的 BUG。

在微软官方发布解决方案之前,做为替代解决方法,我们可以通过如下方式避免遇到此问题:

1.在 BOOT.INI 中不使用中文字符。

经笔者观察,如果 BOOT.INI 不使用中文字符则不会遇到此问题,可以放心使用 MSCONFIG.EXE。

2.通过其它方式编辑 BOOT.INI。

如果觉得通过记事本手动编辑 BOOT.INI 容易出错误,我们可以使用其它软件代替 MSCONFIG.EXE 编辑 BOOT.INI:

(1).在控制面板中打开“系统”属性,切换至“高级”选项卡,点击“启动和故障恢复”。但这里的功能略显简单,只能选择默认操作系统选项及设置启动菜单等待时间,不能直接修改启动选项名称(只提供间接调用记事本打开 BOOT.INI 的“编辑”按钮)。

(2).使用 BOOTCFG 命令。BOOTCFG 是一个基于命令行的 BOOT.INI 编辑工具,它拥有两种启动方式,一是在 CMD 命令提示符中启动、二是在 Windows 故障恢复控制台中启动。需要注意的是两种版本的 BOOTCFG 可以使用的参数并不完全相同。CMD 中的 BOOTCFG 我们可以在 CMD 中执行 BOOTCFG /? 查看其参数说明;故障恢复控制台中的 BOOTCFG 我们可以参考微软知识库文章 KB291980:
http://support.microsoft.com/kb/291980/

(3).使用超级兔子、优化大师等第三方软件,编辑 BOOT.INI 都是这些优化软件的必备功能之一。

3.将 Windows Server 2003 的 MSCONFIG.EXE 复制到 Windows XP 使用。

经笔者观察,Windows Server 2003 自带的 MSCONFIG.EXE 并没有 Windows XP 的丢失中文字符的问题,这是一个 Windows XP 专有的 BUG。因此,我们可以将 Windows Server 2003 内置的 MSCONFIG.EXE 复制到 Windows XP 中使用。

需要注意的是,Windows XP SP3 及 Windows Server 2003 SP2 提供的最新版的 MSCONFIG.EXE 均提供了一个额外的“工具”选项卡,如附件的截图所示,里面可以调用很多常用的系统工具,旧版的 MSCONFIG.EXE 没有“工具”选项卡,因此我们复制 Windows Server 2003 的 MSCONFIG.EXE 时最好选择 Windows Server 2003 SP2 的版本。

多核心 CPU 计算机运行仅支持单核 CPU 旧版程序的四种方法

(注:本文已发表于《电脑爱好者》杂志 2008 年 17 期) 
 
前几天在新闻组中看到有位仁兄问起多核心 CPU 计算机中无法顺利运行旧版游戏《极品飞车 3》的问题。尽管双核 CPU 如今已经非常普及了,就连三核、四核 CPU 也已开始走入我们的生活。然而如今在 Windows 系统平台依然有很多旧版应用程序、特别是旧版游戏不支持多核心 CPU。有的程序虽然可以运行,但只能有效利用多核心 CPU 的其中一个核心;还有的程序在多核心方式下更是连运行都不能运行,只能以单核方式运行。《极品飞车 3》在多核心 CPU 计算机中运行时就经常死机或出错退出。

对于这种不支持多核心 CPU 的旧版程序,一般有四种方法使其顺利运行:

1.如果应用程序在多核心方式下可以运行起来,我们可以打开任务管理器,在“进程”选项卡中右键单击应用程序的进程,在右键菜单中选择“关系设置”,打开“处理器关系”对话框,将不需要的 CPU 核心复选框取消、只保留一个 CPU 0 核心,即可令这个进程以一个核心的方式运行。

2.如果觉得每次启动旧版程序时都需要修改任务管理器有些麻烦,我们可以为 Windows XP 添加启动参数,令 Windows XP 以一个 CPU 核心方式启动。执行 MSCONFIG.EXE 启动系统配置实用程序,换至“BOOT.INI”选项卡,点击“高级选项”,选择“/NUMPROC”复选框,将其值设置为 1,如附件的截图所示。这样即可在 Windows XP 的 BOOT.INI 启动配置文件加上 /NUMPROC 开关,强制 Windows XP 只使用一个 CPU 核心。不过,这样会影响到 Windows XP 及所有应用软件。

如果是 Windows Vista 系统,在 MSCONFIG.EXE 系统配置实用程序中切换至“启动”选项卡点击“高级选项”,选择“处理器数”复选框,将其值设置为 1。

3.某些较新的主板 BIOS 提供了在 BIOS 设置中屏蔽 CPU 核心的选项。我们可以参考主板说明书,在主板 BIOS 设置中打开 Performance 选项,查找形如 Disable Multi-CPU Core 的选项,也可以将 CPU 核心屏蔽,以单核方式运行。

需要注意的是,如果通过 BIOS 设置屏蔽 CPU 核心,重新启动后 Windows 可能会认为 CPU 发生变化,可能会提示我们重新激活 Windows 或重新配置驱动程序信息库。因此如果要采用这种方法,建议首先通过控制面板-系统-硬件,备份一下以多核心方式运行的硬件配置文件,日后需要重新开启多核心时可以直接恢复之前备份的硬件配置文件。

4.我们还可以通过 Microsoft Virtual PC 虚拟机运行不支持多核心的旧版操作系统及应用程序。由于 Virtual PC 虚拟机本身只能利用一颗 CPU 核心,因此虚拟机中的操作系统及应用程序均以单核方式运行,通过 Virtual PC 虚拟机运行不支持多核心的旧版应用程序自然不会有任何问题。

Pocket PC 视觉样式自定义工具 Theme Generator v2

Windows Mobile Professional for Pocket PC 视觉样式文件扩展名为 .TSK,定义了 Pocket PC 视觉样式主题的“今日”屏幕背景、“开始”菜单背景、导航工具栏颜色、通知工具栏颜色、信息对话框颜色等等。通过 Pocket PC 的“开始”菜单-设置-今日,直接加载已有的 .TSK 文件,我们即可直接应用 Pocket PC 视觉样式主题,省却了逐一修改的步骤。
 
很多 Pocket PC 手机发烧友应该知道微软官方发布的 Theme Generator v2 视觉样式自定义工具,它可以制作或修改 .TSK 视觉样式文件。我们可以在微软网站免费下载:
 
 
在 Windows 中的安装也非常简单。
 
启动 Theme Generator v2 后我们可以选择制作新的视觉样式、修改已有的视觉样式或在 PocketPC.com 搜索视觉样式。通过 Theme Generator v2 提供的向导我们可以逐一设置“今日”屏幕背景、“开始”菜单背景、所有界面元素的颜色,最后选择保存 .TSK 文件并复制到 Pocket PC 手机即可,整个过程非常简单。另外在向导的每一个步骤,我们都可以通过 Theme Generator v2 提供的预览窗口对修改的效果进行预览,如附件截图所示。
 
虽然 Theme Generator v2 的版本有些旧了,预览窗口采用的还是 Windows Mobile 2002 的样式,但是 Theme Generator v2 制作的 .TSK 文件对 Windows Mobile 6 依然有效。例如,Windows Mobile 6 的导航栏采用了一种两边颜色深、中间颜色亮,同时纵向还有颜色渐变的双重渐变效果,不再是 Windows Mobile 2002 那种从左(颜色 1)向右(颜色 2)的单一颜色渐变。因此我们在 Theme Generator v2 中修改导航栏(Navigation Bar)时便无需修改“颜色 2”了,只需设置好“颜色 1”,Windows Mobile 6 就可以根据“颜色 1”的主颜色自行计算出横纵双重颜色渐变的效果。笔者在自己的 HTC Touch Diamond(多普达 S900 钻石)、Windows Mobile 6.1 系统中测试通过,Theme Generator v2 制作的 .TSK 视觉样式依然有效。这或许也是 Theme Generator v2 一直没有升级版本的原因吧。
 
除了 Pocket PC 外,Theme Generator 也有适用于 SmartPhone 的版本:
 
发表于 作者 alx-zj | 0 评论
Attachment(s): Theme Generator v2 截图.JPG

Windows Vista 文件与注册表虚拟化技术的常见问题

(注:本文被 Microsoft TechNet 中文速递邮件 2008 年 07 月收录为 MVP 推荐 Blog  http://go.microsoft.com/?linkid=9285234) 
 
前几天在新闻组中看到有人问起 Windows Vista 的文件与注册表虚拟化技术,即为什么很多应该出现在 %ProgramFiles% 文件夹的程序会出现在 %LocalAppData%\VirtualStore 文件夹、为什么很多应用程序的注册表项会被映射到 HKEY_CURRENT_USER\SOFTWARE\Classes\VirtualStore。这些都是受到了 Windows Vista 的文件与注册表虚拟化技术的影响。
 
Windows Vista 的文件与注册表虚拟化技术可以使某些在旧版 Windows 中必须要求管理员权限的应用程序以非管理员的权限运行,有助于提升系统安全性。Windows Vista 会为每个用户帐户分别建立一套应用程序所需的文件与注册表副本。例如,假设某应用程序需要以管理员权限添加 %Program Files%\程序名称\设置.INI,在使用非管理员权限时,此文件就会自动重定向至 Users\%用户帐户名%\AppData\Local\VirtualStore\Program Files\程序名称\设置.INI;注册表也是一样,假设应用程序需要以管理员权限修改 HKEY_LOCAL_MACHINE\SOFTWARE\程序名\,在使用非管理员权限时,此注册表项就会自动重定向至 HKEY_CURRENT_USER\SOFTWARE\Classes\VirtualStore\MACHINE\Software\程序名\ 注册表项。本文附件的附图形象地说明了这一重定向(Redirect)的过程。
 
然而由于并非所有的应用程序都可以完美地支持 Windows Vista 的文件与注册表虚拟化技术,所以在实际应用中可能会遇到各种各样的疑难,常见的问题主要有:
 
1.某些应用程序可以以文件与注册表虚拟化方式运行,但需要重新定位通过此应用程序生成的文件。
 
假设某图像编辑程序可以以文件与注册表虚拟化方式运行,当我们在这个程序中将新图像文件保存至 %ProgramFiles%、%SystemRoot% 等位置后,通过资源管理器却无法在这些位置找到刚生成的文件。这时便可以到 Users\%用户帐户名%\AppData\Local\VirtualStore 文件夹搜索刚生成的文件。
 
2.某些应用程序可以以文件与注册表虚拟化方式运行,但其升级或卸载程序却不支持文件与注册表虚拟化。
 
这个问题常见于某些需要经常升级版本的旧版安全防护软件,这些安全软件能够以文件与注册表虚拟化方式运行,但在执行软件升级时却无法将更新的文件保存至 %LocalAppData%\VirtualStore 文件夹、也无法将更新的注册表项添加至 HKEY_CURRENT_USER\SOFTWARE\Classes\VirtualStore。这时,就可能会引起升级失败,或者虽然提示升级成功、但软件版本并没有提升的问题。解决这一问题的方法是以管理员的身份将更新的新文件及新注册表项手动添加至 %LocalAppData%\VirtualStore 文件夹及 HKEY_CURRENT_USER\SOFTWARE\Classes\VirtualStore 注册表项。
 
卸载的问题也是一样,某些应用程序虽然可以以文件与注册表虚拟化方式运行,但卸载时却无法自行删除 %LocalAppData%\VirtualStore 文件夹中的有关数据及 HKEY_CURRENT_USER\SOFTWARE\Classes\VirtualStore 中的有关注册表项,这时便需要以管理员的身份手动执行清理。
 
3.某些应用程序必须安装在 %ProgramFiles% 中才可以支持文件与注册表虚拟化技术。
 
如果某应用程序安装在非 %ProgramFiles% 文件夹外的其它文件夹时无法应用虚拟化技术、在安装或使用过程中经常出错,请将其重新安装至 %ProgramFiles% 文件夹。部分应用程序只有安装在 %ProgramFiles% 文件夹时才能被 Windows Vista 文件与注册表虚拟化技术支持。
 
4.某些应用程序完全无法以文件与注册表虚拟化技术正常运行。
 
如果我们在安装、升级或使用应用程序时遇到 FileCreateVirtualExclude 事件,即在事件查看器展开“应用程序和服务日志”-“Microsoft”-“Windows”-“UACFileVirtualization”-“Operational”发现事件 ID 为 5000 的 FileCreateVirtualExclude 事件,则表示这个应用程序可能部分或者完全不支持文件与注册表虚拟化技术,必须以管理员权限才能在 Windows Vista 中运行。具体的表现有:无法建立或者找到程序所需的文件夹或文件、写入/复制/加密/压缩某文件夹或文件时出错、应用程序因为无法访问所需的数据而经常提示未知错误,等等。
 
对于这样的不支持文件与注册表虚拟化技术的程序,我们就没有什么办法了,只能右键单击程序快捷方式,选择“以管理员身份运行”;或者以管理员权限启动 CMD 命令提示符、然后通过命令提示符运行此程序。

分享:DIY 彩喷 SteelSeries 版 IntelliMouse Optical 红光鲨

著名游戏外设厂商 SteelSeries(赛锐、以下简称为 SS)曾联合微软推出过两款纪念版微软鼠标:一个是蓝黑色小包装盒、黑色喷涂的 IntelliMouse Optical 红光鲨,如附件图 1 所示;另一个是普通包装盒加 SS 标签、黑色喷涂的 IntelliMouse Explorer 3 复刻版,如附件图 2 所示。两款纪念版鼠标尾部都有 Microsoft SteelSeries,Professional Gaming Gear 的 LOGO。由于货源稀少,两款纪念版鼠标现在市场上都是天价了。
 
笔者上周在北京中关村闲逛时在鼎好 C2809 发现一批 DIY 的彩喷版 SS 红光鲨,有酒红色、橙色、黄色、墨绿色、深褐色等几种颜色,报价 385。虽然是自己 DIY 喷涂的,但是鼠标的实际喷涂效果非常不错、足以乱真,尾部也有 Microsoft SteelSeries,Professional Gaming Gear 的 LOGO,多种不同的颜色也弥补了官方颜色稀少的不足。再加上这几个 DIY 彩喷的红光鲨都是 2002 年生产的老一批红光鲨,综合来看收藏价值比较高。笔者以 300 元价格把酒红色的买走了,上几张照片与大家分享一下,见附件图 3、4、5(鼠标本身是工包,图 3 包装盒是笔者自己装的)。
 
其它几种颜色的鼠标应该还在,推荐感兴趣的游戏外设发烧友去那儿看看。
 
另外笔者还在鼎好二期 B1916 发现 FRONTIER OEM 版的红光鲨,见附件图 6。这个不是 DIY 的,是微软官方为 FRONTIER 制作的 OEM 版,可惜只有蓝、白两种颜色,鼠标尾部有 FRONTIER by Microsoft 的 LOGO。FRONTIER 红光鲨同样也是工包,报价 199,也具有一定的收藏价值。
发表于 作者 alx-zj | 2 评论
Attachment(s): SteelSeries 红光鲨.JPG

Windows XP Service Pack 3 升级故障汇总

(注:本文被 Microsoft TechNet 中文速递邮件 2008 年 07 月收录为 MVP 推荐 Blog  http://go.microsoft.com/?linkid=9285237、并已部分发表于《电脑爱好者》杂志 2008 年第 11 期) 
 
Windows XP Service Pack 3(以下简称为 SP3)将于北京时间明天(7 月 11 日)凌晨两点开始提供自动更新。在 SP3 发布将近三个月之后,尚未手动升级至 SP3 的 Windows XP 用户将自动升级。如果因为某些特殊原因不愿升级至 SP3,可以通过关闭自动更新或安装 Windows Service Pack Blocker Toolkit 的方法阻止自动升级。
 
笔者借此机会总结几个较常见的 Windows XP SP3 升级故障解决方案。这些故障具有一定代表性,其中很多在微软新闻组及微软中文技术论坛中被问起。
 
1.之前已经安装过测试版的 SP3,在试图安装正式版 SP3 时提示已安装,需要卸载已安装的测试版再安装正式版。
 
解决此问题的方法一是卸载已安装的测试版 SP3,重新启动计算机继续安装正式版 SP3。二是如果之前已经删除了 Windows\$NTServicePackUninstall$、无法卸载测试版 SP3 的话,可以打开注册表编辑器定位到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows,将 DWORD 值 CSDVersion 由十六进制的 300(十进制 768)修改为十六进制的 100 或 200,重新启动计算机之后 Windows 将显示版本号为 SP1 或 SP2,此时再重新安装正式版 SP3 即可。
 
2.在 SP3 安装程序检查可用的驱动器空间时遇到“安装程序需要 4MB 以上空间执行安装”故障,安装被中止。
 
打开注册表编辑器定位到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup,重新建立字符串值 BootDir、并将其值设置为 C:\
 
3.在安装 SP3 过程中遇到“Access is denied(拒绝访问)”故障,安装被中止。
 
在安装过程中遇到“拒绝访问”而中止基本是由于当前用户的操作权限不足引起系统文件或注册表无法更新。常见的解决方案有:
 
(1).确认当前用户帐户是否具有管理员的权限;
 
(2).暂时关闭所有运行中的安全防护类软件监控程序及其服务、阻止所有可能会影响到系统文件或注册表更新的后台程序,或者干脆直接以安全模式启动 Windows、在安全模式中执行安装;
 
(3).重置注册表与 NTFS 文件权限、阻止所有可能会影响系统文件或注册表更新的权限限制,具体做法为:
 
 
在记事本中输入如下内容:
 
cd /d "%ProgramFiles%\Windows Resource Kits\Tools"
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f
subinacl /subdirectories %SystemDrive% /grant=administrators=f /grant=system=f
subinacl /subdirectories %windir%\*.* /grant=administrators=f /grant=system=f
secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose
 
保存为 .CMD 文件后运行,然后重新启动 Windows XP。
 
4.安装好 SP3 后无法启动 Windows,始终遇到 0x0000007E 蓝屏错误、故障文件:INTELPPM.SYS(此问题 7 月 2 日在微软新闻组被问起)。
 
这个故障主要发生于采用了 AMD CPU、并错误地配置了 Intel CPU 驱动 INTELPPM.SYS 的计算机,例如惠普某品牌机就有此问题。可以通过 F8 启动菜单以安全模式启动 Windows,在命令提示符中执行:

SC CONFIG INTELPMM START = DISABLED
 
或者打开注册表编辑器定位到 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\intelppm,将 DWORD 值 START 修改为 4。然后重新启动 Windows XP。
 
5.安装好 SP3 后无法启动 Outlook Express,遇到“MSOE.DLL 无法初始化、请重新安装 Outlook Express,Error Code:0x8007007E,126”错误(此问题 6 月 25 日在微软新闻组被问起)。
 
打开注册表编辑器定位到 HKEY_CLASSES_ROOT\CLSID\{4A16043F-676D-11d2-994E-00C04FA309D4}\InprocServer32,将 InprocServer32 的“默认值”重新设置为 %ProgramFiles%\Common Files\system\DIRECTDB.DLL,然后通过 REGSVR32 命令重新注册一下 %ProgramFiles%\Outlook Express\MSOE.DLL 即可。
 
6.安装好 SP3 后桌面的 Internet Explorer 图标丢失,无法再通过控制面板-显示-桌面-自定义桌面找回(Internet Explorer 复选框)已经消失。
 
这个问题笔者之前在博客《Windows XP SP3 的“Internet Explorer”桌面图标丢失的替代解决方法》中曾经提过,但当时给出的解决方案并不完美,其实这个问题有个更方便的解决方案。在打开“自定义桌面”设置后,虽然“Internet Explorer”复选框已消失,但是此复选框对应的快捷键其实依然有效。我们只要按一下 Alt+I,然后确定退出即可。虽然从表面上什么也看不出来,但选项实际已经生效,Internet Explorer 图标将会重新出现在桌面上。

Windows XP SP3 依然需要将 Flash Player ActiveX 升级为 9.0.124 以上版本

(注:本文被 Microsoft TechNet 中文速递邮件 2008 年 06 月收录为 MVP 推荐 Blog  http://go.microsoft.com/?linkid=9071407,并已部分发表于《电脑爱好者》杂志 2008 年第 15 期)
 
最近网上在热炒一条新闻:互联网风暴中心(ISC)指出,Windows XP SP3 内置的 Flash Player ActiveX 没有包含 2006 年 11 月后发布的五个 Flash 漏洞修正补丁,这些漏洞将影响 Flash Player ActiveX 9.0.115 及之前的版本。
 
微软原本拒绝对此事发表评论,但最近微软在一份声明中指出:不安装 Adobe Flash 相应更新的 Windows XP SP3 系统易受到五个 Flash 漏洞引起的攻击,Windows XP 没有在 SP3 中绑定任何版本的 Flash 更新。如果我们现有的 Windows XP 系统已经安装了 Flash Player ActiveX 的某个版本,升级至 SP3 将不会对现有的 Flash Player ActiveX 进行任何更新;如果我们是通过 Windows XP with SP3 安装程序全新安装的 Windows XP SP3 系统,那么 Windows XP 将只包含原始的 Flash Player ActiveX 6.0.79 版。
 
换句话说,对于所有的 Windows XP 用户(无论是否已升级至 SP3)而言,我们都需要手动升级 Flash Player ActiveX 至 9.0.124 以上的版本,方可避免受到那五个 Flash 漏洞的影响。我们可以打开 Adobe 官网的页面在线检测当前已安装的 Flash Player ActiveX 是什么版本:
 
 
如果显示为 You have version 9.0.115(或更低)installed,我们便需要手动升级至 9.0.124。大家可以下载本文结尾处的附件 Flash Player ActiveX 9.0.124 安装程序进行升级。
 
说来凑巧,笔者最近正使用 Windows XP SP3+IE 8 Beta 1 在优酷网看韩剧,这个视频就是 Flash 的 FLV 格式,需要在 IE 中调用 Flash Player ActiveX 播放:
 
 
笔者每次看的时候都会发现有一个不明进程 ORZ.EXE 在运行,通过 Process Explorer 查看 ORZ.EXE 位于 %Temp% 临时文件夹。原来 ORZ.EXE 正是一个利用 Flash 漏洞传播的木马下载器 Trojan-Downloader.Win32.Losabel.nx,而笔者的 Flash Player ActiveX 正是 9.0.115 版。在将 Flash Player ActiveX 升级至 9.0.124 之后,暂时还没有发现问题。
 
ORZ.EXE 木马下载器的手动清理方法为:
 
1.通过任务管理器关闭 ORZ.EXE 进程;
 
2.手动删除 %Temp% 临时文件夹及 Windows\system32 中的 ORZ.EXE(如果有的话);
 
3.手动删除 Windows\nt_file_temp 文件夹及全部内容(这个文件夹保存木马下载列表);
 
4.清理 Temporary Internet Files 临时文件夹;
 
5.升级 Flash Player ActiveX 至 9.0.124;
 
6.最后就是调用安全软件对硬盘进行全面查杀,ORZ.EXE 是个木马下载器,天晓得它下载了多少木马、都保存在什么地方。

从 OE 升级到 Windows Mail 的两个常见问题

(注:本文被 Microsoft TechNet 中文速递邮件 2008 年 06 月收录为 MVP 推荐 Blog  http://go.microsoft.com/?linkid=9071409、并已发表于《电脑爱好者》杂志 2008 年第 11 期)
 
去年笔者曾写过一篇 Blog 文章《从 OE 升级到 Windows Mail 后无法在新帆等新闻组中发帖的解决方法》。今天笔者再总结两个从 Outlook Express 升级到 Windows Mail 后可能会遇到的问题,两个问题均摘自微软中文新闻组,最近经常被人问起。
 
1.Windows Mail 导入 .CSV 通讯簿后乱码
 
在旧版 Windows 的 OE 中选择“文件”-“导出”-“通讯簿”-“文本文件(以逗号分割)”,将通讯簿导出为 .CSV 通讯簿文件,然后在 Windows Vista 的 Windows Mail 中选择“文件”-“导入”-“Windows 联系人”-“CSV(以逗号分隔)”,选择之前 OE 导出的 .CSV 通讯簿文件。导入后我们可能会发现导入的通讯簿一片乱码,如附件的截图所示。
 
这是由于 OE 默认使用的是 ANSI 编码,需要将其改变为 UTF-8 编码。我们可以在导入 .CSV 通讯簿之前先用记事本打开 .CSV 文件,选择“文件”-“另存为”,在另存为对话框中将编码修改为 UTF-8,然后保存文件。这样再由 Windows Mail 导入 .CSV 通讯簿,就不会出现乱码了。
 
2.在撰写邮件时无法自动完成电子邮件地址
 
与 OE 相似,Windows Mail 也在“工具”-“选项”-“发送”中提供了“在撰写邮件时自动完成电子邮件地址”复选框,这个选项可以在我们向通讯簿中的联系人发送新邮件时自动读取通讯簿、将地址补全,这样我们只需输入收件人地址的前几个字母就可以。然而经过很多网友的试用,Windows Mail 的自动完成功能似乎存在 BUG,Windows Mail 的自动完成只能对最近在 Windows Mail 中曾手动输入过的联系人地址有效,而对以前在 OE 中发送过的、从 OE 中导入的联系人地址无效。
 
为了解决这个问题带来的不便,我们可以在撰写新邮件时用鼠标单击“收件人”栏,然后按下 Alt+K 组合键,在弹出的对话框中选择联系人,这是一种变通的自动完成。或者我们还可以在 Windows Mail 处于脱机工作状态时撰写一封新邮件,将所有的联系人地址全部添加到新邮件中,然后选择发送。由于 Windows Mail 处于脱机状态,这封邮件不会真的发送,只是转移到“发件箱”里,但这时所有“发送”过一遍的联系人地址就都处于最近使用过的地址里了,以后再向这些联系人发邮件时就可以使用自动完成了。“发件箱”中的那封邮件在操作之后删掉即可,然后取消 Windows Mail 的脱机工作状态。

Virtual PC 2007 虚拟机升级至 Service Pack 1 版

(注:本文被 Microsoft TechNet 中文速递邮件 2008 年 05 月收录为 MVP 推荐 Blog  http://go.microsoft.com/?linkid=8973316
 
Virtual PC 是微软收购 Connectix 的虚拟机软件,全称为 Microsoft Virtual PC。与 VMWARE Workstation 相比,Virtual PC 的功能略显简单,但胜在简明易用,适合初学者使用。
 
Microsoft Virtual PC 先后经历了 2004、2004 SP1、2007 几个版本的发展。昨天(5 月 15 日)微软放出了 Virtual PC 2007 SP1 版,版本号由 2007 的 6.0.156.0 提升为 6.0.192.0。官方下载地址:
 
 
如果宿主机中已经安装有 Virtual PC 2007,安装程序可以自动检测到旧的版本并直接升级为 Virtual PC 2007 SP1,无需事先卸载现有的版本。出于谨慎起见,建议升级之前备份现有的虚拟机配置文件(.VMC)以及虚拟硬盘文件(.VHD)。当然,即使不备份,只要升级安装中没有出现异常,升级后也可直接使用原有的虚拟机。
 
另外在升级之前,需要确保现有的虚拟机均出于关闭(Not Running)状态,而不是保存运行状态(Saved)。升级安装时安装程序将提示确认。
 
与 Virtual PC 2007 相比,Virtual PC 2007 SP1 只是一次微小的升级。增加并取消了一些可以支持的宿主操作系统与虚拟操作系统的类型。
 
增加的宿主操作系统有:Windows Vista with SP1(与 Virtual PC 2007 相同,依然只能安装在 Ultimate、Enterprise、Business 版中,不支持两个 Home 版)、Windows XP with SP3(不支持 Home 版)。
 
增加的虚拟操作系统有:Windows Vista with SP1、Windows Server 2008 Standard、Windows XP with SP3(其实这个加不加无所谓)。
 
另外与早期版本的 Virtual PC 相似,Virtual PC 2007 SP1 取消了对一些旧版操作系统的支持,在新建虚拟机向导的虚拟操作系统选择列表中将看不到这些系统,例如 Windows ME。但实际上,从新建虚拟机向导中选择虚拟操作系统类型,说白了只不过是选择一种预设的虚拟机配置方案而已,例如选择了 Windows 98,预设的虚拟机内存容量就会小些;选择了 Windows Vista,预设的虚拟机内存容量就会大些。但并不是说只要在新建虚拟机向导中选择了某系统,这台虚拟机就只能用于安装这一种虚拟操作系统了。
 
最后,由于官方只提供 Virtual PC 2007 SP1 英文、法文、西班牙文、意大利文、德文、日文下载,笔者提供一个中文语言包,同时适用于 Virtual PC 2007/2007 SP1。请见附件。

Windows XP SP3 版并发连接破解补丁与视觉样式破解补丁

(注:本文被 Microsoft TechNet 中文速递邮件 2008 年 05 月收录为 MVP 推荐 Blog  http://go.microsoft.com/?linkid=8894264)   
 
Windows XP 有两个非常实用的第三方破解补丁:并发连接破解补丁与视觉样式破解补丁。前者可以破解 Windows\system32\drivers\TCPIP.SYS 并发连接上限为 10 的限制,方便 BT、eMule 下载;后者可以破解 Windows\system32\UxTheme.DLL 默认不能使用第三方视觉样式的限制,方便直接使用自己修改的或来自 Internet 的第三方视觉样式。
 
原先很多人使用的两个破解补丁在升级到 Windows XP SP3 之后便失效了,因为早期的破解补丁只能修改 SP2 的 TCPIP.SYS 与 UxTheme.DLL,不能识别及修改 SP3 版的 TCPIP.SYS 与 UxTheme.DLL。随着 Windows XP SP3 的发布,这两个破解补丁也需要相应地升级以适应 SP3。本文提供的附件下载便是适用于 SP3 的新版破解补丁。
 
将附件“并发连接破解补丁与视觉样式破解补丁.ZIP” 下载后打开,运行“并发连接数破解补丁 for Windows XP Service Pack 3.EXE”,按照提示确认操作,这时将弹出 Windows 系统文件被修改为无法识别的版本的提示,忽略此提示即可。此补丁可以将并发连接上限提升至 50。
 
附件中的 UxTheme.DLL 是破解后的文件,可以通过 Windows 故障恢复控制台等方式将其复制到 Windows\system32 系统文件夹,替换 Windows XP SP3 的原文件即可。这时只要将第三方视觉样式复制到 Windows\Resources\themes 文件夹,即可通过控制面板-显示-外观直接调用了。
 
附件中还提供了一个笔者自己修改的视觉样式供大家测试视觉样式破解补丁。这个视觉样式由 Windows XP Media Center Edition 2005 自带的 Royale Energy Blue 亮蓝色视觉样式修改而来,主要的改动在于为窗口标题栏增加了一个两端暗、中间亮的颜色渐变效果。将附件中的 Royale 文件夹复制到 Windows\Resources\themes 文件夹即可。

IE 8、IE 7 for Windows XP/Server 2003 的连环卸载

(注:本文被 Microsoft TechNet 中文速递邮件 2008 年 04 月收录为 MVP 推荐 Blog  http://go.microsoft.com/?linkid=8777180)    

微软于前天(4 月 8 日)发布了 Windows Internet Explorer 8 Beta 1 简体中文版,支持 x86、x64 的 Windows XP/Server 2003/Vista/Server 2008 全系列操作系统。如今越来越多的微软测试版软件的中文版都发布得越来越早了,这对广大中文用户而言是个好消息,相信不少人都“尝鲜”安装了中文版的 IE 8 Beta。

笔者在 3 月 6 日 IE 8 Beta 英文版发布时曾写过一篇博客《
Windows Internet Explorer 8 Beta 公开测试下载已开放》,谈论了 IE 8 的一些新特性,今天笔者想谈论一下 IE 8 的卸载问题。对于包括 Windows Vista/Server 2008 在内的所有版本的 Windows 而言,IE 8 都是一个独立安装的 IE 版本,因此所有版本的 Windows 都将涉及 IE 8 的卸载问题。

Windows Vista/Server 2008 内置的 IE 版本是 IE 7,它们只要按照常规方式卸载已安装的 IE 8 即可自动恢复 IE 7,在此不再赘述。比较有趣的是 Windows XP/Server 2003,由于它们内置的 IE 版本是 IE 6,对于 Windows XP/Server 2003 而言,IE 8、IE 7 都是独立安装的 IE 版本,所以 Windows XP/Server 2003 便涉及了一个 IE 8、IE 7 的连环卸载问题。

我们知道,在 Windows XP/Server 2003 中安装 IE 7 时,安装程序会在 Windows 安装文件夹建立一个叫做 ie7 的隐含文件夹,将 IE 6 的所有文件备份在这里,以便我们日后卸载 IE 7 时可以从这里提取 IE 6 的文件、自动恢复 IE 6。如果我们在安装 IE 7 后手动删除了 Windows\ie7 文件夹,我们就无法按照常规方法卸载 IE 7、恢复 IE 6 了,除非重新安装 Windows。

IE 8 的情况与 IE 7 大同小异。当我们安装 IE 8 时,无论我们当前的 IE 版本是 IE 6 还是 IE 7,安装程序都会建立 Windows\ie8 隐含文件夹,将当前版本的 IE 文件备份在这里,以便日后可以卸载 IE 8、恢复当前版本的 IE。如果我们在安装 IE 8 后手动删除了 Windows\ie8 文件夹,我们就无法按照常规方法卸载 IE 8、恢复当前版本的 IE 了。

在了解了 IE 8 的卸载方式之后,笔者总结一下在卸载 IE 8 for Windows XP/Server 2003 时可能会遇到的六种情况:

1. 从 IE 6 升级为 IE 8,升级后手动删除了 Windows\ie8 文件夹:

能否回滚到 IE 7:不可以。

能否回滚到 IE 6:不可以。

2. 从 IE 6 升级为 IE 8,升级后没有手动删除 Windows\ie8 文件夹:

能否回滚到 IE 7:不能直接回滚到 IE 7。但可以先卸载 IE 8、恢复 IE 6,然后重新安装 IE 7。

能否回滚到 IE 6:可以。运行控制面板-添加删除程序中的 IE 8 卸载程序,卸载后将自动恢复为 IE 6。

3. 从 IE 7 升级为 IE 8,升级后手动删除了 Windows\ie8、Windows\ie7 文件夹:

能否回滚到 IE 7:不可以。

能否回滚到 IE 6:不可以。

4. 从 IE 7 升级为 IE 8,升级后没有手动删除 Windows\ie7 文件夹、但是删除了 Windows\ie8 文件夹:

能否回滚到 IE 7:不可以。

能否回滚到 IE 6:不可以。由于已经无法卸载 IE 8、恢复 IE 7,所以 Windows\ie7 文件夹即使还在也没有用处了。

5. 从 IE 7 升级为 IE 8,升级后没有手动删除 Windows\ie8 文件夹、但是删除了 Windows\ie7 文件夹:

能否回滚到 IE 7:可以。运行控制面板-添加删除程序中的 IE 8 卸载程序,卸载后将自动恢复为 IE 7。

能否回滚到 IE 6:不可以。运行控制面板-添加删除程序中的 IE 8 卸载程序,卸载后将自动恢复为 IE 7。但不能再继续卸载 IE 7、恢复 IE 6。

6. 从 IE 7 升级为 IE 8,升级后没有手动删除 Windows\ie8、Windows\ie7 文件夹:

能否回滚到 IE 7:可以。运行控制面板-添加删除程序中的 IE 8 卸载程序,卸载后将自动恢复为 IE 7。

能否回滚到 IE 6:可以,但必须分两次进行。运行控制面板-添加删除程序中的 IE 8 卸载程序,卸载后将自动恢复为 IE 7。然后再次运行添加删除程序,此时,添加删除程序列表中的 IE 8 卸载程序已经恢复为 IE 7 卸载程序,选择卸载 IE 7、恢复 IE 6 即可。

笔者觉得,IE 8 for Windows XP/Server 2003 的卸载程序还是欠缺一点人性化。假如我是从 IE 7 升级为 IE 8 的,并且没有手动删除 Windows\ie8、Windows\ie7 文件夹,当我卸载 IE 8 时,卸载程序应该弹出一个对话框,询问我希望回滚到 IE 7 还是回滚到 IE 6 才对,省得必须卸载两次才能回滚到 IE 6 那么麻烦。

更多内容 下一页 »