1.[转载] 细说jbd (journal-block-device)& 源码分析
2.FREE SOLO - 自己动手实现Raft - 17 - leveldb源码分析与调试-3
3.linux设备驱动程序——i2c总线的磁盘程序磁盘程序添加与实现
4.xfs文件系统:layout与架构、源码分析
5.linux设备驱动程序——设备树(0)-dtb格式
6.0Ã000000D1,驱动驱动器的驱动0Ã00000008,0Ã00000002,0Ã0000000,0ÃF98F0C00
[转载] 细说jbd (journal-block-device)& 源码分析
jbd 要解决什么问题
文件系统某些操作抽象成原子操作
若干个原子操作组成一个事务
在磁盘上单独划分一个日志空间
将内存事务的数据写到日志中
从日志恢复数据
概念介绍
buffer_head 元数据块
handle transaction journal commit checkpoint revoke recover kjournald
数据结构介绍
handle_t 表示一个原子操作
transaction_t 表示一个事务
journal_t journal_superblock_t journal_head journal_head_t
三种日志模式
jbd基本操作
journal_start journal_stop journal_get_create_access journal_get_write_access journal_get_undo_access
journal_dirty_data journal_dirty_metadata journal_forget journal_revoke journal_extend
元数据缓冲区处理流程
数据缓冲区处理流程
提交事务kjournald----- 时刻准备着
fs/jbd/journal.c
提交事务
journal_commit_transaction __journal_clean_checkpoint_list journal_submit_data_buffers
fs/jdb/commit.c
journal_write_revoke_records journal_write_metadata_buffer journal_write_commit_record
数据块缓冲区状态转移图
元数据块缓冲区状态转移图
日志恢复
准备工作
journal_recover 函数
恢复步骤1: PASS_SCAN
恢复步骤2:PASS_REVOKE
恢复步骤3:PASS_REPLAY
恢复后的设置工作
FREE SOLO - 自己动手实现Raft - - leveldb源码分析与调试-3
leveldb的数据流动路径是单向的,从内存中的源码memtable流向不可变的memtable,最终写入到磁盘上的分析sorted table文件中。以下是磁盘程序磁盘程序几个关键状态的分析,来了解内存和磁盘上数据的驱动驱动器的驱动直播源码分布。
以下是源码分析所涉及的状态:
1. 数据全在内存中
随机写入条数据,观察到数据全部存储在memtable中,分析此时还没有进行compaction操作。磁盘程序磁盘程序
2. 数据全在磁盘中
写入大量数据,驱动驱动器的驱动并等待数据完全落盘后重启leveldb。源码此时,分析数据全部存储在磁盘中,磁盘程序磁盘程序分布在不同的驱动驱动器的驱动level中。在每个level的源码sstable文件中,可以看到key的最大值与最小值。
3. 数据部分在内存中,部分在磁盘中
随机写入条数据,发现内存中的memtable已满,触发compaction操作,数据开始写入到sstable文件。同时,继续写入的数据由于还未达到memtable上限,仍然保存在内存中。
4. 总结
通过观察不同数据写入量导致的数据在内存与磁盘间的流动,我们可以看到leveldb内部状态的转换。
下篇文章将分析LRUCache数据状态的变化。敬请期待!
linux设备驱动程序——i2c总线的添加与实现
一文看懂linux内核详解
深入了解使用linux查看磁盘io使用情况
在实际驱动开发过程中,i2c总线也是集成在系统中的,驱动开发者不需要关心i2c总线的初始化,只需要将相应的i2c_client和i2c_driver挂载在总线上进行匹配即可。
那么,i2c总线在系统中是同城 源码如何初始化得来的呢?
答案就在文件i2c-core-base.c中,它的过程是这样的:
在i2c_init函数中,使用bus_register()将i2c总线注册到系统中,那么这个i2c_init()函数是在哪里被调用的呢?
在内核启动的过程中,进入C语言环境的第一个入口函数是start_kernel(),但是i2c_init()并非由start_kernel()间接调用,而是借助于linux内核中的initcall机制被调用,简而言之,就是将这个函数地址在编译阶段放入特定的段中,在内核初始化时由某个启动函数将这些段中的函数一一取出并执行。
i2c总线通过postcore_initcall()将init函数注册到系统中。
当模块被加载进系统时,就会执行i2c_init函数来进行初始化。
在i2c_bus_type结构体中,定义了match(),probe(),remove()和shutdown()函数,match()函数就是当有新的i2c_client或者i2c_driver添加进来时,试图寻找与新设备匹配的项,返回匹配的结果。
remove()和shutdown(),顾名思义,这两个函数是管理的驱动移除行为的。
对于probe函数,在之前的章节中提到:当相应的device和driver经由总线匹配上时,会调用driver部分提供的probe函数。
那么:
带着这两个疑问,我们接着往下看。
在这里我们不免要回顾一下前面章节所说的,作为一个驱动开发者,如果我们要开发某些基于i2c的设备驱动,需要实现的框架流程是怎样的:
但是问题是,为什么device和driver都注册进去之后,就会调用driver部分提供的probe函数呢?
为了解决这些问题,最好的办法就是看源代码,假设我们是apk源码以设备树的方式进行匹配,device(即i2c_client)部分已经被注册到系统中,此时我们向系统中注册(insmod由driver部分程序编译的模块)相应的driver部分,接下来我们跟踪driver部分注册到i2c总线的流程,看看它是怎么实现的:
跟踪i2c_add_driver:
经过一系列的代码跟踪,找到了bus_add_driver(),根据名称可以知道,这个函数就是将当前i2c_driver添加到i2c_bus_type(即i2c总线)中。
接着往下看:
从第一部分可以看到,将当前drv链入到bus->p->klist_drivers链表中,那么可以猜到,在注册device部分的时候,就会将device链入到bus->p->klist_devices中。
然后,再看driver_attach(drv):
driver_attach调用bus_for_each_dev,传入当前驱动bus(即i2c_bus_type),当前驱动drv,以及一个函数__driver_attach。
bus_for_each_dev对每个device部分调用__driver_attach。
在__driver_attach中,对每个drv和dev调用driver_match_device(),并根据函数返回值决定是否继续执行调用driver_probe_device()。
从函数名来看,这两个函数大概就是我们在前文中提到的match和probe函数了,我们不妨再跟踪看看,先看看driver_match_device()函数:
果然不出所料,这个函数十分简单,如果当前驱动的所属的bus有相应的match函数,就调用match函数,否则返回1.
当前driver所属的总线为i2c_bus_type,根据上文i2c总线的初始化部分可以知道,i2c总线在初始化时提供了相应的match函数,所以,总线的match函数被调用,并返回匹配的元源码结果。
接下来我们再看看driver_probe_device()函数:
在driver_probe_device中又调用了really_probe,在really_probe()中,先判断当前bus总线中是否注册probe()函数如果有注册,就调用总线probe函数,否则,就调用当前drv注册的probe()函数。
到这里,我们解决了上一节中的一个疑问:总线和driver部分都有probe函数时,程序是怎么处理的?
答案已经显而易见了:优先调用总线probe函数。
而且我们理清了总线的match()函数和probe()函数是如何被调用的。
那么,上一节中还有一个疑问没有解决:总线的match和probe函数执行了一些什么行为?
对于总线probe函数,获取匹配成功的device,再由device获取driver,优先调用driver->probe_new,因为driver中没有设置,直接调用driver的probe函数。
总线probe和driver的probe函数的关系就是:当match返回成功时,优先调用总线probe,总线probe完成一系列的初始化,再调用driver的probe函数,如果总线probe函数不存在,就直接调用driver的probe函数,所以当我们在系统中添加了相应的device和driver部分之后,driver的probe函数就会被调用。
对于总线match函数,我们直接查看在i2c总线初始化时的函数定义:
i2c_device_match就是i2c_driver与i2c_device匹配的部分,在i2c_device_match函数中,可以看到,match函数并不只是提供一种匹配方式:
接下来再深入函数内部,查看匹配的细节部分:
在i2c_of_match_device中,调用了of_match_device()和i2c_of_match_device_sysfs()两个函数,这两个函数代表了两种匹配方式,先来看看of_match_device:
of_match_device调用of_match_node。源码超市
of_match_node调用__of_match_node函数。
如果你对设备树有一定的了解,就知道系统在初始化时会将所有设备树子节点转换成由struct device_node描述的节点。
在被调用的__of_match_node函数中,对device_node中的compatible属性和driver部分的of_match_table中的compatible属性进行匹配,由于compatible属性可以设置多个,所以程序中会对其进行逐一匹配。
我们再回头来看设备树匹配方式中的i2c_of_match_device_sysfs()匹配方式:
由i2c_of_match_device_sysfs()的实现可以看出:当设备树中不存在设备节点时,driver部分的of_match_table中的compatible属性试图去匹配i2c_client(device部分)的.driver.name属性.
因为设备树的默认规则,compatible属性一般形式为"vender_id,product_id",当compatible全字符串匹配不成功时,取product_id部分再进行匹配,这一部分主要是兼容之前的不支持设备树的版本。
acpi匹配方式较为少用且较为复杂,这里暂且不做详细讨论
id_table匹配方式中,这种匹配方式一目了然,就是对id_table(driver部分)中的.name属性和i2c_client(device部分)的.name属性进行匹配。那么i2c_client的.name是怎么来的呢?
在非设备树的匹配方式中,i2c_client的.name属性由驱动开发者指定,而在设备树中,i2c_client由系统对设备树进行解析而来,i2c_client的name属性为设备树compatible属性"vender_id,product_id"中的"product_id",所以,在进行匹配时,默认情况下并不会严格地要求 of_match_table中的compatible属性和设备树中compatible属性完全匹配,driver中.drv.name属性和.id.name属性也可以与设备树中的"product_id"进行匹配。
关于linux i2c总线的初始化以及运行机制的讨论就到此为止啦
xfs文件系统:layout与架构、源码分析
本文由腾讯工程师aurelian撰写,深入解析Linux内核中xfs文件系统的layout与架构,结合源码剖析其工作原理。首先,xfs的layout包括超级块、AGF管理(空闲空间追踪)、AGI管理(inode管理)、AGFL(空闲链表)以及B+树结构等组成部分,每个部分都有其特定功能,如超级块用于存储关键信息,B+树用于快速查找空间。
在文件操作方面,xfs支持iops、fops和aops三个操作集,分别负责inode元数据、内存级读写和磁盘级读写。创建文件时,会检查quota并预留空间,通过一系列函数如xfs_trans_reserve_quota和xfs_dir_ialloc进行操作。分配inode时,会依据agi信息和ag的空闲情况动态分配,并通过xfs_iget确保inode在核心内存中可用。
磁盘级inode分配涉及agi信息的获取和B+树的查找,xfs_ialloc_ag_alloc会根据空闲inode情况完成连续或非连续的分配。写操作涉及内存和磁盘级别,buffer io通过page cache管理,直接io和DAX write则有特定的处理方式。xfs的映射关系和data区域树管理对于高效读写至关重要。
工具方面,mkfs.xfs用于格式化,xfs_fsr、xfs_bmap、xfs_info等用于维护和监控文件系统,xfs_admin和xfs_copy用于系统参数调整和数据复制,xfs_db则是用于调试的工具。希望本文能帮助读者理解xfs的复杂性,如需了解更多详情,可关注鹅厂架构师公众号。
linux设备驱动程序——设备树(0)-dtb格式
设备树的一般操作方式是:开发人员根据开发需求编写dts文件,然后使用dtc将dts编译成dtb文件。
dts文件是文本格式的文件,而dtb是二进制文件,在linux启动时被加载到内存中,接下来我们需要来分析设备树dtb文件的格式。
为什么要了解设备树dtb文件的格式
dtb作为二进制文件被加载到内存中,然后由内核读取并进行解析,如果对dtb文件的格式不了解,那么在看设备树解析相关的内核代码时将会寸步难行,而阅读源代码才是了解设备树最好的方式,所以,如果需要更透彻的了解设备树解析的细节,第一步就是需要了解设备树的格式。
dtb格式总览
dtb的格式是这样的:
dtb header
但凡涉及到数据的记录,就一定会有一个总的描述部分,就像磁盘的超级块,书的目录,dtb当然也不例外,这个描述头部就是dtb的header部分,通过这个header部分,用户可以快速地了解到整个dtb的大致信息。
header可以用这么一个结构体来描述:
magic
设备树的魔数,魔数其实就是一个用于识别的数字,表示设备树的开始,linux dtb的魔数为 0xddfeed.
totalsize
这个设备树的size,也可以理解为所占用的实际内存空间。
off_dt_struct
offset to dt_struct,表示整个dtb中structure部分所在内存相对头部的偏移地址
off_dt_strings
offset to dt_string,表示整个dtb中string部分所在内存相对头部的偏移地址
off_mem_rsvmap
offset to memory reserve map,dtb中memory reserve map所在内存相对头部的偏移地址,
version
设备树的版本,截至目前的最新版本为.
last_comp_version
最新的兼容版本
boot_cpuid_phys
这部分仅在版本2中存在,后续版本不再使用。
size_dt_strings
表示整个dtb中string部分的大小
size_dt_struct
表示整个dtb中struct部分的大小
alignment gap
中间的alignment gap部分表示对齐间隙,它并非是必须的,它是否被提供以及大小由具体的平台对数据对齐和的要求以及数据是否已经对齐来决定。
memory reserve map
memory reserve map:描述保留的内存部分,这个map的数据结构是这样的:
这部分存储了此结构的列表,整个部分的结尾由一个数据为0的结构来表示(即physical_address和size都为0,总共字节)。
这一部分的数据并非是节点中的memory子节点,而是在设备开始之前(也就是第一个花括号之前)定义的,例如:
这一部分的作用是告诉内核哪一些内存空间需要被保留而不应该被系统覆盖使用,因为在内核启动时常常需要动态申请大量的内存空间,只有提前进行注册,用户需要使用的内存才不会被系统征用而造成数据覆盖。
值得一提的是,对于设备树而言,即使不指定保留内存,系统也会默认为设备树保留相应的内存空间。
同时,这一部分需要位(8字节)对齐。
device-tree structure
device-tree structure:每个节点都会被描述为一个struct,节点之间可以嵌套,因此也会有嵌套的struct。
structure的的结构是这样的:
device-tree strings
device-tree strings:在dtb中有大量的重复字符串,比如"model","compatile"等等,为了节省空间,将这些字符串统一放在某个地址,需要使用的时候直接使用索引来查看。
需要注意的是,属性部分格式为key = value,key部分被放置在strings部分,而value部分的字符串并不会放在这一部分,而是直接放在structure中。
dtb文件解析示例
光说不练假把式,下面我就使用一个简单的示例来剖析dtb的文件格式。
下述示例仅仅是一个演示demo,不针对任何平台,为了演示方便,编写了一个非常简单的dts文件。 /dts-v1/; / {
编译当前dts文件,获取对应的dtb文件。
鉴于dtb文件为二进制文件,普通编辑器打开显示乱码,我们使用ultraEdit查看,它将数据以进制形式显示:
整个dtb文件还是比较简单的,图中的红色框出的部分为header部分的数据,可以看到:
整个头部为字节,进制为0x,从头部信息中off_mem_rsvmap部分可以得到,reserve memory起始地址为0x,上文中提到,这一部分使用一个字节的struct来描述,以一个全为0的struct结尾。
后字节全为0,可以看出,这里并没有设置reserve memory。
structure 部分
上文回顾:每一个属性都是以 key = value的形式来描述,value部分可选。
偏移地址来到0x(0x+0x),接下来8个字节为,根据上述structure中的描述,这是OF_DT_PROP,即标示属性的开始。
接下来4字节为,表明该属性的value部分size为字节。
接下来4字节是当前属性的key在string 部分的偏移地址,这里是,由头部信息中off_dt_strings可以得到,string部分的开始为,偏移地址为0,所以对应字符串为"compatible".
之后就是value部分,这部分的数据是字符串,可以直接从右侧栏看出,总共字节的字符串"hd,test_dts", "hd,test_xxx",因为字符串之间以0结尾,所以程序可以识别出这是两个字符串。
可以看出,到这里,compatible = "hd,test_dts", "hd,test_xxx";这个属性就被描述完了,对于属性的描述还是非常简单的。
按照固有的规律,接下来就是对#address-cells = <0x1>的解析,然后是#size-cells = <0x1>...
然后就是递归的子节点chosen,memory@等等都是按照上文中提到的structure解析规则来进行解析,最后以结尾。
与根节点不同的是,子节点有一个unit name,即chosen,memory@这些名称,并非节点中的.name属性。
而整个结构的结束由来描述。
一般而言,在位系统中,dtc在编译dts文件时会自动考虑对齐问题,所以对于设备树的对齐字节,我们只需要有所了解即可,并不会常接触到。
好了,关于linux设备树dtb文件格式的讨论就到此为止啦。
0ÃD1,0Ã,0Ã,0Ã,0ÃFF0C
èå±"ç硬件åå å解å³
"èå±"ç°è±¡å¤åå å大å°ãCPUé¢çãå 驱ã硬çç¢çççå ³ç³»å¯å......å¨è®¡ç®æºç使ç¨è¿ç¨ä¸ï¼ç»å¸¸ä¼éå°èå±çæ åµã对äºåå¦è æ¥è®²ï¼å¥½è±¡å°±æ¯ä¸åºçµèç¾é¾ä¸æ ·ï¼ä¸ç¥ææªãå ¶å®åªè¦äºè§£äºåå ä¹åå°±ä¸ç¨æäºãé æ计ç®æºèå±çåå æå¾å¤ç§ï¼ç¡¬ä»¶æ¹é¢çåå æ»ä½å¯ä»¥æ¦æ¬ä¸ºä»¥ä¸å ç§ï¼
ä¸ãå±å¹æ¾ç¤ºç³»ç»å¿ï¼è¯·æä»»æé®ç»§ç»â¦â¦
1ãèæå åä¸è¶³é æç³»ç»å¤ä»»å¡è¿ç®é误
èæå åæ¯WINDOWSç³»ç»æç¹æçä¸ç§è§£å³ç³»ç»èµæºä¸è¶³çæ¹æ³ï¼å ¶ä¸è¬è¦æ±ä¸»å¼å¯¼åºç硬çå©ä½ç©ºé´æ¯å ¶ç©çå åç2-3åãèä¸äºåç§å为äºå åå©ç¨ç©ºé´ï¼å°èªå·±ç硬çå¡å°æ»¡æ»¡çï¼å¿è®°äºWINDOWSè¿ä¸ªèå»çè¦æ±ãç»æ导è´èæå åå 硬ç空é´ä¸è¶³èåºç°è¿ç®é误ï¼æ以就åºç°èå±ãè¦è§£å³è¿ä¸ªé®é¢å¥½ç®åï¼å°½éä¸è¦æ硬çå¡å¾æ»¡æ»¡çï¼è¦ç»å¸¸å é¤ä¸äºç³»ç»äº§çç临æ¶æ件ã交æ¢æ件ï¼ä»èå¯ä»¥éæ¾ç©ºé´ãæå¯ä»¥æå¨é ç½®èæå åï¼éæ©é«çº§ï¼æèæå åçé»è®¤å°åï¼è½¬å°å ¶ä»çé»è¾çä¸ãè¿æ ·å°±å¯ä»¥é¿å äºå èæå åä¸è¶³èå¼èµ·çèå±ã
2ãCPUè¶ é¢å¯¼è´è¿ç®é误
è¶ é¢å¯¹äºåç§åæ¥è¯´æ¯å¸¸äºï¼æ以ç±è¶ é¢æå¼èµ·çåç§æ éä¹å°±å¨æé¾å äºãè¶ é¢ï¼å°±æ¬èº«èè¨å°±æ¯å¨åæçåºç¡ä¸å®ææ´é«çæ§è½ï¼ä½ç±äºè¿è¡äºè¶ è½½è¿ç®ï¼é æå ¶å é¨è¿ç®è¿å¤ï¼ä½¿CPUè¿çï¼ä»è导è´ç³»ç»è¿ç®é误ãæäºCPUçè¶ é¢æ§è½æ¯è¾å¥½ï¼å¦INTELçèµæ¬å¤çå¨åAMD-K6-2å¤çå¨è¿ç®è¾å¥½çï¼ä½ææ¶ä¹ä¼åºç°ä¸äºè«åå ¶å¦çé误ãï¼ä¾å¦ï¼ææ¾è¯è¿å°INTELèµæ¬Aï¼å¨è¶ é¢å°æ¶ï¼è½¯é©±å¨æ²¡ææ¥åå½ä»¤æ¶ï¼è¿è¡è¯»çæä½ï¼ãINTELçä½äºçCPU以åAMD-K5çè¶ é¢è½åå°±ä¸æ¯é£ä¹å¥½ã建议é«æ¡£çCPUè¦è¶ é¢æ¶ï¼é£ä¹æ£çå·¥ä½ä¸å®è¦å好ï¼æå¥½è£ ä¸ä¸ªå¤§çé£æï¼åå ä¸ä¸äºç¡ è¶ä¹ç±»çæ£çææãè³äºä¸äºä½æ¡£çCPUæå»ºè®®ä½ å°±æ好ä¸è¦è¶ é¢äºï¼å å¾è¶ é¢è¾¾ä¸å°é¢æ³çææåèç»å¸¸åºç°èå±å½±å计ç®æºçæ£å¸¸é度ã
äºãå åæ¡çäºä¸å ¼å®¹ææåå¼èµ·è¿ç®é误
è¿æ¶ä¸ªæç´è§çç°è±¡ï¼å 为è¿ä¸ªç°è±¡å¾å¾å¨ä¸å¼æºçæ¶åå°±å¯ä»¥è§å°ï¼æ ¹æ¬å¯å¨ä¸äºè®¡ç®æºï¼ç»é¢æ示åºå åæé®é¢ï¼é®ä½ æ¯å¦è¦ç»§ç»ãé æè¿ç§é误æ¯ç©çä¸çæåå åæè å åä¸å ¶å®ç¡¬ä»¶ä¸å ¼å®¹æè´ãè¿æ¶ååªææ¢è¿å¦å¤çå åäºã
ä¸ãå 驱å¨è¯»çæ¶è¢«éæ£å¸¸æå¼æè³
è¿ä¸ªç°è±¡æ¯å¨å 驱æ£å¨è¯»åæ°æ®æ¶ï¼ç±äºè¢«è¯¯æä½æå¼è导è´åºç°èå±ãè¿ä¸ªé®é¢ä¸å½±åç³»ç»æ£å¸¸å¨ä½ï¼åªè¦åå¼¹å ¥å çææESCé®å°±å¯ä»¥ã
以ä¸æ¯æå¨ç»´æ¤è®¡ç®æºä¸ç¢°å°å¯¼è´èå±çå ç§åå ï¼æ许è¿ä¼æå ¶ä»ä¸äºè«åå ¶å¦çé®é¢å¯¼è´è®¡ç®æºåºç°èå±ãä¸ç®¡ææ ·ï¼éå°è¿ç±»é®é¢åï¼åºå ä»ç»åæé®é¢åççåå ï¼ç¶ååçæ解å³ã
åã硬件å©ä½ç©ºé´å¤ªå°æç¢ç太å¤
ç±äºWin9Xè¿è¡æ¶éè¦ç¨ç¡¬çä½èæå åï¼è¿å°±è¦æ±ç¡¬çå¿ é¡»ä¿çä¸å®çèªç±ç©ºé´ä»¥ä¿è¯ç¨åºçæ£å¸¸è¿è¡ãä¸è¬èè¨ï¼æä½åºä¿è¯MB以ä¸ç空é´ï¼å¦ååºç°âèå±âå¾å¯è½ä¸ç¡¬çå©ä½ç©ºé´å¤ªå°æå ³ãå¦å¤ï¼ç¡¬ççç¢ç太å¤ï¼ä¹å®¹æ导è´âèå±âçåºç°ãå æ¤ï¼æ¯éä¸æ®µæ¶é´è¿è¡ä¸æ¬¡ç¢çæ´çæ¯å¿ è¦çã
äºãç³»ç»ç¡¬ä»¶å²çª
è¿ç§ç°è±¡å¯¼è´âèå±âä¹æ¯è¾å¸¸è§ãå®è·µä¸ç»å¸¸éå°çæ¯å£°å¡ææ¾ç¤ºå¡ç设置å²çªãå¨âæ§å¶é¢æ¿âââç³»ç»âââ设å¤ç®¡çâä¸æ£æ¥æ¯å¦åå¨å¸¦æé»è²é®å·ææå¹å·ç设å¤ï¼å¦åå¨å¯è¯çå å°å ¶å é¤ï¼å¹¶éæ°å¯å¨çµèï¼ç±Win9Xèªå¨è°æ´ï¼ä¸è¬å¯ä»¥è§£å³é®é¢ãè¥è¿ä¸è¡ï¼å¯æå·¥è¿è¡è°æ´æå级ç¸åºç驱å¨ç¨åºã
"èå±"ç软件åå å解å³
ä¸ç¡¬ä»¶å¯åèç³»çæ¯è½¯ä»¶ï¼ææ¶è½¯ä»¶å¨"èå±"ç°è±¡ä¸ä¹"åä¸å¯æ²¡"ï¼å è½½äºè¿å¤çç¨åºã注å表æé®é¢ã软硬ä¸å ¼å®¹ã驱å¨ç¨åºæé®é¢ï¼ç¸å¯¹äºç¡¬ä»¶åå æ¥è¯´è¦ä¸æå¯è§äºï¼å¯è¦å¤å 注æ.........
ä¸ãå¯å¨æ¶å è½½ç¨åºè¿å¤
ä¸è¦å¨å¯å¨æ¶å è½½è¿å¤çåºç¨ç¨åºï¼å°¤å ¶æ¯ä½ çå åå°äºMBï¼ï¼ä»¥å 使系ç»èµæºæ¶èæ®å°½ãæ£å¸¸æ åµä¸ï¼Win9Xå¯å¨åç³»ç»èµæºåºä¸ä½äº%ãæ好维æå¨%以ä¸ï¼è¥å¯å¨åæªè¿è¡ä»»ä½ç¨åºå°±ä½äº%ï¼å°±éè¦å¸æä¸é¨ååºç¨ç¨åºï¼å¦åå°±å¯è½åºç°âèå±âã
äºãåºç¨ç¨åºåå¨çBUG
æäºåºç¨ç¨åºè®¾è®¡ä¸åå¨ç缺é·æé误ï¼è¿è¡æ¶æå¯è½ä¸Win9Xåçå²çªæäºå¤ºèµæºï¼é æWin9Xæ æ³ä¸ºå ¶åé å åå°åæéå°å ¶ä¿æ¤æ§é误ãè¿ç§BUGå¯è½æ¯æ æ³é¢ç¥çï¼å 费软件æ为常è§ãå¦å¤ï¼ç±äºä¸äºç¨æ·è¿å¨ä½¿ç¨çç软件ï¼å æ¬ççWin9Xï¼ï¼è¿äºçç软件å¨è§£å¯è¿ç¨ä¸ä¼ç ´åå丢失é¨åæºä»£ç ï¼ä½¿è½¯ä»¶ååä¸ç¨³å®ï¼ä¸å¯é ï¼ä¹å¸¸å¸¸å¯¼è´âèå±âã
ä¸ãéå°ä¸æçç¨åºæç æ¯æ»å»æè³
è¿ä¸ªç°è±¡åªè¦æ¯å¹³æ¶æ们å¨ä¸ç½çæ¶åéå°çï¼å½æ们å¨å²æµªçæ¶åï¼ç¹å«æ¯è¿å°ä¸äºBBSç«æ¶ï¼å¯è½æ´é²äºèªå·±çIPï¼è¢«"é»å®¢"ç¨ä¸äºè½¯ä»¶æ»å»æè³ã对äºè¿ç§æ åµæ好就æ¯å¨èªå·±ç计ç®æºä¸å®è£ ä¸äºé²å¾¡è½¯ä»¶ãåæå°±æ¯ç»å½BBSè¦è¿è¡å®å ¨è®¾ç½®ï¼éèèªå·±IPã
åãçæ¬å²çª
æäºåºç¨ç¨åºéè°ç¨ç¹å®çæ¬çå¨æé¾æ¥åºDLLï¼å¦æå¨å®è£ 软件æ¶ï¼æ§çæ¬çDLLè¦çäºæ°çæ¬çDLLï¼æè å é¤åºç¨ç¨åºæ¶ï¼è¯¯å äºæç¨çDLLæ件ï¼å°±å¯è½ä½¿ä¸è¿°è°ç¨å¤±è´¥ï¼ä»èåºç°âèå±âãä¸å¦¨éæ°å®è£ è¯ä¸è¯ã
äºã注å表ä¸åå¨é误ææå
å¾å¤æ åµä¸è¿æ¯åºç°âèå±âç主è¦åå ã注å表ä¿åçWin9Xç硬件é ç½®ãåºç¨ç¨åºè®¾ç½®åç¨æ·èµæçéè¦æ°æ®ï¼å¦æ注å表åºç°é误æ被æåï¼å°±å¾å¯è½åºç°âèå±âãå¦æä½ ççµèç»å¸¸åºç°âèå±âï¼ä½ é¦å å°±åºèèæ¯æ³¨å表åºç°äºé®é¢ï¼åºåæ¶å¯¹å ¶æ£æµãä¿®å¤ï¼é¿å æ´å¤§çæ失ã
å ã软硬件ä¸å ¼å®¹
æ°ææ¯ãæ°ç¡¬ä»¶çåå±å¾å¿«ï¼å¦æå®è£ äºæ°ç硬件常常åºç°âèå±âï¼é£å¤åä¸ä¸»æ¿çBIOSæ驱å¨ç¨åºå¤ªæ§æå ³ï¼ä»¥è´ä¸è½å¾å¥½æ¯æ硬件ãå¦æä½ ç主æ¿æ¯æBIOSå级ï¼åºå°½å¿«å级å°ææ°çæ¬æå®è£ ææ°ç设å¤é©±å¨ç¨åºã
Windows "èå±"åæä¸è§£å³ç¯
Winä¹è®¸å¯ä»¥è¯´å¾ä¸æ¯ä¸ä¸ªåæ¶ä»£çæä½ç³»ç»ï¼ä½æ¯å®ä»ç¶ä¸è½å¤é¿å èå±æ»æºï¼Blue Screen of Deathï¼é®é¢ï¼Winç"èå±"(BSOD)åNT4以åç"èå±"æ¶æ¯æ¯å®å ¨ä¸åçãæ大çä¸åå°±æ¯NTä¸çBSODåªå å«ä¸ä¸ªéç¨çåæ¢æ¶æ¯ç±»å(å°±æ¯å®é çåºé代ç ), ä½æ¯WinçBSODå å«æ两ç§æ¶æ¯ç±»åï¼åæ¢æ¶æ¯å硬件æ¶æ¯ãåæ¢æ¶æ¯æ¯æï¼å½winçå æ ¸åç°ä¸ä¸ªå®ä¸è½å¤æ¢å¤ç软件é误æ¶å产ççé误æ¶æ¯ï¼å®å为ï¼å¸¸è§åæ¢æ¶æ¯ãå®è£ åæ¢æ¶æ¯ãå¯æ§è¡ç¨åºå®è£ åæ¢æ¶æ¯ã软件é·é±åæ¢æ¶æ¯åç§ç±»å......é对Windowsçèå±ï¼å¨ä¸è¿°æ¦æ¬çç°è±¡ä¸å¯¹çåºç¡ä¸ï¼æ们å两æ¹é¢æ¥åæï¼
Windows ä¸èå±æ»æºä¹åæ¢ä¿¡æ¯åæ
ç®ä»ï¼ä»ä¹æ¯èå±æ»æºï¼BSODï¼é®é¢ï¼
BSODå°±æ¯æ¾ç¤ºå¨èè²å±å¹èæ¯ä¸çåºéä¿¡æ¯ãä¸è¬è¿ç§åºéä¿¡æ¯ä¸¥éå°ä½ çæ´ä¸ªæä½ç³»ç»å½æºï¼ä½ åªæéæ°å·å¯å¨çéæ©ã
å¨æBSOD
BSODå¯ä»¥åæç¬ç«çå é¨åï¼æ¯é¨åå å«ææä»·å¼çé误å¤çä¿¡æ¯ãè¿å é¨åå æ¬ï¼
1ãbugæ£æ¥é¨åï¼è¿æ¯BSODä¸å å«å®é åºéæ¶æ¯çä½ç½®ãå¨è¿é¨åä¸ï¼ä½ åºè¯¥æ³¨æçæ¯åºé代ç ï¼å°±æ¯å¨åè¯âStopâåé¢çåå è¿å¶æ°åï¼åé误符å·ï¼å°±æ¯ç´§è·å¨åºé代ç åçåè¯ï¼
2ãæ¨èç¨æ·éåè¡å¨é¨åï¼è¿é¨åç»å¸¸å å«ä¸äºä¸è¬çæå¯¼ä½ å¦ä½çº æ£é误çæ¥éª¤çæ¶æ¯ã
3ãè°è¯ç«¯å£ä¿¡æ¯é¨åï¼è¿é¨åå å«æä½ åºè¯¥å¦ä½è®¾ç½®ä½ çå æ ¸è°è¯å¨çä¿¡æ¯ãå æ ¸è°è¯å¨æ¯è®©ä½ å¯ä»¥éè¿æå·¥è¿æ¥å°è®¡ç®æºå¹¶å¯¹è¿ç¨è¿è¡è°è¯çå·¥å ·ã
ä¸é¢æ¯ä¸ä¸ªå ·ä½çBSODä¾åï¼
*** Stop: 0xE (0xFAA, 0X, 0X)
KMODE_EXCEPTION_NOT_HANDLED
*** Address FAA base at fA, DateStamp ef8d - wdmaud.sys
If this is the first time you've seen this Stop error screen, restart your computer.
If this screen appears again, follow these steps:
Check to be sure you have adequate disk space. If a driver is identified in the
Stop message, disable the driver or check with the manufacturer for driver updates.
Try changing video adapters.
Check with your hardware vendor for any BIOS updates. Disable BIOS memory options
such as caching or shadowing. If you need to use Safe Mode to remove or disable
components, restart your computer, press F8 to select Advanced Startup Options,
and then select Safe Mode.
Refer to your Getting Started manual for more information on troubleshooting Stop errors.
Kernel Debugger Using: COM2 (Port 0x2f8, Baud Rate )
Beginning dump of physical memory
Physical memory dump complete. Contact your system administrator or technical support group.
æ ¹æ®è¿ä¸ªå ·ä½çä¾åï¼æç §ä¸é¢å¨æçBSODå个é¨åï¼ä¸é¢ä¸ä¸ä»ç»ï¼
bugæ£æ¥é¨åï¼
è¿æ¯BSODä¸å å«å®é åºéæ¶æ¯çä½ç½®ãå®çä¸å»å°±æ¯ä¸é¢ç代ç ï¼
*** Stop: 0xE (0xFAA, 0X, 0X)
KMODE_EXCEPTION_NOT_HANDLED *** Address FAA base at fA, DateStamp ef8d - wdmaud.sys
å ¶ä¸é误代ç æ¯ä¸ä¸ªç´§è·å¨Stopåé¢çåå è¿å¶æ°ï¼å¨è¿éé¢å®ç±å ¶å®å个æ°åç»æã
èé误符å·æ¯æç´§éå ¶åçKMODE_EXCEPTION_NOT_HANDLED.
å¨ä¸äºBSODåºéä¿¡æ¯ä¸ï¼ä¸ä¸ªå åä½ç½®åæ件ååºç°å¨é误符å·çåé¢ãè¿ä¸ªä¿¡æ¯åè¯äºå½é误åççæ¶åå¨å åä¸çä½ç½®ååªä¸ªæ件导è´äºé误çåçãå½ç¶ä½ æ¯å¦è½å¤çå°è¯¥ä¿¡æ¯æ¯ç±åªç§åæ¢æ¶æ¯ç±»åæ¥å³å®çãå¨ä¸äºå®é è¿ç¨ä¸ï¼ä½ åªè½å¤çå°ä¸é¢ç第ä¸è¡ãèè¿éé常æ¯è¡¨ç¤ºç±æ¾ç¤ºæå¡ä¸å¯¼è´çé®é¢ã æ¨èç¨æ·éåè¡å¨é¨åï¼
å¨ä¸é¢çä¾åä¸æ¨èç¨æ·éåè¡å¨é¨åå¦ä¸ï¼
If this is the first time you've seen this Stop error screen, restart your computer. If this screen appears again, follow these steps:
Check to be sure you have adequate disk space. If a driver is identified in the Stop message, disable the driver or check with the manufacturer for driver updates. Try changing video adapters.
Check with your hardware vendor for any BIOS updates. Disable BIOS memory options such as caching or shadowing. If you need to use Safe Mode to remove or disable components, restart your computer, press F8 to select Advanced Startup Options, and then select Safe Mode.
Refer to your Getting Started manual for more information on troubleshooting Stop errors.
æ¨èç¨æ·éåè¡å¨é¨åé常æ¯æ¨èç¨æ·å¨éå°äºåºéä¿¡æ¯ååºè¯¥éåç解å³æ¥éª¤ãå¨æ¶æ¯ä¸å¯ä»¥çå°ï¼è§£å³ä¸ä¸ªBSODä¹è®¸åªè¦éæ°å¯å¨æåæ´çåºè¶³å¤å¤§çå©ä½ç©ºé´å°±è½å¤è§£å³äºã尽管è¿æ ·çæ¹æ³å¶å°ä¼èµ·å°ä½ç¨ï¼ä½æ¯å®é ä¸è¦è§£å³BSODç»å¸¸è¦è¿è¿å¤æå¾å¤ã
è°è¯ç«¯å£ä¿¡æ¯é¨åï¼
è¿é¨åå å«æä½ åºè¯¥å¦ä½è®¾ç½®ä½ çå æ ¸è°è¯å¨çä¿¡æ¯ãæä¼å¨ä»¥åçç½ç«éé¢è¯¦ç»ä»ç»ä»ä¹æ¯çå æ ¸è°è¯å¨ãå¨ä¸é¢çä¾åä¸ï¼è¿é¨åå 容æ¯ï¼
Kernel Debugger Using: COM2 (Port 0x2f8, Baud Rate )
Beginning dump of physical memory Physical memory dump complete. Contact your system administrator or technical support group.
åæ¢ä¿¡æ¯çåç§ç±»å
å½ç¨åºæå驱å¨ç¨åºåçäºä¸ä¸ªä¸è½å¤æ§å¶çé误æ¶æ¯æåè¯å¾æ§è¡ä¸ä¸ªéæ³æ令æ¶ï¼ç³»ç»å°±ä¼åçåæ¢åºéä¿¡æ¯ãèè¿ç§ä¿¡æ¯é常ç±åç§ç±»åç»æã
1ã常è§åæ¢æ¶æ¯ï¼å¨æ£å¸¸ç使ç¨winæ¶åççåæ¢æ¶æ¯
常è§åæ¢æ¶æ¯é常æ¯æé¾è§£å³çåºéä¿¡æ¯ï¼å 为æå¯è½ææ æ°çåå è½å¤å¯¼è´é误çåçã
2ãå®è£ åæ¢æ¶æ¯ï¼å¨å®è£ winè¿ç¨ä¸çåæ¢æ¶æ¯ï¼é常ç±ä½ çç³»ç»ä¸åå¨åä¸å ¼å®¹ç硬件设å¤å¼èµ·çã
解å³åæ³æ¯ä½ æ¥çç³»ç»ä¸ç硬件设å¤ï¼æ¾å°æ²¡æååºå¨å ¼å®¹å表ä¸ç设å¤ãç¶ååä½ ç硬件设å¤ååèç³»çä»ä»¬æ¯å¦è½å¤ç»ä½ æä¾è¯¥è®¾å¤ç驱å¨ç¨åºãå¦æä»ä»¬ä¸è½ï¼é£ä½ åªå¥½ä»ä½ çç³»ç»ä¸å é¤è¯¥è®¾å¤ï¼å¹¶ç¨å ¶å®çå¯ä»¥å ¼å®¹ç设å¤æ¿æ¢æã
å¦æä½ çææ硬件é½æ¯å ¼å®¹çï¼ä½ ä¹è®¸æ¯åå¨æ两个äºç¸å²çªç硬件设å¤ãè¦è§£å³è¿ä¸ªé®é¢ï¼å 移走任ä½ä¸æ¯å¿ è¦ç硬件设å¤ï¼ç¶åéæ°è£ è½½ï¼ä¸æ¦è£ è½½æååï¼æææ移走ç设å¤å ¨é¨éæ°å å ¥å°ç³»ç»ä¸ãè¿æ ·åï¼é常è½å¤è§£å³è¿ä¸ªé®é¢ï¼è³å°è½å¤åè¯ä½ åªäºç¡¬ä»¶æ¯æå²çªçã
3ãå¯æ§è¡ç¨åºå®è£ åæ¢æ¶æ¯ï¼è¡¨ç¤ºåçå¨å®è£ è¿ç¨ä¸ç¬¬4个é¶æ®µï¼æ§è¡ç¨åºé¨åï¼çåæ¢æ¶æ¯ã
å®è£ å¨å¯æ§è¡ç¨åºçå®è£ è¿ç¨ä¸æ两个é¶æ®µã第ä¸ä¸ªé¶æ®µæ¯ç¦æ¢ç¡¬ä»¶ä¸æåæ¶è£ è½½ä¸äºåºæ¬çç»ä»¶ï¼ä¾å¦ç¡¬ä»¶æåå±ã第äºä¸ªé¶æ®µæ¯åå§åä½ ç³»ç»ä¸ææç硬件ãå¦æä½ å¨å®è£ ç¨åºå°äºè¿ä¸ªé¶æ®µçæ¶åæ¶å°äºåæ¢æ¶æ¯é误ãéè¦å次è¿è¡è¯æç¨åºï¼æ¥å¤æä½ ç硬件æ¯å¦é½å·¥ä½æ£å¸¸ãç¶åéæ°å®è£ ãå¦æä½ ä»ç¶éå°è¿ä¸ªåºéæ¶æ¯ï¼é£ä¹å°±éè¦å微软ææ¯æ¯æé¨æ交éäºã
4ã软件é·é±åæ¢æ¶æ¯ï¼ç±äºè½¯ä»¶ä¸çé误é·é±å¹¶ä¸å½ç¨åºè¯å¾æ§è¡ä¸ä¸ªéæ³æ令çæ¶ååççåæ¢æ¶æ¯ã
ç±äºè½¯ä»¶ä¸çé误é·é±å¹¶ä¸å½ç¨åºè¯å¾æ§è¡ä¸ä¸ªéæ³æ令çæ¶ååççåæ¢æ¶æ¯ãä¾å¦ï¼ç¨åºè¯å¾åä¸ä¸ªæ¬æ¥æ¯ä¿åæ°åçåéåå符串çæ¶åï¼è¿ä¸ªé误就æå¯è½åçãå¦æä½ éå°äºè¿ç§ç±»åçé误ï¼éè¦è®°ä¸åºéä¿¡æ¯ï¼æ¯ä»ä¹è½¯ä»¶å¯¼è´äºé误ï¼ä¸è¬è¿äºè½¯ä»¶é½ææ°ççæ¬æ¥çº æ£è¿äºé误çã
å½ä½ éå°äºåæ¢æ¶æ¯æ¶åå¯è½éè¦ç解å³é®é¢çæ¥éª¤ï¼
é¦å å¤æä½ æè¿æ¯ä¸æ¯å¨ç³»ç»ä¸æä»»ä½çåå¨ãå¦æä½ æï¼é£ä¹è¿äºåå¨ç»å¸¸æ¯é®é¢äº§ççæ ¹æºãè¯å¾å é¤æè 移走æ°ç硬件æ软件ï¼çæ¯å¦è½å¤è§£å³é®é¢ãæ£æ¥ç³»ç»ä¸ç硬件ï¼æ好å¦ææ硬件æ£æµç¨åºçè¯ï¼å¯ä»¥è¿è¡è¯¥ç¨åºè¿è¡æ£æµï¼åæ¶éæ°ææ¾ä½ çå åå¡åæ©å±å¡ã
å¦æä½ çåæ¢ä¿¡æ¯æ¯åçå¨å¯å¨ä¸æåå¯å¨çè¿ç¨ä¸ï¼é£ä¹è¿æå¯è½æ¯ä½ çæ个æå¡æå设å¤é©±å¨ç¨åºä¸çé®é¢ãå¯ä»¥å°è¯å°æºå¨å¯å¨å°å®å ¨æ¨¡å¼ãå¦æä½ çç³»ç»è½å¤å¯å¨æåå®å ¨æ¨¡å¼ï¼é£ä¹è¡¨ç¤ºä½ ççæµæ¯æ£ç¡®çã
åæ¶è¦ç¡®ä¿ä½ çé²ç æ¯ç¨åºæ¯è®¾è®¡æåwinå ¼å®¹çï¼å¹¶ä¸éæ¶ä¿ææ´æ°ãå¦æé误ä»ç¶åçï¼é£ä¹è¿å ¥ä½ çCMOS设置ï¼ç¦æ¢æBIOSä¸ç象ç¼åæåshadowä¹ç±»çé项ï¼ç¶åéæ°å¯å¨ã
Windows èå±æ»æºä¹STOP对"ç"ä¸è¯
ä»ç论ä¸è®²ï¼çº¯ä½çWindows æ¯ä¸ä¼åºç°æ»æºçï¼ä½æ¯è¿ä» ä» æ¯ç论ä¸ãç æ¯æ硬件å硬件驱å¨ç¨åºä¸å¹é çåå å°é æWindowsçå´©æºï¼å½Windows åºç°æ»æºæ¶ï¼æ¾ç¤ºå¨å±å¹å°å为èè²ï¼ç¶ååºç°STOPæ éæ示信æ¯ãä¸é¢æ们åå«ä»ç»éç¨çSTOPæ éå¤çæ¹æ³åç¹æ®çSTOPæ éæé¤ã
éç¨STOPæ éå¤ç
1.é¦å 使ç¨æ°çææ¯è½¯ä»¶æ£æ¥è®¡ç®æºä¸æ¯å¦æç æ¯ã
2.å¦æWindows å¯ä»¥å¯å¨ï¼è¯·æ£æ¥âäºä»¶æ¥çå¨âä¸çä¿¡æ¯ï¼ä»¥ç¡®å®å¯¼è´æ éç设å¤æ驱å¨ç¨åºãå¯å¨âäºä»¶æ¥çå¨âçæ¹æ³æ¯ï¼âå¼å§â\â设置â\âæ§å¶é¢æ¿â\â管çå·¥å ·â\âäºä»¶æ¥çå¨â\âç³»ç»æ¥å¿âã
3.å¦æä¸è½å¯å¨è®¡ç®æºï¼è¯çç¨âå®å ¨æ¨¡å¼âæâæåä¸æ¬¡æ£ç¡®çé ç½®âå¯å¨è®¡ç®æºï¼ç¶åå é¤æç¦ç¨æ°å®è£ çéå ç¨åºæ驱å¨ç¨åºãå¦æç¨âå®å ¨æ¨¡å¼âå¯å¨ä¸äºè®¡ç®æºï¼å¯ä½¿ç¨ä¿®å¤æ§å¶å°ãä¿®å¤æ§å¶å°å¯ä»¥ç¦ç¨ä¸äºæå¡ãéæ°å½å设å¤é©±å¨ç¨åºãæ£ä¿®å¼å¯¼æåºæ主å¼å¯¼è®°å½ã
4.æä¸æ°å®è£ ç硬件设å¤ï¼RAMãéé å¡ã硬çãè°å¶è§£è°å¨ççï¼ã
5.ç¡®ä¿å·²ç»æ´æ°äºç¡¬ä»¶è®¾å¤ç驱å¨ç¨åºï¼ä»¥åç³»ç»æææ°çBIOSã
6.è¿è¡ç±è®¡ç®æºå¶é åæä¾çç³»ç»è¯æå·¥å ·ï¼å°¤å ¶æ¯å åæ£æ¥ã
7.æ£æ¥Microsoftå ¼å®¹ç¡¬ä»¶å表ï¼HCLï¼ï¼ç¡®ä¿ææç硬件å驱å¨ç¨åºé½ä¸Windowså ¼å®¹ãHcl.txtå¨Windows CD-ROMç\Supportæ件夹ä¸ã
8.å¨BIOSä¸ç¦ç¨å åç¼ååè½ã
9.éæ°å¯å¨è®¡ç®æºï¼å¨å¯å¨å±å¹å¤ï¼æF8è¿å ¥âé«çº§å¯å¨é项âï¼ç¶åéæ©âæåä¸æ¬¡æ£ç¡®çé ç½®âã(注:使ç¨âæåä¸æ¬¡æ£ç¡®çé ç½®âçæ¹å¼å¯å¨è®¡ç®æºï¼è®¡ç®æºçææ设置被é置为æåä¸æ¬¡æåå¯å¨æ¶çé ç½®ã)
.å¦æè½å¤è®¿é®Webï¼è¯·è¿å ¥/ntserver/ï¼åå»âSupportâ/âSearch Knowledge Baseâï¼å¨âType your keywords hereâå¤ï¼è¾å ¥âstopâåç¸åºçå·ç ï¼å¦åºç°STOPæ¶æ¯âstop:0xAâï¼å¯å¨æ¤è¾å ¥âstop0xAâï¼ï¼æEnteré®ï¼å°±å¯ä»¥æ¾åºæåºç°çSTOPé®é¢ç解å³æ¹æ³ãï¼Eæï¼
é¨åSTOP代ç
STOPæ¶æ¯ 0xAæ é(åå å ¥æ°è®¾å¤æ¶)
é常åå 驱å¨ç¨åºä½¿ç¨äºä¸æ£å¸¸çå åå°åã
1.å¨å®è£ è¿ç¨ä¸ï¼å±å¹ä¸æ示âå®è£ ç¨åºæ£å¨æ£æ¥è®¡ç®æºç¡¬ä»¶é ç½®âæ¶ï¼æF5,æ ¹æ®æ示éæ©åéç计ç®æºç±»åãä¾å¦ï¼å¦æ计ç®æºæ¯åå¤çå¨ï¼è¯·éæ©âæ åPCâã
2.å¨BIOSä¸ç¦ç¨å åç¼ååè½ã
3.æä¸ææéé å¡ï¼å¹¶æå¼ææä¸æ¯å¯å¨è®¡ç®æºæå¿ éç硬件设å¤ï¼åéæ°å®è£ Windowsã
4.å¦æç³»ç»é æSCSIéé å¡ï¼è¯·åéé å¡éå®åç´¢åææ°çWindows驱å¨ç¨åºï¼ç¦ç¨åæ¥åååè½ï¼æ£æ¥ç»ç»å¤´å设å¤çSCSI IDå·ã
5.å¦æç³»ç»é æIDE设å¤ï¼è®¾IDE端å£ä¸ºPrimaryãæ£æ¥IDE设å¤çMaster/Slave/Only设置ãé¤äºç¡¬çï¼æä¸å ¶å®ææçIDE设å¤ã
6.è¿è¡ç±è®¡ç®æºå¶é åæä¾çç³»ç»è¯æå·¥å ·ï¼å°¤å ¶æ¯å åæ£æ¥ã
7.æ£æ¥Microsoftå ¼å®¹ç¡¬ä»¶å表ï¼HCLï¼ï¼ç¡®ä¿ææç硬件å驱å¨ç¨åºé½ä¸Windowså ¼å®¹ã
8.éæ°å¯å¨è®¡ç®æºãå¨å¯å¨å±å¹å¤ï¼æF8è¿å ¥âé«çº§å¯å¨é项âï¼ç¶åéæ©âæåä¸æ¬¡æ£ç¡®çé ç½®âã
STOPæ¶æ¯ 0xEæ é
1.æ£æ¥æ¯å¦æå åçç£ç空é´ï¼å°¤å ¶æ¯æ°å®è£ ã
2.ç¦ç¨STOPæ¶æ¯ä¸æ¾ç¤ºç驱å¨ç¨åºåæææ°å®è£ ç驱å¨ç¨åºã
3.å¦ææ使ç¨çè§é¢é©±å¨ç¨åºä¸æ¯Microsoftæä¾çï¼è¯çåæ¢å°æ åVGA驱å¨ç¨åºæè ç±Winæ¯æçåéç驱å¨ç¨åºã
4.ç¡®ä¿ç³»ç»æææ°çBIOSã
5.éæ°å¯å¨è®¡ç®æºãå¨å¯å¨å±å¹å¤ï¼æF8è¿å ¥âé«çº§å¯å¨é项âï¼ç¶åéæ©âæåä¸æ¬¡æ£ç¡®çé ç½®âã
STOPæ¶æ¯ 0xå0xæ é
é常åå 严éç驱å¨å¨ç¢çãè¶ è½½çæ件I/Oã第ä¸æ¹ç驱å¨å¨éå软件æè ä¸äºé²ç æ¯è½¯ä»¶åºéã
1.ç¦ç¨ä¸äºé²ç æ¯è½¯ä»¶æè å¤ä»½ç¨åºï¼ç¦ç¨ææç¢çæ´çåºç¨ç¨åºã
2.è¿è¡CHKDSK /f æ£ä¿®ç¡¬ç驱å¨å¨ï¼ç¶åéæ°å¯å¨è®¡ç®æºã
3.éæ°å¯å¨è®¡ç®æºãå¨å¯å¨å±å¹å¤ï¼æF8è¿å ¥âé«çº§å¯å¨é项âï¼ç¶åéæ©âæåä¸æ¬¡æ£ç¡®çé ç½®âã
STOPæ¶æ¯ 0xEæ é
é常åå ç³»ç»å åä¸çå¥å¶æ ¡éªé误ã
1.è¿è¡ç±è®¡ç®æºå¶é åæä¾çç³»ç»è¯æå·¥å ·ï¼å°¤å ¶æ¯å åæ£æ¥ã
2.å¨BIOSä¸ç¦ç¨å åç¼ååè½ã
3.è¯çç¨âå®å ¨æ¨¡å¼âå¯å¨ãå¦æâå®å ¨æ¨¡å¼âå¯å¯å¨è®¡ç®æºï¼è¯çæ´æ¹ä¸ºæ åVGA驱å¨ç¨åºãå¦æè¿ä¸è½è§£å³é®é¢ï¼å¯è½é¡»è¦ç¨å¦å¤çè§é¢éé å¡ãâå ¼å®¹ç¡¬ä»¶å表âä¸ååºäºå ¼å®¹çè§é¢éé å¡ã
4.ç¡®ä¿å·²ç»æ´æ°äºç¡¬ä»¶è®¾å¤ç驱å¨ç¨åºï¼ä»¥åç³»ç»æææ°çBIOSã
5.æä¸ä¸äºæ°å®è£ ç硬件ï¼RAMãéé å¨ã硬çãè°å¶è§£è°å¨ççï¼ã
6.éæ°å¯å¨è®¡ç®æºãå¨å¯å¨å±å¹å¤ï¼æF8è¿å ¥âé«çº§å¯å¨é项âï¼ç¶åéæ©âæåä¸æ¬¡æ£ç¡®çé ç½®âã
STOPæ¶æ¯ 0xFæ é
é常åå 驱å¨ç¨åºæ²¡æ被å®å ¨æ¸ é¤ã
å é¤ä¸äºæ°å®è£ ç软件ï¼å æ¬å¤ä»½å·¥å ·æç£çå·¥å ·ï¼ä¾å¦ç¢çæ´çåé²ç æ¯è½¯ä»¶ã
STOPæ¶æ¯ 0xæ é
é常åå å¨å®¹ééç主驱å¨å¨ä¸åçé误ã
1.ç¨Windows å¼å¯¼è½¯çï¼ä»éåï¼ç¬¬äºä¸ªï¼ç³»ç»é©±å¨å¨å¯å¨è®¡ç®æºã
2.éæ°å¯å¨è®¡ç®æºãå¨å¯å¨å±å¹å¤ï¼æF8è¿å ¥âé«çº§å¯å¨é项âï¼ç¶åéæ©âæåä¸æ¬¡æ£ç¡®çé ç½®âã
STOPæ¶æ¯ 0xBæ é
é常åå å¨I/Oç³»ç»çåå§åè¿ç¨ä¸åºç°é®é¢ï¼é常æ¯å¼å¯¼é©±å¨å¨ææ件系ç»ï¼ã
1.æ£æ¥è®¡ç®æºä¸æ¯å¦æç æ¯ãè¿ä¸ªSTOPæ¶æ¯é常å¨å¼å¯¼æåºæç æ¯æ¶åºç°ã
2.使ç¨âä¿®å¤æ§å¶å°âæ¥ä¿®å¤é©±å¨å¨ã
3.æä¸æ°å®è£ ç硬ç驱å¨å¨ææ§å¶å¡ã
4.å¦æç³»ç»é æSCSIéé å¡ï¼è¯·åéé å¡éå®åç´¢åææ°çWindows驱å¨ç¨åºï¼ç¦ç¨åæ¥åååè½ï¼æ£æ¥ç»ç»å¤´å设å¤çSCSI IDå·ã
5.å¦æç³»ç»é æIDE设å¤ï¼è®¾IDE端å£ä¸ºPrimaryãæ£æ¥IDE设å¤çMaster/Slave/Only设置ãé¤äºç¡¬çï¼æä¸å ¶å®ææçIDE设å¤ã
6.è¿è¡CHKDSKãå¦æWindows ä¸è½å¯å¨CHKDSKï¼åå¿ é¡»æ硬çæä¸å¹¶è¿æ¥å°å¦ä¸ä¸ªWindowsç³»ç»ä¸ï¼ç¶åç¨CHKDSKå½ä»¤æ£æ¥è¯¥ç¡¬çã
7.éæ°å¯å¨è®¡ç®æºãå¨å¯å¨å±å¹å¤ï¼æF8è¿å ¥âé«çº§å¯å¨é项âï¼ç¶åéæ©âæåä¸æ¬¡æ£ç¡®çé ç½®âã
STOPæ¶æ¯ 0xFæ é
é常åå 硬件æ软件é®é¢;常è§çåå æ¯ç¡¬ä»¶å¤±æã
1.è¿è¡ç±è®¡ç®æºå¶é åæä¾çç³»ç»è¯æå·¥å ·ï¼å°¤å ¶æ¯å åæ£æ¥ãè¿ä¸ªSTOPæ¶æ¯ç»å¸¸åºç°å¨é误æ误é å åçæ åµä¸ã
2.å¨BIOSä¸ç¦ç¨å åç¼ååè½ã
3.è¯çæä¸ææ¿æ¢ç¡¬ä»¶:RAMãæ§å¶å¨ãéé å¨ãè°å¶è§£è°å¨åå ¶å®å¤å´è®¾å¤ã
4.æ£æ¥Microsoftå ¼å®¹ç¡¬ä»¶å表ï¼HCLï¼ï¼ç¡®ä¿ææç硬件å驱å¨ç¨åºé½ä¸Windowså ¼å®¹ãè¿ä¸ªé®é¢å¯è½æ¯ç±äºä¸å ¼å®¹ç主æ¿å¼èµ·çã
5.éæ°å¯å¨è®¡ç®æºãå¨å¯å¨å±å¹å¤ï¼æF8è¿å ¥âé«çº§å¯å¨é项âï¼ç¶åéæ©âæåä¸æ¬¡æ£ç¡®çé ç½®âã
解å³èå±ä¹å·¥å ·ç¯:
"两ææï¼ä¸¤æé½è¦ç¡¬"ï¼é对 "èå±"ç°è±¡é¤äºå¨ç¡¬ä»¶æ¹é¢æ¹åä½ çç³»ç»ç¡¬ä»¶ç¯å¢å¤ï¼"软ç¯å¢"ç建设ä¹ä¸å¯å¿½è§ï¼å°±æ们æç¥éçä¸äºå·¥å ·ä»ç»ç»ä½ ï¼å½ç¶ï¼å¯è½è¿ææ´å¤çå¥½å·¥å ·ï¼ä¸å¦¨å¹³æ¶å¤çæï¼
RAM Idle--让èå±æ¶å¤±
ä¸ç®¡æ¯æ¾ç»è¿å»çDOSæ¶ä»£ï¼è¿æ¯å¦æ¥ä¸å¤©çWindowsæ¶ä»£ï¼ä½ä¸ºç³»ç»èµæºä¸æéè¦çä¸é¡¹ââå åèµæºï¼ä¸ç´é½æ¯çµèç±å¥½è 们æ为头ç¼çäºæ ãè½ç¶ç°å¨ä¸»æ¿ä¸çå åæ槽è¶æ¥è¶å¤ï¼å åçä»·é±ä¹è¶æ¥è¶ä½ï¼ä½æ 论ææ ·ï¼è¿æ¯æå¾å¤æåçå åèµæºæ¶å¸¸ä¸å¤ç¨ï¼ä»¥è³äºç³»ç»æ§è½æ æ³æ£å¸¸åæ¥ãç©¶å ¶åå ï¼ä¸»è¦æ¯ç±äºWindowsæä½ç³»ç»ä¸è½ææå°å¯¹å åèµæºè¿è¡ç®¡çï¼å¯¼è´å¤§éå åèµæºè¢«ç½ç½å ç¨ï¼ä»è使系ç»æ§è½å¤§å¹ 度éä½ï¼é æç¨åºéæ»ãç³»ç»æèµ·çç¦äººçé®é¢ãå æ¤ï¼ä¸å°ä¸é¨ç¨æ¥å¯¹å åèµæºè¿è¡ç®¡ççå·¥å ·è½¯ä»¶ä¹å°±åºè¿èçï¼èä»å¤©è¦ä»ç»çRAM Idleåæ¯è¿ç±»è½¯ä»¶ä¸ç佼佼è ã
ä¸ãå®è£
é¦å ç¨Winzipç软件å°ä¸è½½å¾å°çå缩å 解åï¼ç¶åç¹å»Setup.exeæ件ï¼å¨å¼¹åºç对è¯æ¡ä¸éæ©ãæ¯ãå³å¯å¼å§å®è£ RAM Idleï¼å¦å¾1ï¼ãå大å¤æ°Windowsåºç¨ç¨åºä¸æ ·ï¼RAM Idleçå®è£ è¿ç¨å¾ç®åï¼åªéè¦ä¸è·¯ç¹å»ãNextãå³å¯å®æã
äºã 使ç¨
RAM Idleç主è¦åè½æ¯å¨ç³»ç»ç©ºé²çæ¶åæç §ç¨æ·è®¾ç½®èªå¨éæ¾åæ¶ä¸å®æ°éçå åï¼ä»èé¿å å Windowsç³»ç»ä¸è¶³èé æçå åèµæºæ¯ç«é®é¢ï¼å¹¶å¤§å¹ æé«ç³»ç»æ§è½ä¸ç¨³å®æ§ã
ä¿è¯è¯´ï¼å·¥æ¬²åå ¶äºï¼å¿ å å©å ¶å¨ï¼ä½¿ç¨RAM Idleä¹æ¯ä¸æ ·ï¼åªæ设置åçï¼å®æè½æ´å¥½ç对å åèµæºè¿è¡ç®¡çãä¸é¢å°±è¯·å¤§å®¶ç¹å»ãå¼å§ãï¼ãç¨åºãï¼ãRAM Idleãï¼ãConfigurationãæå¼RAM Idle设置çé¢ï¼å¦å¾2ï¼åæä¸èµ·è®¤è¯ä¸RAM Idleç设置é项
1. ãMainãé项å¡ï¼ä¸ºè½¯ä»¶ç主è¦è®¾ç½®é¨åï¼å æ¬ä»¥ä¸å 个å 容ï¼
·Target Free RAMï¼è®¾ç½®å°è¾¾æå°å©ä½å åæ¶ï¼RAM Idleæè¦å°è¯æ¢å¤çå åæ°éã
·Minimum Free RAMï¼è®¾ç½®æå°å©ä½å åæ°éï¼å½è¾¾å°è¿ä¸ªæ°å¼çæ¶åï¼RAM Idleå°ä¼èªå¨æ¢å¤å åèµæºã
·Disable the CPU usage detectionï¼éä¸æ¤é¡¹åï¼RAM Idleæ¢å¤å åçæ¶åå°ä¸åæ£æµCPUå ç¨çï¼ä¸è¿åªæ¯å¨ä½ çCPUå ç¨çæ»æ¯æ¾ç¤ºï¼ çæ¶åæéè¦éä¸ãä¸è¬æ åµä¸æ们ä¸ç¨éä¸è¯¥é¡¹ï¼ãRecover RAM if onlyâ¦â¦ãä¸å¯ä»¥è®¾ç½®æ¢å¤å åæ¶çæé«CPUå ç¨çï¼ä¹å°±æ¯è¯´åªæCPUå ç¨çä½äºè®¾å®æ°å¼æ¶ï¼RAM Idleæå¯ä»¥æ¢å¤å åï¼å¦åï¼ä¸äºæ¢å¤ã
·Free upâ¦â¦if free RAM below %ï¼è®¾ç½®å©ä½å åå°äºæ»å å%çæ¶åï¼æ¯éå¤å°æ¶é´æ¢å¤å¤å°æ°éçå åã
·Pop up menu freeâ¦â¦ï¼è®¾ç½®å¼¹åºèåä¸æå¨æ¢å¤å åé¨åçä¸ä¸ªæ¢å¤æ°å¼ã
2. ãOptionsãé项å¡ï¼ä¸»è¦å æ¬æ»å¨æåé¢ãéWindowså¯å¨èå¯å¨ãéèç³»ç»æçå¾æ çä¸äºå¸¸è§è®¾ç½®ã
3. ãGatorãé项å¡ï¼ä¸ä¸ªå¡«è¡¨è½¯ä»¶çç®è¦ä»ç»åä¸è½½é¾æ¥ã
4. ãAboutãé项å¡ï¼æ¾ç¤ºå½åç³»ç»çå åèµæºä¿¡æ¯ï¼å¦å¾3ï¼
RAM Idleéæ¾å åå ±æ两ç§æ¹æ³ï¼ä¸ç§æ¯å½å©ä½å åå°äºæ»å å%çæ¶åï¼æç §è®¾ç½®æ¯éä¸æ®µæ¶é´èªå¨éæ¾ä¸å®æ°éçå åï¼è®¾ç½®æ¹æ³è§ä¸ï¼ï¼ä¸ç§æ¯å¨ç³»ç»æççRAM Idleå¾æ ä¸ç¹å»é¼ æ å³é®ï¼ä½¿ç¨å¼¹åºèåï¼å¦å¾4ï¼ä¸çä¸ä¸ªé项快éæå¨éæ¾ä¸å®æ°éçå åï¼è®¾ç½®æ¹æ³è§ä¸ï¼ã
ä¸ã å°ç»
ä¸å类软件ç¸æ¯ï¼RAM Idleåºæ¬ç»¼åäºè¯¥ç±»è½¯ä»¶çææç²¾åï¼å ·ææ å¯æ¯æç强大å å管çè½åãé¦å RAM Idleå¯ä»¥èªå¨éæ¾å åèµæºï¼å¹¶ä¸ä¼åæ¶é´å¿«ï¼æçé«ãå ¶æ¬¡RAM Idle设置æ¹ä¾¿ï¼åè½é½å¤ï¼å¹¶ä¸å ç¨ç³»ç»èµæºå°ï¼å¯å¨ç³»ç»è¾ä¸ºç©ºé²çæ¶åè¿è¡ãå¦å¤ï¼è¯¥è½¯ä»¶è¿å ·æå¤ç§æ¹ä¾¿ä¸å®ç¨çå°åè½ï¼å¦éæ°å¯å¨ï¼å ³æºï¼æèµ·çã
è½ç¶MemMAXãFREERAMãRAMFIXç软件ä¹åæç¹è²ï¼ä½ç±äºè¿æ ·æè é£æ ·ç缺ç¹ï¼æ¯å¦ä¸è½èªå¨ä¼åãå ç¨ç³»ç»èµæºå¤ªé«ãä¼åæçä½ä¸ã使ç¨ç¹ççï¼ä½¿å¾å®ä»¬å¾é¾è¶ è¶RAM Idleã
å¦æä½ æ£å¨ä¸ºä½ çå åèµæºç管çèåæçè¯ï¼é£ä¹æå»ºè®®ä½ ä¸å®è¦è¯è¯RAM Idleï¼ä»¥å®çå®åç¸ä¿¡ä¸å®ä¸ä¼è®©ä½ 失æï¼
æèµ¢ä¸åºèå±æ¼çæ
èå±å°åºæ¯æä¹äº§ççå¢ï¼æ们å¯ä»¥ä»è½¯ã硬两æ¹é¢æ¥è§£éèå±ç°è±¡äº§ççåå ãä»ç¡¬ä»¶æ¹é¢æ¥è¯´ï¼è¶ é¢è¿åº¦æ¯å¯¼è´èå±çä¸ä¸ªä¸»