关于计算机的启动以及巩固对Windows XP开机的加速

前几天原以为解决了Windows登陆慢的问题,后来发现问题还是没有彻底解决。
系统盘中windows\prefetch\下的文件删除掉之后,会自动再生,没几天,开机又很慢了。因此便更详细地了解了一下Windows的开机过程。

计算机的开启过程:

要说Windows的启动过程,最好还是往前追溯一下,从你按下开机按钮那一刻开始吧:

  1. 按下开机按钮之后,首先上场的是BIOS——基本输入输出系统,它是固化在集成电路内部的一组程序,但不同于电脑上其它的程序的是它是存储在ROM(Read Only Memory,只读存储器)中,是属于硬件的一部分。刚打开电脑时你会看到它的踪迹,一般情况下它会首先扫描并检测电脑的各个硬件,一切正常之后就会根据CMOS中存储的启动优先顺序去寻找引导记录,通常情况下是在硬盘的MBR(主引导记录)里检查硬盘分区表,找到引导分区,然后把操作系统调入到内存中运行,即执行NTLDR(操作系统加载器)文件。
  2. 接下来NTLDR会把处理器从实模式(Real Mode)转换为32位保护模式(Protected Mode),然后读取boot.ini文件。接着装载内核,如Windows XP的内核是ntoskrnl.exe(在windows\system32文件夹里)。之后加载硬件抽象层(HAL),完成加载过程。
  3. 初始化内核之后Windows内核正式获得控制权,开始装载并初始化设备驱动程序、Win32子系统以及Windows XP服务。
  4. 接着用户登录,登录后XP会继续配置网络设备和用户环境。
  5. 最后播放开机音乐并且进入用户桌面,开机至此完成。

知道了开机的详细情况之后我们才能对症下药,解决开机速度慢的问题。

巩固对Windows XP开机的加速

在针对开机的过程进行调整之前先专门说一说windows\prefetch这个文件夹,前面一篇文章中提到过这个文件夹,它对Windows的启动速度有很大影响。当时我用了前面那篇文章的方法之后,开机速度明显快了。但才过了一两天,速度又慢了下来。

要解决这个问题还是先了解一下Prefetch到底是个什么东西,下面是网上搜索到的一点介绍:

Prefetch文件夹是从Windows XP操作系统开始后增加的一项新功能——预读取。微软的本意是利用预读取功能来提高系统性能、加快系统启动和文件读取的速度。但其中的文件会随着使用时间的增加而日益增多,而且都是一些以PF为扩展名的文件。这是因为我们每启动一个程序,Windows都会在Prefetch文件夹中留下一个索引(类似于Windows98中的Prolog文件夹),在开机时Windows XP就会将Prefetch文件夹中涉及到的常用程序读入内存(这个过程也就是启动时进度条滚动的时间段)。在这样的情况下,系统在新安装时大家或许没有感觉启动速度很慢,但是时间一长,Prefetch文件夹中生产的预读文件越多,系统启动时需要预读取的内容就愈复杂,系统启动变缓也就不足为怪了。

我的系统中安装的软件特别多,在开始菜单->所有程序中满满两条菜单,由上至下,系统不慢才怪呢。所以我的系统慢主要原因应该就是那大量不断出现的索引文件,下面用3种方式来解决这个问题:

1.禁止索引文件的产生

单击“开始”→“运行”,输入msconfig后回车即可打开系统配置实用程序。切换至“服务”选项卡,找到“Task Scheduler”这个项目。Task Scheduler可以说是产生垃圾索引文件的“罪魁祸首”,当它在后台运行时,就会将我们硬盘中随Windows启动的每一个程序都建立一个索引文件并放入Prefetch文件夹内。只要取消对该项的勾选,我们便可以为Prefetch文件夹“瘦身”了。
2.设置预读对象
因为Prefetch文件夹中包含了所有随Windows XP启动程序的索引,所以我们可以进行一定的设置,使得系统在启动时只读取其中的一部分内容,对未指定的内容不予读取。这样也能有效地加快Windows XP的启动速度。
单击“开始”→“运行”,输入“regedit”,打开注册表编辑器,并依次展开HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters子键,双击右侧窗口中的“EnablePrefetcher”键值项,即可打开编辑窗口并对Windows XP进行预读取设置了。具体数值所对应的预读设置如下:
0——取消预读功能;
1——只预读应用程序;
2——只预读WindowsXP系统文件;
3——预读Windows XP系统文件和应用程序。
在这里我们可将该值设定为“2”,即只预读取Windows XP自身的系统文件,忽略其他应用程序产生的索引文件。
3.清空Prefetch文件夹
第一步:建立批处理文件
新建一个记事本,在其中输入以下内容:
del %SystemRoot%\Prefetch\*.* /q,并将其保存为delpf.bat文件。
第二步:设置每次关机时执行清空操作
单击“开始”→“运行”,输入“gpedit.msc”启动组策略窗口,然后依次展开“计算机配置“→”“Windows设置”→“脚本”,双击右侧窗格中的“关机”选项,进入到关机属性对话框。点击“添加”按钮,将刚才建立的delpf.bat文件添加至关机任务中。这样,每次关机时Prefetch文件夹都会被自动清空,下次系统启动时便不需要进行预读取操作,速度当然如飞了!
解决了这个最大的祸害之后,我们可以针对开机的情况来进一步进行优化:
1、禁止没有用到的外设通过前面对启动过程的了解我们知道,XP在启动时会自动扫描硬件,所以如果在WinXP中禁用一些外设,可以有效地减少系统启动时需要调入的外 设驱动程序数量,从而加快系统的启动速度。如果你的电脑上没有USB设备,请在“设备管理器—通用串行总线控制器”中将所有的USB设备禁用。此法可以让 你的XP开机时间减少约十五秒。其次,如果你没有安装多个硬盘,也可以禁止某些IDE设备以加快启动速度。做法是:右键点击“我的电脑-属性”,然后点击 “硬件”接着点击“设备管理器”,在其中打开“IDE ATA/PATA控制器”(不同芯片略有差异),然后分别进入主要和次要IDE通道,选择“高级设置”,在这里找到“当前传送模式”为“不适用”的一项 (这就是闲置的IDE通道所对应的),将此项的“设备类型”设置为“无”,确定即可。另外还要注意:由于系统默认会自动读取光驱,因此启动时会对光驱进行 检测,如果光驱中放置了光盘,就会自动读取,如果是多媒体光盘那么读取花费的时间就会更长,同样延长电脑的启动时间。所以建议大家平时使用完光盘记得及时 取出来。

2、减少启动时加载的程序

选择“开始”菜单中的“运行”命令,在“运行”对话框中键入“Msconfig”,回车后会弹出“系统配置实用程序”对话框,选择其中的“启动”选项卡,该选项卡中列出了系统启动时加载的项目及来源,仔细查看每个项目是否需要自动加载,否则清除项目前的复选框, 加载的项目越少,启动的速度就越快。建议除了保留输入法(在启动项目中为ctfmon)和杀毒监测程序(比如RavTask)之外,其它的统统都禁止在启动时自动运行。要想更全面消灭开机自动运行程序,请参考这篇文章

3、手动设置IP地址前面已经讲到,XP系统会在开机之后自动检测电脑是否联入局域网,但是一般用户都是单机上网,并且在网络连接中基本上设置的都是自动获取IP地 址。如此以来,系统为了给该机指派一个IP地址就会搜索DHCP服务器,但是一般用户根本不会配置。这就造成每次开机之后,系统都会花很长的时间来搜索 DHCP服务器直到获得IP地址或者服务超时才会停止,这期间即使来到桌面,双击程序也没有任何反映。事实上只要为“本地连接”人工指派一个IP地址就可以简单的解决这个问题,避免Windows XP每次开机的自动网络检测,从而加速启动。具体的做法如下:右键点击“网上邻居”-选择属性,进入窗口后右键点击“本地连接”-选择属性,在这里双击 “Internet协议(TCP/IP)”,选择“使用下面的IP地址”然后输入一个IP地址(比如:192.168.0.1),子网掩码默认即可。(这 样做不会与您上互连网产生任何冲突,这个地址只是用在局域网内的)这样系统再次搜索就会很快的发现IP并快速进入系统。

4.关闭主题清减桌面
很多朋友都喜欢在自己的桌面上放上一个漂亮的背景,比如自己喜爱的某个明星的照片之类。可是漂亮是有代价的,那就是消耗了大量的内存,同时桌面上有太多图标也是一样。因为系统每次启动到显示桌面时,首先需要检查是否启用主题,一旦发现就会加载,很多的主题就这样吃掉了大量的内存(另外很多网友自己制作的主题并不完善,使用后会出现很多兼容问题造成系统故障)。同时系统还会查找和验证桌面快捷方式的有效性,因此快捷方式越多,所花费的验证时间就越长。建议大家平时尽量不要使用主题,最多设置一张漂亮的壁纸就可以了。然后将桌面快捷方式分门别类放到专门的文件夹中便于管理,加速启动一举两得。

通过上述多种途径,我想Windows启动慢应该不会再是一个问题了!


注1:从80386开始,cpu有三种工作方式:实模式,保护模式和虚拟8086模式。实模式只能访问地址在1M以下的内存称为常规内存,我们把地址在1M 以上的内存称为扩展内存。在保护模式下,全部32条地址线有效,可寻址高达4G字节的物理地址空间; 扩充的存储器分段管理机制和可选的存储器分页管理机制,不仅为存储器共享和保护提供了硬件支持,而且为实现虚拟存储器提供了硬件支持; 支持多任务,能够快速地进行任务切换和保护任务环境; 4个特权级和完善的特权检查机制,既能实现资源共享又能保证代码和数据的安全和保密及任务的隔离; 支持虚拟8086方式,便于执行8086程序。虚拟8086模式是运行在保护模式中的实模式,为了在32位保护模式下执行纯16位程序。它不是一个真正的CPU模式,还属于保护模式。
注2:硬件抽象层(Hardware Abstraction Layer)是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。从软硬件测试的角度来看,软硬件的测试工作都可分别基于硬件抽象层来完成,使得软硬件测试工作的并行进行成为可能。

很多朋友都喜欢在自己的桌面上放上一个漂亮的背景,比如自己喜爱的某个明星的照片之类。可是漂亮是有代价的,那就是消耗了大量的内存,同时桌面 上有太多图标也是一样。因为系统每次启动到显示桌面时,首先需要检查是否启用主题,一旦发现就会加载,很多的主题就这样吃掉了大量的内存(另外很多网友自 己制作的主题并不完善,使用后会出现很多兼容问题造成系统故障)。同时系统还会查找和验证桌面快捷方式的有效性,因此快捷方式越多,所花费的验证时间就越 长。建议大家平时尽量不要使用主题,最多设置一张漂亮的壁纸就可以了。然后将桌面快捷方式分门别类放到专门的文件夹中便于管理,加速启动一举两得。

学习脱壳

一、什么是壳

作者编好软件后,编译成exe可执行文件

  1. 有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名等
  2. 需要把程序搞的小一点,从而方便使用,于是,需要用到一些软件,他们能将exe可执行文件压缩

实现上述两个功能,这些软件称为加壳软件或压缩软件。它不同于一般的winzip,winrar等压缩软件。它是压缩exe可执行文件的,压缩后的文件可以直接运行。

二、测壳软件

  • FileInfo
    待侦测壳的软件(如aa.exe)和fileInfo.exe位于同一目录下,将aa的图标拖到fi的图标上
  • language2000
    傻瓜式软件,运行后选取待侦测壳的软件即可(open)

三、什么是脱壳

运行加壳程序时, 用户执行的实际上是这个外壳的程序,而这个外壳程序负责把用户原来的程序在内存中解压缩,并把控制权交还给解开后的真正的程序,由于一切工作都是在内存中运行,用户根本不知道也不需要知道其运行过程,只要执行起来没有变化就好。当时有些人担心这些解压缩的工作会给程序带来额外的运行时间,但实际上所有的可执行文件都要读到内存中去执行,文件小了,从计算机硬盘上读到内存的时间自然也少了,两下相抵,实际上用户并不会感觉程序慢了多少。脱壳的就是把在内存中真正还原的程序抓取下来,修正后变成可执行的文件。

四、压缩工具

在Windows 95/NT/2000 上的文件格式是Portable Executable File Format(即PE格式),该格式应用于所有基于Win32的系统。由于现在windows的普及,下面谈到的壳都是基于这种文件格式。我们这里谈的压缩工具不是Winzip,WINRAR等工具(它们是可压缩任何文件),而是谈专门压缩windows下的 PE 格式EXE或DLL文件的工具,压缩的EXE文件是自解压可执行文件。

名称 作者 介绍
ASPack Alexey Solodovnikov 是俄国作者Alexey Solodovnikov写的一个非常强大的Win32压缩工具,其压缩率、速度和兼容性很不错,是目前很流行的一种压缩工具。
UPX Markus Oberhumer & Laszlo Molnar 非常全能的
Petite Ian Luck 能压缩PE文件的code, data等资源。
PE-PACK ANAKiN 一个自身体积小巧的压缩工具
PKLITE32 PKWARE, Inc. 32-位压缩工具(DLL/EXE).
WWPack32 Piotr Warezak and Rafal Wierzbicki 32-位压缩工具(DLL/EXE).
NeoLite 32-位压缩工具(DLL/EXE).
Shrinker Blink Inc 32-位压缩工具(DLL/EXE).

五、脱壳工具

一般某种压缩工具的壳,都会有相应的脱壳工具,因此只要找到较新版本的脱壳工具, 一般的壳都可轻易脱去。

名称 作者 介绍
ASPack unpacker bane 脱ASPack的压缩PE文件。
UnPEPack M.o.D. 脱PEPack的壳
ProcDump32 十分优秀的“万能”脱壳工具,可惜不升级了,因此只能自动脱些老版本压缩工具的壳,但可通过脚本命令使其升级。也是一款优秀的PE修改工具。

受不了,微软也能出这么好的东西(Courier)啊!

本来已经对微软的东西不感兴趣了,但是看到它即将推出的这个叫做Courier的Booklet产品,真是让人心动不已。

技术指标之类的东西google一下会很多,不用多说了,看看视频吧:

[flashvideo file=http://211.157.113.49/backup/Courier.FLV /]

如果这个东西普及了,我觉得又是一个改变人类生活习惯的东西。我们日常写字、画画都可以不用纸了,又方便又环保。当然如果是非要用纸的艺术创作就另当别论了。

下面再看看图吧(单击可以放大):

由昨天一个笑话产生的幻想

昨天转了几个笑话,其中一个是:

是这样的张总:你在家里的电脑上按了CTRL+C,然后在公司的电脑上再按CTRL+V是肯定不行的。即使同一篇文章也不行。不不不,多贵的电脑都不行!

今天在Goofy2上看到idea1983跟大家分享了一下。我转念一想,要是我们逆向思维呢?让我们的电脑能够这样无缝地工作,在家按个Ctrl+C,再去别的地方按个Ctrl+V,然后能粘贴过来。当然这只是一个小的片断,往大想,计算机可以很容易自动识别一个人,然后通过网络能让这个人在任何地方无缝地操作。这多好啊。

Using a computer without a mouse and a monitor

Can you believe it? It’s not so hard to achive that. We just made it today.

I have been keeping a computer under my desk for nearly a year. The mouse is broken. I think I’ve sold the monitor. I plan to buy a widescreen LCD someday. But today I asked Jack to help me with the book writing things and we don’t have an extra computer. He reminded me that I could use the TV set. Fortunately there is a VGA socket on my TV.

Jack borrowed a VGA cable. I just connected the computer to the TV and booted it hoping everything’s fine.

But there came another problem. Because the screen resolution is too high for the TV there’s nothing showing up on the sceen. I knew what I needed to do is to adjust the resolution, but how?

I pluged in the headphone and looked at the screen of the laptop(It’s David’s laptop and was brought in by Alfred). Firstly logged off the Laptop to the Login screen. Then started pressing the "tab" key several times to see where the cursor moved to. And did the same simultaneously on the keyboard of the previouse computer. And when the box for password is activated, I typed in the password and then "enter".

When I heard the windows login music I waited for a moment for the softwares start with windows. Then I think you know what I did:

"win key" -> "win key"+"d" -> "Menu Key" -> "r" -> "shift"+"tab" -> "right arrow" for several times -> "tab" 3 times -> "left arrow" for many times to make sure the resolution is the lowest -> "alt"+"a" -> "y"

win key (left) & menu key (right)

If you don’t understand those steps just try them out. You’ll get it. That was the exciting moment. The desktop appeared on my TV!

The next problem is that althought most of the operations we do with a mouse can be done with the keyboard, some poor programmers develop softwares that can’t be used without a mouse. Like the IP-COM wireless connection management software. I plugged in the IP-COM USB wireless adapter and installed the driver and application. This application disabled the function of the system to manage the wireless connections. I was forced to use its own application. But the buttons of that application can’t be pressed using the keyboard! What a stupid software!

Now I have to use a mouse but I don’t have one. It occured to me that there’re some options to enable the user to use the keyboard to act like a mouse right after I said "I give up". I remembered that it was something with accessibility in the Control Panel. So I was just like "Check it out!"

"win key" -> "c" -> "tab" for several times to select "Accessibility Options" -> "enter" (-> if you are in Category View you need to press "tab" for a few more times and select "Accessibility Options" under "or pick a Control Panel icon" then "enter") -> "shift"+"tab" -> "right arrow" for three times to select "Mouse" -> "tab" -> "space" to check the checkbox before "Use MouseKeys" -> "enter"

OK, now you can use "num lock" key to turn on or off the MouseKeys function. How to use it? You can use your numeric keypad as a mouse.

You can use 1, 2, 3, 4, 6, 7, 8, 9 to move the pointer to those eight direcitons. Pressing "5" on numeric keypad is equal to press the left button of the mouse (click). Pressing "+" on numeric keypad is equal to press the right button of the mouse (right click). Amazing, huh?

But the pointer seems to be moving so slowly. You can open the "Accessibility Options" again. On the "Mouse" tab click "settings". Now you can adjust the speed of the pointer and I like to check "Hold down Ctrl to speed up and Shift to slow down".

That’s it. Now we made it. To use a computer without a monitor and a mouse.