Windows2000磁盘扫描功能

Windows2000/XP 系统磁盘扫描已经升级到卷的高度 , 不再是简单的 SCANDISK 。卷被定义为包含文件系 统的分区 , 它可以用驱动器号/卷安装点或全局唯一标识符(GUID) 来寻址 。我们可以在系统运行时强制进行卷 检查 , 或安排在重新启动时进行卷
检查 , 如果使用脚本还可以更准确地控制何时在卷上进行文件系统检查 。要掌握磁盘扫描特点 , 需要灵活使用下面相互关联的3个工具:Chkdsk.exe、 Chkntfs.exe 以及Autochk.exe 。让我们先来简单认识一下他们 。
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_MachineSystemCurrentControlSetControlSession ManagerBootExecute: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: /CAutocheck autochk /m ??G:;
注解:
/P ??Volume:安排 Chkdsk 无条件地运行来检查卷 。;
/p ??VOLUME{GUID}; 安排 Chkdsk 无条件地运行来检查卷安装点 。;
/k:Volume *; 不对卷执行 Chkdsk 检查 。;
/m ??Volume:让 Autochk 仅查找卷上的脏字位 , 如果已设置脏字位 , 则运行 Chkdsk 。;
另外 , Chkntfs /T:time: 在默认情况下 , 开机时扫描每个分区前会等待10秒钟 , 用户此时可以按任意键 跳过扫描继续启动 。该参数就是用来设置等待时间的 , 即将Autochk 超时值改为指定时间(秒数) , 如果没有指定时间 , 则显示当前设置 。系统在注册表项 key_local_machineSystemCurrentControlSetControlSessionManager下增加一个键:AutoChkTimeOut , 类型为 REG_DWord , 数值为当前设置的超时值 。

推荐阅读