chkdsk.exe
检查硬盘驱动器的完整性,检查磁盘和修复文件系统就靠它了。chkdsk.exe 同时可以恢复文件系统错误, 并可以试图恢复坏扇区,如果无法修复就标记坏扇区,以避免文件被误写入导致丢失。
Chkntfs.exe
显示文件系统类型、文件系统“脏字位”状态,以及手工安排启动时运行 Chkdsk进行卷检查,或取消所 有安排的检查项目等。
Autochk.exe
查找每个卷上的“脏字位”,以及 Chkdsk /F 和 Chkntfs /X 或 /C 所作的注册表设置,决定是检查卷, 还是跳过检查。它可以区分是手工安排的卷检查,还是由于文件系统发现卷处于“脏”状态而自动进行卷检查 ,并会把相应的消息写入应用程序事件日志。该命令不能在 WIN32 模式下运行。
一、在系统运行时强制进行卷检查
安装 Windows2000/XP 后,“系统工具”文件夹中不显示磁盘扫描命令。不是没有了,具体这样做:
双击我的电脑,然后右键单击要检查的硬盘驱动器。
单击属性,然后单击工具。
在查错下,单击开始检查。
这样就可以在 Windows 中检查硬盘驱动器的完整性了。
或者到命令提示符下执行CHKDSK /X 命令。
/X 是一个新的命令参数,它运行 Chkdsk /F,并强制执行卷卸除,关闭非系统卷上打开的文件句柄,以 便立即对卷进行检查。这样,要运行 Chkdsk 并修复卷,就不必重新启动。
二、安排在下一次重新启动时进行卷检查
Autochk 通过有2个因素控制是否进行卷检查或跳过检查。一个是当文件系统检测到问题时,系统自己设置 的“脏字位”,设置脏字位的的目的就是为了在下次启动时对卷进行检查。 另一个是人工安排,既用 Chkdsk /F 和 Chkntfs /X 或 /C 所作的注册表设置。通过 Chkntfs volume:命令可以查询文件系统类型、文件系统 “字位”状态,以及是否已手工安排启动时运行 Chkdsk 进行卷检查等信息。
Autochk 在确定启动时检查哪些卷所使用的注册表项为:
Hkey_local_machine\System\CurrentControlSet\Control\Session Manager\BootExecute:REG_MULTI_SZ: autocheck autochk *
这是 Autochk 的默认设置,也是使用 Chkntfs /d 安排启动时检查所有卷所得到的结果。
下面通过设置或重设注册表,来控制 Autochk。
命令 BootExecute键植
Chkdsk C: /F autochk /p \??\C:
Chkdsk C:\mountpoint /F Autocheck autochk /p \??\VOLUME{GUID}
Chkntfs D: E: /X Autocheck autochk /k:D /k:E *
Chkntfs G: /C Autocheck autochk /m \??\G:
注解:
/P \??\Volume: 安排 Chkdsk 无条件地运行来检查卷。
/p \??\VOLUME{GUID} 安排 Chkdsk 无条件地运行来检查卷安装点。
/k:Volume * 不对卷执行 Chkdsk 检查。
/m \??\Volume: 让 Autochk 仅查找卷上的脏字位,如果已设置脏字位,则运行 Chkdsk。
另外,Chkntfs /T:time: 在默认情况下,开机时扫描每个分区前会等待10秒钟,用户此时可以按任意键 跳过扫描继续启动。该参数就是用来设置等待时间的,即将Autochk 超时值改为指定时间(秒数),如果没有指定时间,则显示当前设置。系统在注册表项 key_local_machine\System\CurrentControlSet\Control\SessionManager\下增加一个键:AutoChkTimeOut,类型为 REG_DWORD,数值为当前设置的超时值。
三、用脚本从程序中安排卷的修复日程
由于可以通过设置或重设注册表,来控制 Autochk,因此可使用脚本,从程序中安排卷的修复日程。
在记事本程序中,使用.VBS文件扩展名存储相应文件(例如:MyScript.vbs)。同时,建议您在一个公共文 件夹(例如:C:\Scripts)中保存这些脚本。打开命令行窗口。如果需要,使用cd命令切换到用以存储脚本的 文件夹中。在命令行窗口中,输入csript 命令并在其后跟随脚本名称。
例如:
cscript myscript.vbs
1、修改 AutoChk 的 Timeout 值
为 Autochk.exe 设定自动延迟时间为 30 秒。适用于 Windows XP 或 Windows 2003 Server。
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colAutoChkSettings = objWMIService.ExecQuery _
("Select * from Win32_AutochkSetting")
For Each objAutoChkSetting in colAutoChkSettings
objAutoChkSetting.UserInputDelay = 30
objAutoChkSetting.Put_
Next
2、防止 AutoChk 在开机时自动运行
即使电脑下次开机时,就算 C盘的 "字位" 已被设定, Autochk 也不会对C磁盘执行检查。适用于 Windows XP 或 Windows 2003 Server。
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objDisk = objWMIService.Get("Win32_LogicalDisk")
errReturn = objDisk.ExcludeFromAutoChk(Array("C:"))
Wscript.Echo errReturn
3、执行 ChkDsk
对电脑的D盘执行ChkDks.exe。适用于 Windows XP 或 Windows 2003 Server。
Const FIX_ERRORS = True
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objDisk = objService.Get("Win32_LogicalDisk.DeviceID='D:'")
errReturn = objDisk.ChkDsk(FIX_ERRORS)
Wscript.Echo errReturn
4、安排在电脑下一次重新启动时,对 C 盘执行 Autochk.exe。适用于 Windows XP 或
Windows 2003 Server 。
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objDisk = objWMIService.Get("Win32_LogicalDisk")
errReturn = objDisk.ScheduleAutoChk(Array("C:"))
Wscript.Echo errReturn
四、几点重要说明
1、开机时按下某个键跳过 Autochk
如果安排 Chkdsk 在启动时运行以检查某个卷,但实际启动时决定按下某个键跳过Autochk,则 Autochk 将 不会检查该卷,并删除相应的注册表项,在以后,Autochk也不会检查该卷。
2、Autochk应用程序事件日志
当 Autochk 在启动时运行检查某个卷时,它会输出记录到一个称为 Bootex.log 的文件中,该文件放在被 检查卷的根目录下。随后,Winlogon 服务将每个 Bootex.log文件的内容移到“应用程序事件日志”中。每个 被检查卷的事件日志消息按以下方式:
记录:
事件 ID:1001
源:Winlogon
说明:它包括文件系统类型、驱动器号或 GUID 及卷名称或序列号,可以帮助确定Chkdsk 检查的是哪个卷。此外还包括,Chkdsk 是因为用户的安排而运行的呢,还是因为已设置了脏字位而运行的等信息。
3、以只读方式运行的 Chkdsk 未检测到 NTFS 卷上的损坏
当只读模式对一个使用 NTFS 文件系统的磁盘卷运行 Chkdsk 时,Chkdsk 可能检测不到磁盘结构的损坏。原因是如果主文件表中的 $logfile 数据区被破坏,则可能会出现这一现象。解决方案是若要解决这一问题, 请在运行 Chkdsk 时使用 /f 选项,以便重新初始化 $logfile 数据区并修复损坏问题。
在命令提示符下键入下面的命令,然后按 ENTER 键
chkdsk volume_label :/v /f
其中, volume_label是您要对其运行 Chkdsk 的磁盘卷标。
4、在Microsoft Windows 2000 Server SP3上,在还原或复制大量的数据后 Chkdsk 找到不正确的安全 ID在您还原或复制大量的数据和与这些数据关联的 NTFS 文件系统安全信息时,Chkdsk.exe 可能会报告此分 区有错误。即使您把数据还原或复制到一个已知无错误的分区中时也会发生此问题。Chkdsk 可能会报告类似如 下内容的错误消息:
CHKDSK is verifying security descriptors (stage 3 of 3)...
Repairing the security file record segment.
Deleting an index entry with Id 8447 from index $SII of file 9.
Deleting an index entry with Id 31126 from index $SII of file 9.
Deleting an index entry with Id 50636 from index $SII of file 9.
Deleting an index entry with Id 31126 from index $SDH of file 9.
Deleting an index entry with Id 50636 from index $SDH of file 9.
Deleting an index entry with Id 8447 from index $SDH of file 9.
Replacing invalid security id with default security id for file 1461234.
Security descriptor verification completed.
Windows found problems with the file system.
注意,报告的错误数和安全 ID 可能因具体情况而异。索引项 ID 和文件编号也可能会有所变化。
如果您接着对此分区运行 chkdsk /f 命令,并对应用的权限执行审核,则会发现某些文件和文件夹可能已 丢失了用户定义的权限。这些权限可能已被默认权限代替,而默认权限只向 Local System 和 Administrators 帐户授予访问权。
无论您使用何种程序还原或复制数据都会发生此问题。报告发生此问题的情形有:
在使用 Ntbackup.exe 工具还原数据(带安全信息)之后,以及在使用 Xcopy.exe 带/o和/x参数复制数据(带安全信息)之后。
原因在设计上,NTFS 文件系统要求以块的形式编写安全描述符,而且在每一个安全描述符块的末尾至少要留下 20 字节。这是为安全描述符标头留下的空间。然而,在某些情况下,NTFS 代码的错误计算会导致安全描述符 几乎写到了块的末尾,以致留下不足 20 字节的可用空间。Chkdsk.exe 于是就会删除这些安全描述符并使用默 认安全描述符代替它们,以确保在块的最后留下最少 20 字节的可用空间。这将导致某些文件和文件夹丢失用 户自定义的安全性。
通过下载SP4解决此问题。
5、关于共享群集磁盘
对于运行群集服务的服务器群集节点所共享的卷,不允许在启动时运行Autochk.exe 进行检查。当这些卷 被联机,或从一个节点移到另一节点时,群集服务会检查该卷是否处于“脏”状态。如果是,那么在联机前, 就要使用 Chkdsk 来检查该卷。但并去不检查 BootExecute 注册表值,所以也不会去考虑那些值。
,自由广告区 |
分类导航 |
邮件新闻资讯: IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮 电子邮箱 | 反垃圾邮件|邮件客户端|网络安全 行业数据 | 邮件人物 | 网站公告 | 行业法规 网络技术: 邮件原理 | 网络协议 | 网络管理 | 传输介质 线路接入 | 路由接口 | 邮件存储 | 华为3Com CISCO技术 | 网络与服务器硬件 操作系统: Windows 9X | Linux&Uinx | Windows NT Windows Vista | FreeBSD | 其它操作系统 邮件服务器: 程序与开发 | Exchange | Qmail | Postfix Sendmail | MDaemon | Domino | Foxmail KerioMail | JavaMail | Winwebmail |James Merak&VisNetic | CMailServer | WinMail 金笛邮件系统 | 其它 | 反垃圾邮件: 综述| 客户端反垃圾邮件|服务器端反垃圾邮件 邮件客户端软件: Outlook | Foxmail | DreamMail| KooMail The bat | 雷鸟 | Eudora |Becky! |Pegasus IncrediMail |其它 电子邮箱: 个人邮箱 | 企业邮箱 |Gmail 移动电子邮件:服务器 | 客户端 | 技术前沿 邮件网络安全: 软件漏洞 | 安全知识 | 病毒公告 |防火墙 攻防技术 | 病毒查杀| ISA | 数字签名 邮件营销: Email营销 | 网络营销 | 营销技巧 |营销案例 邮件人才:招聘 | 职场 | 培训 | 指南 | 职场 解决方案: 邮件系统|反垃圾邮件 |安全 |移动电邮 |招标 产品评测: 邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端 |