CHKDSK命令是DOS的外部命令,它用来检查磁盘状态并显示状态报告,还能修正磁盘错误。CHKDSK命令的格式为:
CHKDSK[drive:][path]filename[/F][/V]
参数:
drive 指定CHKDSK命令检查的磁盘驱动器。
[path] filename 指定要用CHKDSK命令进行碎片检查的一个和一组文件的路径及名称。可用通配符(*和?)指定多个文件。
开关项:
/F 修正磁盘错误。
/V 磁盘检测时,显示每个目录下的每个文件名。
1 检测磁盘状态
状态报告可以显示MS-DOS文件系统中的逻辑错误,该文件系统由文件分配表(FAT)和目录组成。CHKDSK不验证文件中的住处能否准确读出。如果磁盘有错,CHKDSK将给出一条警告信息。所以,应不时用CHKDSK来检查一下有无磁盘错误。
使用CHKDSK命令显示状态报告:
Volume OY.CS UFC created 05-07-1995 1:13a(卷名和创建日期)
Volume Serial Number is 0000-1CD9(卷标号)
104,615,936 bytes total disk space(磁盘总容量)
81,920 bytes in 2 hidden files (隐含文件容量大小)
155,648 bytes in 32 directories(目录大小)
100,789,464 bytes in 2,056 user files(用户文件大小)
3,579,904 bytes available on disk(剩余空间大小)
4,086 bytes in each allocation unit(簇的大小)
25,541 total allocation units on disk(总共有多少簇)
874 available allocation units on disk(剩余多少簇)
655,360 total bytes mimory(总内存大小)
606,368 bytes free(剩余内存大小)
2 对磁盘遗失簇的处理
DOS在分配磁盘空间给任何一个文件使用时,是以一个“簇”为单位,也称之为“分配单位”。簇是磁盘分配给文件的最小单位。有时,当应用程序在输出数据到磁盘时,可能会因不正常结束,而产生输出数据已占用磁盘空间,但无法形成一个磁盘文件的状况。换言之,该部分簇可能会丢失,无法用来储存其它数据。这些丢失的簇不断地积累,将占据一定的磁盘空间。
当用户执行CHKDSK/F命令时,可以将丢失的簇收回。若某磁盘拥有丢失的族,CHKDSK会询问用户是否要将丢失的簇转达换为文件名为FILEnnnn.CHK的文件存储之,其中的nnnn是从0000、0001、……等顺序编起。若将这些簇转换为FILEnnnn.CHK文件,最后可以从磁盘中检查和删除这些FILEnnnn.CHK文件。
注意:在使用CHKDSK/F命令前,应退出所有正在运行的应用程序。还需要在CONFIG.SYS和AUTOEXEC.BAT文件中关掉那些装入内存驻留程序的命令,并且重新启动计算机(但不需要关掉那些随MS-DOS 6.2带来的内存驻留程序),如果在程序运行期间使用CHKDSK/F命令,也许会丢失数据。
使用CHKDSK/F命令可以完成下列任务:
(1)确认磁盘上没有丢失的簇。
(2)在运行DEFRAG或DOUBLESPACE程序前检查磁盘。
(3)在一个程序不正常停止运行后检查磁盘。
3 找回丢失簇的步骤
假设C磁盘拥有两个丢失的簇,这两个簇属于同一链,现在要把它们找回来。只要属于同一链,不论其拥有多少个簇,在存文件时,都会形成一个文件。
(1)退出所有正在运行的程序。
(2)转达到要检查的磁盘上(例如:如果要恢复C驱动器上丢失的簇,则在DOS提示符下键入C:)。
(3)在DOS提示符下键入命令:
chkdsk/f
如果CHKDSK发现在某个链中有两个丢失的簇,则显示下列提示信息:
2 lost allocation units found in 1 chains
Convert lost chain to files(Y/N)?
(4)如果要保存丢失的簇中的信息,则按Y键。CHKDSK程序将该链转换成一个文件,并将这些文件存放在当前驱动器的根目录下。然后显示出有关磁盘的信息。显示的信息中将增加一行:
4096 bytes in recovered files
表示已收回(RECOVERED)一个文件,其文件名默认为FILE0000.CHK,大小为4KB(两个簇)。
(5)使用DIR可列出FILE0000.CHK文件。也可用TYPB命令查看FILE0000.CHK的内容。
(6)使用DEL命令删除不需要的FILE0000.CHK文件,可腾出4KB的磁盘空间。如不用/F开关项,CHKDSK显示信息提醒用户文件是否需要修正恢复,但不做实际的修正。