关于计算机的启动以及巩固对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,然后能粘贴过来。当然这只是一个小的片断,往大想,计算机可以很容易自动识别一个人,然后通过网络能让这个人在任何地方无缝地操作。这多好啊。