革命尚未成功,Partner们仍需努力

上一篇文章中,简单介绍了一下Windows 7 RTM版的使用情况。经过最近几天的使用,又发现不少问题,总结一下,发布在这里。其实老实说,微软在Windows 7方面做得非常不错,无论是软件还是硬件,兼容性问题都得到了很大改善。但,问题依然存在,而且这也算是普遍现象吧,也许这类问题,只有通过所有软硬件厂商(也就是微软所认为的“生态系统成员”)通力合作,才能更好地解决。

屏幕取词问题

首先,最麻烦的问题,还是词典软件。之前我说过,金山词霸2009在64位Windows 7下存在严重问题,针对原生64位程序进行屏幕取词时,会导致被取词的程序出错崩溃,只有对32位程序取词才完全正常。于是我换用过灵格斯词霸和Babylon,这两个软件依然如此,虽然对64位程序取词不会导致崩溃,但也无法正确获取到单词内容。

原本这个问题并不大,但我这里的问题是,在装好Windows后,我把Office也换成64位版了,灵格斯词霸无法对64位程序取词,Office 2010自然不能幸免。现在我有点后悔,当初干吗那么草率,升级Office干吗,就算要用2010版,也有32位版本可以使用。但现在,已经装了64位Office,无法取词的问题再次出现,而我也懒的卸载重装了。幸好最近的翻译任务并不是太多,目前手头最要紧的工作是写一本原创图书,需要用到词典的地方并不是很多。就算需要翻译网页里不认识的单词,但我的主力浏览器是Firefox,32位的,没问题,可以使用,先这样凑合吧。等灵格斯词霸升级,支持64位Windows程序,或者在需要开始翻译任务的时候再更换Office吧。

总结:这个问题归根结底还是第三方应用程序与操作系统的兼容问题,并且已经明确原因,只要开发商愿意,随时可以解决。

显卡驱动问题

另外,还发现一个与显卡驱动有关的问题。X61使用了Intel的集成显卡,目前我使用的是从Intel官网下载的最新版驱动。本来想去看看版本号的,但因为海底光缆中断的缘故,访问国外网站速度实在是太慢,算了,反正就是截止今天,Intel官网上提供的最新版本。这个驱动目前的主要问题是,在某些情况下可能产生“贴图错误”的问题。我不知道这个问题的准确术语是啥,所以只能这样大致描述一下:打开一个窗口,再打开另外一个窗口,让其中一个窗口覆盖另一个窗口的全部或部分内容。然后,毫无规律,上层窗口的部分内容会消失,取而代之的是下层原本应该被覆盖的内容。

最神奇的是,这个现象只能在屏幕上看到。在发生那个这类问题的时候,我尝试使用HperSnap截屏,但截图的内容是完全正常的。也许这与截屏软件的工作原理有关。

这个现象毫无规律可循,而且我也不知道如何重现,因此只能理解为显卡驱动的Bug,不知道下次更新驱动的时候能否解决。

总结:这个问题依然是第三方软件的问题,但原因未知,不知道啥时候可以解决。

外壳崩溃问题

在使用过程中,我经常会遇到Windows外壳崩溃的问题。具体的表现是:偶尔,在打开了Windows资源管理器窗口的情况下,如果通过开始菜单右侧的链接进入某个库文件夹,在点击库的名称后,毫无反应,点击多次也没有反应。等待片刻,Windows弹出错误对话框,说explorer进程出错,被Windows关闭。随后,之前打开的所有资源管理器窗口被关闭,然后同时出现多个库文件夹窗口。

看错误信息,有关这个错误的内容如下:


Windows 资源管理器

摘要
已停止工作

日期
‎2009/‎8/‎17 12:02

状态
已发送报告

描述
错误的应用程序路径:    C:\Windows\explorer.exe

问题签名
问题事件名称:    APPCRASH
应用程序名:    explorer.exe
应用程序版本:    6.1.7600.16385
应用程序时间戳:    4a5bc9bb
故障模块名称:    ntdll.dll
故障模块版本:    6.1.7600.16385
故障模块时间戳:    4a5be02b
异常代码:    c0000005
异常偏移:    000000000003202d
OS 版本:    6.1.7600.2.0.0.256.1
区域设置 ID:    2052
其他信息 1:    3c67
其他信息 2:    3c671dfb3edfde0e1a5c5c065e87fcd7
其他信息 3:    722e
其他信息 4:    722ebead048e4b9a8c04e2f85f61fc70

关于该问题的额外信息
存储段 ID:    6768928

目前还不知道问题是什么导致的。我猜测,可能和第三方软件在外壳中集成的选项有关,简单来说,如果在资源管理器窗口、文件夹、文件,或桌面空白处单击鼠标右键,如果右键菜单中有其他非Windows选项,或者资源管理器窗口中包含的其他程序带来的按钮或菜单命令,我指的就是这些选项来源的软件。大致看了一下我的系统,符合这类要求的程序包括:诺基亚PC套件、Intel显卡驱动、Live Mesh客户端、Norton Internet Security 2009、7-Zip、Adobe Reader、EmEditor、WinMount、OneNote。可怀疑的对象非常多,不知道从何入手比较好一点。

总结:依然,还是第三方软件的问题,不过上述软件中有来自微软自家的程序,所以,各打五十大板吧。

备份文件占用了过多存储空间

作为文件备份策略的一部分,目前我的文件是这样备份的:使用Windows 7自带的备份工具,创建计划,每天晚上11点开始备份,将硬盘上一个保存工作文档的文件夹(只备份这个文件夹,不包含系统映像)备份到移动硬盘。目前的问题是,这个备份功能貌似耗费了过多的硬盘空间。

在硬盘上,需要备份的这个文件夹的总体积是85GB左右,基本上,平均每天我需要更新的文件不应该超过100 MB。Windows 7自带的备份工具支持卷影副本功能,而且默认就进行差异备份。这就意味着,在上一次备份后,如果一个文件没有被修改过,那么下一次备份的时候会跳过这个文件;而如果一个文件被修改过,则具体进行备份时,将只备份自从上一次备份之后被修改过的内容,而不是将整个文件的最新版本完全重新保存一份。这是正常情况下的结果,按理说如果对文件的修改不是太频繁,应该不至于占据过多硬盘空间。

但你看我的情况吧,才几天的时间,一块专用于备份的500 GB移动硬盘,总空间已经用掉218 GB了。通过Windows 7自带的备份管理功能可以看到,平均每天新增加的备份内容都要在20 GB左右,而我要备份的内容除了数码照片,其他只有Office文档,数码照片由于使用Adobe Lightroom进行修改和编辑,所有修改不会应用到照片文件本身。而如果仅仅是Office文档,每天的修改内容达到20 GB,谁相信啊?

Snap3

总结:这是Windows 7内建程序上遇到的问题,暂时不明白原因,回头打算仔细检查一下日志,并在其他Windows 7电脑上试验一下,看是普遍存在的还是特例,然后再决定怎样处理。

临时配置文件问题

自从8月9号完全安装完需要的所有软件后,我的系统一直没有重启动过。今天下午,反正闲着没事,干脆重启动一下。重启动过成很正常,但在登录的时候,刷了指纹时候,欢迎屏幕上显示“正在为刘晖准备桌面…”很奇怪的现象,因为只有在一个帐户首次登录的时候才需要进行该操作,只要登录过,再次登录的时候,应该不需要这一步骤的。

果然,登录到系统后,桌面上的所有图标都不见了,并且墙纸也变成默认的。最重要的是,虽然在cmd下运行“whoami”看到的登录帐户依然是我自己的帐户,而且开始菜单右上角也显示了我自己的名字,但我很确定,我的配置文件竟然全部都没有加载。注销后重新登录,一切恢复正常。

检查日志发现有两条信息是和这个问题有关的。首先是在重启动之前的注销阶段:

日志名称:          Application
来源:            Microsoft-Windows-User Profiles Service
日期:            2009/8/17 19:01:40
事件 ID:         1530
任务类别:          无
级别:            警告
关键字:          
用户:            SYSTEM
计算机:           X61
描述:
Windows 检测到注册表文件仍在由其他应用程序或服务使用。将立即卸载此文件。包含注册表文件的应用程序或服务以后可能无法正确运行。

详细信息 –
1 user registry handles leaked from \Registry\User\S-1-5-21-1177862073-259158808-2567292843-1001_Classes:
Process 1340 (\Device\HarddiskVolume3\Windows\System32\svchost.exe) has opened key \REGISTRY\USER\S-1-5-21-1177862073-259158808-2567292843-1001_CLASSES

事件 Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-User Profiles Service" Guid="{89B1E9F0-5AFF-44A6-9B44-0A07A7CE5845}" />
    <EventID>1530</EventID>
    <Version>0</Version>
    <Level>3</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8000000000000000</Keywords>
    <TimeCreated SystemTime="2009-08-17T11:01:40.146933300Z" />
    <EventRecordID>2111</EventRecordID>
    <Correlation ActivityID="{00000100-0000-0000-6842-901A171BCA01}" />
    <Execution ProcessID="112" ThreadID="960" />
    <Channel>Application</Channel>
    <Computer>X61</Computer>
    <Security UserID="S-1-5-18" />
  </System>
  <EventData Name="EVENT_HIVE_LEAK">
    <Data Name="Detail">1 user registry handles leaked from \Registry\User\S-1-5-21-1177862073-259158808-2567292843-1001_Classes:
Process 1340 (\Device\HarddiskVolume3\Windows\System32\svchost.exe) has opened key \REGISTRY\USER\S-1-5-21-1177862073-259158808-2567292843-1001_CLASSES
</Data>
  </EventData>
</Event>

在上述事件中,“S-1-5-21-1177862073-259158808-2567292843-1001_CLASSES”正是我自己所用帐户对应的SID。目前尚不清楚这个问题是为何产生的。上述设置不会影响系统的关闭操作,随后登录到系统后,通知区域显示了一则通知,原话我记不清了,但大意是说,因为某种原因,我的配置文件无法访问,因此Windows正在使用临时配置文件,要我联系管理员。好吧,我就是管理员,我该联系谁呢?

随后在重启动系统后第一次登录时,按顺序记录了下列事件:

日志名称:          Application
来源:            Microsoft-Windows-User Profiles Service
日期:            2009/8/17 19:03:41
事件 ID:         1508
任务类别:          无
级别:            错误
关键字:          
用户:            SYSTEM
计算机:           X61
描述:
Windows 不能加载注册表。这通常是由于内存或安全权限不足造成的。

详细信息 – C:\Users\刘晖\ntuser.dat 的 另一个程序正在使用此文件,进程无法访问。

事件 Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-User Profiles Service" Guid="{89B1E9F0-5AFF-44A6-9B44-0A07A7CE5845}" />
    <EventID>1508</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8000000000000000</Keywords>
    <TimeCreated SystemTime="2009-08-17T11:03:41.163365300Z" />
    <EventRecordID>2123</EventRecordID>
    <Correlation />
    <Execution ProcessID="1016" ThreadID="1088" />
    <Channel>Application</Channel>
    <Computer>X61</Computer>
    <Security UserID="S-1-5-18" />
  </System>
  <EventData Name="EVENT_REGLOADKEYFAILED">
    <Data Name="Error">另一个程序正在使用此文件,进程无法访问。
</Data>
    <Data Name="File">C:\Users\刘晖\ntuser.dat</Data>
  </EventData>
</Event>

在用户登录的时候,有系统之外的其他程序在使用ntuser.dat文件?这怎么可能?想不明白为啥会这样。


的事件内容是

日志名称:          Application
来源:            Microsoft-Windows-User Profiles Service
日期:            2009/8/17 19:03:41
事件 ID:         1502
任务类别:          无
级别:            错误
关键字:          
用户:            X61\刘晖
计算机:           X61
描述:
Windows 不能加载本地存储的配置文件。此问题的可能原因是安全权限不足或本地配置文件损坏。

详细信息 – 另一个程序正在使用此文件,进程无法访问。

事件 Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-User Profiles Service" Guid="{89B1E9F0-5AFF-44A6-9B44-0A07A7CE5845}" />
    <EventID>1502</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8000000000000000</Keywords>
    <TimeCreated SystemTime="2009-08-17T11:03:41.163365300Z" />
    <EventRecordID>2124</EventRecordID>
    <Correlation />
    <Execution ProcessID="1016" ThreadID="1088" />
    <Channel>Application</Channel>
    <Computer>X61</Computer>
    <Security UserID="S-1-5-21-1177862073-259158808-2567292843-1001" />
  </System>
  <EventData>
    <Data Name="Error">另一个程序正在使用此文件,进程无法访问。
</Data>
  </EventData>
</Event>

再下来的事件就是:

日志名称:          Application
来源:            Microsoft-Windows-User Profiles Service
日期:            2009/8/17 19:03:41
事件 ID:         1515
任务类别:          无
级别:            错误
关键字:          
用户:            X61\刘晖
计算机:           X61
描述:
Windows 已经备份了此用户的配置文件。下次此用户登录时,Windows 将自动尝试使用此备份的配置文件。
事件 Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-User Profiles Service" Guid="{89B1E9F0-5AFF-44A6-9B44-0A07A7CE5845}" />
    <EventID>1515</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8000000000000000</Keywords>
    <TimeCreated SystemTime="2009-08-17T11:03:41.163365300Z" />
    <EventRecordID>2125</EventRecordID>
    <Correlation />
    <Execution ProcessID="1016" ThreadID="1088" />
    <Channel>Application</Channel>
    <Computer>X61</Computer>
    <Security UserID="S-1-5-21-1177862073-259158808-2567292843-1001" />
  </System>
  <EventData>
  </EventData>
</Event>

然后是这个,这个应该也是在通知区域显示的气球图标的内容:

日志名称:          Application
来源:            Microsoft-Windows-User Profiles Service
日期:            2009/8/17 19:03:41
事件 ID:         1511
任务类别:          无
级别:            错误
关键字:          
用户:            X61\刘晖
计算机:           X61
描述:
Windows 找不到本地配置文件,正在用临时配置文件让您登录。当您注销时,对此配置文件所作的更改将丢失。
事件 Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-User Profiles Service" Guid="{89B1E9F0-5AFF-44A6-9B44-0A07A7CE5845}" />
    <EventID>1511</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8000000000000000</Keywords>
    <TimeCreated SystemTime="2009-08-17T11:03:41.178965400Z" />
    <EventRecordID>2126</EventRecordID>
    <Correlation />
    <Execution ProcessID="1016" ThreadID="1088" />
    <Channel>Application</Channel>
    <Computer>X61</Computer>
    <Security UserID="S-1-5-21-1177862073-259158808-2567292843-1001" />
  </System>
  <EventData>
  </EventData>
</Event>

在遇到这个问题后,我还尝试过再次重启动,可没有遇到相同的问题,直接登录成功了。因此造成这个问题的原因还不清楚,也不知道该如何重现,还要继续研究。

总结:我也不知道这个问题到底是Windows自身导致的,还是其他软件导致的。

要说的暂时就这些了,以后有了新的想法再说。

分享:

《革命尚未成功,Partner们仍需努力》有2个想法

  1. explorer Shell 挂起问题,建议卸载WinMount,使用VirtualCloneCD.取词问题可以尝试用灵格斯翻译家.杀毒软件我用的是MSE,其他软件基本与你一致.
    关于用户配置文件载入的问题,我也遇到过多次,严重时配置文件使用临时的,其他一般的就是Sync Mesh Messenger 等 Live 软件的登录信息丢失.
    其他一些小Bug也是……

  2. 恩,今早卸载WinMount后,外壳没有再崩溃了,多等等,如果一直正常,那肯定就是WinMount的问题了。不过我也不准备再装虚拟光驱软件,我装WinMount主要是为啦加载Zip/RAR这类压缩文件,不解压缩就直接用,实际上并不需要加载ISO之类的内容。所以以后还是老老实实解压缩好了。

    辞典软件我目前 用的就是灵格斯啊,依然不能对64位程序取词,等待程序升级中。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

发表评论前,先做个简单的数学题吧: * Time limit is exhausted. Please reload CAPTCHA.