Java教程

DOS命令行(2)——磁盘维护与管理

本文主要是介绍DOS命令行(2)——磁盘维护与管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

预备知识 1 —— 磁盘

1、磁盘分区

主磁盘分区、扩展磁盘分区、逻辑分区

主磁盘分区是物理磁盘的一部分,它像物理上独立的磁盘那样工作。对于基本启动记录(MBR)的磁盘,在一个基本磁盘上最多可以创建四个主磁盘分区,或者三个主磁盘分区和一个有多个逻辑驱动器的扩展磁盘分区。对于GUID分区表(GPT)磁盘,最多可创建128个主磁盘分区。也称“卷”。

硬盘分区有三种,主磁盘分区、扩展磁盘分区、逻辑分区。

 一个硬盘可以有一个主分区,一个扩展分区,也可以只有一个主分区没有扩展分区。逻辑分区可以若干。主分区是硬盘的启动分区,他是独立的,也是硬盘的第一个分区,正常分的话就是C驱。

分出主分区后,其余的部分可以分成扩展分区,一般是剩下的部分全部分成扩展分区,也可以不全分。但扩展分区是不能直接用的,他是以逻辑分区的方式来使用的,所以说扩展分区可分成若干逻辑分区。他们的关系是包含的关系,所有的逻辑分区都是扩展分区的一部分。

 

2、卷

硬盘上的存储区域。驱动器使用一种文件系统(如 FAT 或 NTFS)格式化卷,并给它指派一个驱动器号。单击“Windows 资源管理器”或“我的电脑”中相应的图标可以查看驱动器的内容。一个硬盘包括好多卷,一卷也可以跨越许多磁盘。

启动卷

包含 Windows 操作系统及其支持文件的卷。启动卷可以是系统卷,但不必一定是系统卷。

动态卷

 驻留在动态磁盘上的卷。Windows 支持五种类型的动态卷:简单卷、跨区卷、带区卷、镜像卷和 RAID-5 卷。动态卷通过使用文件系统来格式化(例如,FAT 或 NTFS),并有一个分配给它的驱动器号。

1.简单卷:构成单个物理磁盘空间的卷。它可以由磁盘上的单个区域或同一磁盘上连接在一起的多个区域组成,可以在同一磁盘内扩展简单卷。

2.跨区卷:简单卷也可以扩展到其它的物理磁盘,这样由多个物理磁盘的空间组成的卷就称为跨区卷。简单卷和跨区卷都不属于RAID范畴。

3.带区卷:以带区形式在两个或多个物理磁盘上存储数据的卷。带区卷上的数据被交替、平均(以带区形式)地分配给这些磁盘,带区卷是所有 Windows 2000 可用的卷中性能最佳的,但它不提供容错。如果带区卷上的任何一个磁盘数据损坏或磁盘故障,则整个卷上的数据都将丢失。带区卷可以看作硬件RAID中的RAID0。

4.镜像卷:在两个物理磁盘上复制数据的容错卷。它通过使用卷的副本(镜像)复制该卷中的信息来提供数据冗余,镜像总位于另一个磁盘上。如果其中一个物理磁盘出现故障,则该故障磁盘上的数据将不可用,但是系统可以使用未受影响的磁盘继续操作。镜像卷可以看作硬件RAID中的RAID1。

5.RAID-5卷:具有数据和奇偶校验的容错卷,有时分布于三个或更多的物理磁盘,奇偶校验用于在阵列失效后重建数据。如果物理磁盘的某一部分失败,您可以用余下的数据和奇偶校验信息重新创建磁盘上失败的那一部分上的数据。类似硬件RAID中的RAID5,在硬件IDE RAID中,RAID5是很少见的,通常在SCSI RAID卡和高档IDE RAID卡中才能提供,普通IDE RAID卡仅提供RAID0、RAID1和RAID0+1。

 

3、簇

微软操作系统(DOS、WINDOWS等)中磁盘文件存储管理的最小单位叫做“簇”。

一个文件通常单独存放在一个或多个簇里,但至少要单独占据一个人“簇”。也就是说两个文件不能存放在同一个簇中。簇(CLUST)的本意就是“一群”、“一组”,即一组扇区(一个磁道可以分割成若干个大小相等的圆弧,叫扇区)的意思。因为扇区的单位太小,因此把它捆在一起,组成一个更大的单位更方便进行灵活管理。簇的大小通常是可以变化的,是由操作系统在所谓“(高级)格式化”时规定的,因此管理也更加灵活。

 

 


预备知识 2 —— 格式化

低格,高格及快格的区别

一般来讲,硬盘格式化操作就是把现有的磁盘或分区里的所有文件删除,从而初始化硬盘。当然以上说的有点过于简单,一般格式化分为快速格式化、高级格式化和低级格式,不同的格式化选项所运行环境与执行操作也各不相同,一般比较常用的是快速格式化和高级格式化这两项,低级格式化则在万不得已时才会使用。下面是这几种格式化选项的区别:

类型

主要工作

特点

备注

低级格式化

介质检查;

磁盘介质测试;

划分磁道和扇区;

对每个扇区进行编号(C/H/S);

设置交叉因子。

只能在DOS环境或自写的汇编指令下进行,低级格式化只能整盘进行,现在硬盘出厂都是经过低格的,实际使用不到万不得已不要使用低格。

低级格式化对硬盘有损伤,如果硬盘已有物理坏道,则低级格式化会更加损伤硬盘,加快报废。低格的时间漫长,比如现在320G硬盘低格可能需要20小时,或更多。

高级格式化

清除数据(写删除标记);

检查扇区;

重新初始化引导信息;

初始化分区表信息;

可以在DOS和操作系统上进行,只能对分区操作。高级格式化只是存储数据,但如果存在坏扇区可能会导致长时间磁盘读写。

DOS下可能有分区识别问题。使用Format命令格式化不会自动修复逻辑坏道,如果发现有坏道,最好使用SCANDISK或WINDOWS系统的磁盘检查功能、还有其它第三方软件进行修复或隐藏,逻辑坏道既可以通过磁盘检查也可以通过低格解决,这取决于是扇区的哪个部分出现了错误。

快速格式化

删除文件分配表;

不检查扇区损坏情况;

可以在DOS和操作系统上进行,只能对分区操作。快速格式化也只是存储数据

DOS下可能有分区识别问题。另外,似乎Linux系统没有快速格式化命令。

 

 


磁盘维护与管理命令

 

format

  ——格式化指定盘符(需要以管理员身份运行命令提示符)

 

命令格式1:FORMAT volume [/FS:file-system] [/V:label] [/Q] [/L[:state]] [/A:size] [/C] [/I:state] [/X] [/P:passes] [/S:state]

命令格式2:FORMAT volume [/V:label] [/Q] [/F:size] [/P:passes]

命令格式3:FORMAT volume [/V:label] [/Q] [/T:tracks /N:sectors] [/P:passes]

命令格式4:FORMAT volume [/V:label] [/Q] [/P:passes]

命令格式5:FORMAT volume [/Q]

  • volume 指定驱动器号(后面跟一个冒号)、装入点或卷名。
  • /FS:filesystem 指定文件系统类型(FAT、FAT32、exFAT、NTFS、UDF、ReFS)。
  • /V:label 指定卷标。
  • /Q 执行快速格式化。请注意,此开关可替代 /P。
  • /C 仅适于 NTFS: 默认情况下,将压缩在该新建卷上创建的文件。
  • /X 如果必要,请先强制卸除卷。该卷的所有打开句柄不再有效。
  • /R:revision 仅 UDF: 强制格式化为特定的 UDF 版本(1.02、50、2.00、2.01、2.50)。默认修订版为 2.01。
  • /D 仅适用于 UDF 2.50: 将复制元数据。
  • /L[:state] 仅适用于 NTFS: 覆盖文件记录的默认大小。默认情况下,非分层卷将使用较小的文件记录格式化,分层卷将使用较大的文件记录格式化。/L 和 /L:enable 会强制使用较大的文件记录格式化,而 /L:disable 会强制使用较小的文件记录格式化。
  • /A:size 替代默认分配单元大小。强烈建议你在通常情况下使用默认配置。
    • ReFS 支持 4096、64K。
    • NTFS 支持 512、1024、2048、4096、8192、16K、32K、64K、128K、256K、512K、1M、2M。
    • FAT 支持 512、1024、2048、4096、8192、16K、32K、64K,(128K、256K 用 于大于 512 个字节的扇区)。
    • FAT32 支持 512、1024、2048、4096、8192、16K、32K、64K,(128K、256K 用于大于 512 个字节的扇区)。
    • exFAT 支持 512、1024、2048、4096、8192、16K、32K、64K、128K、256K、512K、1M、2M、4M、8M、16M、32M。
      • 请注意,FAT 和 FAT32 文件系统对卷上的群集数量施加以下限制:
      • FAT: 群集数量 <= 65526
      • FAT32: 65526 < 群集数量 < 4177918
      • 如果判定使用的指定群集大小无法满足以上需求,将立即停止格式化。
      • 大于 4096 的分配单元大小不支持 NTFS 压缩。
    • /F:size 指定要格式化的软盘大小(1.44)
    • /T:tracks 为磁盘指定每面磁道数。
    • /N:sectors 指定每条磁道的扇区数。
    • /P:count 将卷上每个扇区清零。此后,该卷将被改写 "count" 次,且每次使用不同的随机数。如果 "count" 为零,则每个扇区清零后,不再进行改写。如果已指定 /Q,则忽略此开关。
    • /S:state 指定对短文件名的支持(enable、disable)默认情况下禁用了短名称
    • /TXF:state 指定 txf 已启用/已禁用(值分别为 enabled 和 disabled)默认情况下,将启用 TxF
    • /I:state 仅 ReFS: 指定是否应在新卷上启用完整性。"state" 为 "enable" 或 "disable"默认情况下,在支持数据冗余的存储上启用完整性。
    • /DAX[:state] 仅适用于 NTFS: 对此卷启用直接访问存储(DAX)模式。在 DAX 模式下,可以通过内存总线访问卷,从而大幅提升 IO 性能。仅当硬件支持 DAX 时,才能使用 DAX 模式格式化卷。State 可指定为 "enable" 或 "disable"。/可将 DAX 视为 /DAX:enable。
    • /LogSize[:size] 仅适用于 NTFS: 以千字节为单位指定 NTFS 日志文件的大小。最小支持大小为 2MB,因此即使指定的大小小于 2MB,也将产生 2MB 的日志文件。零表示通常取决于卷大小的默认值。
    • /NoRepairLogs 仅适用于 NTFS: 禁用 NTFS 修复日志。如果设置此标志spotfix (即 chkdsk /spotfix)将不起作用。

 

注意:使用format命令格式化分区之前,先备份该分区中重要的数据,以免高级格式化后分区中所有数据的丢失而造成损失。

 

例、将磁盘"f:"分区格式化为NTFS文件系统,并指派卷标为"SUNNY"簇大小为16KB

format f: /fs:ntfs /v:SUNNY /q /a:16K

 

convert

  ——将FAT32分区格式转换为NTFS分区格式(需要以管理员身份运行命令提示符)

 

命令格式:convert volume /FS:NTFS [/V] [/CvtArea:filename] [/NoSecurity] [/X]

参数设置:

  • volume 指定驱动器号(后面跟一个冒号)、装入点或卷名。
  • /FS:NTFS 指定要将此卷转换为 NTFS。
  • /V 指定将在详细模式下运行 Convert。
  • /CvtArea:filename 指定根目录中的一个连续文件,该文件将是 NTFS 系统文件的占位符。
  • /NoSecurity 指定所有用户均可以访问转换文件和目录的安全设置。
  • /X 如果必要,请先强制卸除卷。该卷的所有打开句柄将会无效。

 

例、将"g:"分区的FAT32格式转换为NTFS格式

convert g: /fs:ntfs ,按下回车键后,系统提示是否强制卸下该卷,输入 y ,按回车键,系统提示立即转换分区格式,输入 y 后,按回车键进行分区格式,并提示下一次重启系统时转换程序会自动运行。重启系统后即可将FAT32分区格式转换为NTFS分区格式

 

subst

  ——将路径与驱动器号关联

利用特定的路径来替换指定的路径

 

命令格式1:substr [drive1: [drive2:]path]

命令格式2:subst drive1: /d

参数说明:

  • drive1: 指定要分配路径的虚拟驱动器。
  • [drive2:]path 指定物理驱动器和要分配给虚拟驱动器的路径。
  • /d 删除被替换的

例1、将"c:\users"与创建的虚拟驱动器"h:"关联

subst h: c:\users

例2、解除虚拟驱动器"h:"

subst h: /d

 

chkdsk

命令格式:chkdsk [volume[[path]filename]]] [/F] [/V] [/R] [/X] [/I] [/C] [/L[:size]] [/B] [/scan] [/spotfix]

参数说明:

  • volume 指定驱动器号(后面跟一个冒号)、装入点或卷名。
  • filename 仅 FAT/FAT32: 指定要检查碎片的文件。
  • /F 修复磁盘上的错误。
  • /V 在 FAT/FAT32 上: 显示磁盘上每个文件的完整路径和名称。在 NTFS 上: 显示清理消息(如果有)。
  • /R 查找坏扇区并恢复可读信息(未指定 /scan 时,隐含 /F)。
  • /L:size 仅 NTFS: 将日志文件大小更改为指定的 KB 数。如果未指定大小,则显示当前大小。
  • /X 如果必要,则先强制卸除卷。该卷的所有打开的句柄都将无效(隐含 /F)。
  • /I 仅 NTFS: 对索引项进行强度较小的检查。
  • /C 仅 NTFS: 跳过文件夹结构内的循环检查。
  • /B 仅 NTFS: 重新评估该卷上的坏簇(隐含 /R)
  • /scan 仅 NTFS: 在卷上运行联机扫描
  • /forceofflinefix       仅 NTFS: (必须与 "/scan" 一起使用)跳过所有联机修复;找到的所有故障都排队等待脱机修复(即 "chkdsk /spotfix")。
  • /perf 仅 NTFS: (必须与 "/scan" 一起使用)使用更多系统资源尽快完成扫描。这可能会对系统中运行的其他任务的性能造成负面影响。
  • /spotfix 仅 NTFS: 在卷上运行点修复
  • /sdcleanup 仅 NTFS: 回收不需要的安全描述符数据(隐含 /F)。
  • /offlinescanandfix 在卷上运行脱机扫描并进行修复。
  • /freeorphanedchains 仅 FAT/FAT32/exFAT: 释放所有孤立的簇链而不恢复其内容。
  • /markclean 仅 FAT/FAT32/exFAT: 如果未检测到损坏,则将卷标记为干净,即使未指定 /F 也是如此。

/I 或 /C 开关通过跳过对卷的某些检查,来减少运行 Chkdsk 所需的时间。

例、对"c:"分区进行文件和文件夹的校验,并自动恢复

chkdsk c: /f

 

defrag

  ——对本地卷中的文件进行优化和碎片整理(需要以管理员身份运行命令提示符)

 

命令格式:defrag  [盘符] | -c | [-a] [-v] [-d] [-u]

参数说明:

  • -a 分析卷,并显示分析报告的摘要
  • -c 在所有的卷上执行该操作
  • -v 显示完整的分析和碎片整理报告,与 /a 组合使用时,只显示分析报告;单独使用时,显示分析报告和碎片整理报告
  • -d  执行传统碎片整理(这是默认项)。但在分层卷上,传统碎片整理只在容量层上执行。
  • -u  将操作进度打印到屏幕。

例1、对"c:"分区进行碎片分析,并显示操作进度

defrag c: /a /v /u

例2、对"c:"分区进行碎片整理,并显示操作进度

defrag c: /d /u

 

diskperf

  ——开启与关闭磁盘性能计数器

命令格式:diskperf [-Y[D|V] | -N[D|V]] [\\computername]

参数说明:

  • -Y              在系统重新启动时,将系统设为开启所有磁盘性能计数器。
  • -YD    在系统重新启动时,启用物理驱动器的磁盘性能计数器。
  • -YV    当系统重新启动时,启用逻辑驱动器的磁盘性能计数器或存储数值。
  • -N             当系统重新启动时,将系统设为禁用所有磁盘性能计数器。
  • -ND   禁用物理驱动器的磁盘性能计数器。
  • -NV    禁用逻辑驱动器的磁盘性能计数器。
  • \\computername 这是你想见的计算机名或设定使用磁盘性能计数器。计算机必须是 Windows 2000 系统。

注意: 磁盘性能计数器在 Windows 2000 以后的系统上总是处于启用状态。

 

例1、开启磁盘性能计数器

diskperf -y

例2、关闭磁盘性能计数器

diskperf -n

 

vol——查看磁盘卷标号

命令格式:vol [盘符]

例、查看"d:"分区的卷标号

vol d:

 

label——改变指定分区的卷标号(需要以管理员身份运行命令提示符)

命令格式:label [盘符] [新卷标号]

例、将"d:"分区的卷标号改为"SUNNY"

label d: SUNNY

 

chkntfs

  ——启动时显示或修改磁盘检查

命令格式1:chkntfs volume [...]

命令格式2:chkntfs /d

命令格式3:chkntfs/t[:time]

命令格式4:chkntfs /x volume [...]

命令格式5:chkntfs /c volume [...] 

参数说明:

  • volume 指定驱动器号(后面跟一个冒号)、装入点或卷名。
  • /d 将计算机还原为默认行为;启动时检查所有驱动器,并对有问题的驱动器运行 chkdsk。
  • /t:time 将 AUTOCHK 初始递减计数时间更改为指定的时间,单位为秒。如果没有指定时间,则显示当前设置。
  • /x 将驱动器排除在启动时检查范围之外。被排除的驱动器在命令调用之间不会累计。
  • /c 安排驱动器在启动时检查;如果驱动器有问题,则运行 chkdsk。

 

如果未指定开关,chkntfs 将显示指定的驱动器是否有问题或者是否计划在下一次重新启动时执行检查。

 

例1、对NTFS分区进行检查

chkntfs /d ,重启计算机时,会自动对所有盘符进行检查,如果发现某个盘符有问题会自动启用 chkdsk命令修复

例2、减少磁盘扫描的等待时间

chkntfs /t:0 ,当系统非法操作死机后重新进入系统的磁盘扫描等待时间为0秒

 

diskpart

  ——实用的磁盘管理工具

diskpart命令是一种文本模式命令解释程序,它使您能够通过脚本或从命令提示符直接输入来管理磁盘、分区或卷。

命令用法:  diskpart [/s <script>]

参数说明: /s <script> 使用一个 DiskPart 脚本

交互模式下的子命令及参数说明:

ACTIVE   - 将选中的分区标记为活动的分区。

ADD   - 将镜像添加到一个简单卷。

ASSIGN   - 给所选卷分配一个驱动器号或装载点。

ATTRIBUTES  - 操纵卷或磁盘属性。

ATTACH   - 连接虚拟磁盘文件。

AUTOMOUNT  - 启用和禁用基本卷的自动装载。

BREAK   - 中断镜像集。

CLEAN   - 从磁盘清除配置信息或所有信息。

COMPACT  - 尝试减少文件的物理大小。

CONVERT  - 在不同的磁盘格式之间转换。

CREATE   - 创建卷、分区或虚拟磁盘。

DELETE   - 删除对象。

DETAIL   - 提供对象详细信息。

DETACH       - 分离虚拟磁盘文件。

EXIT          - 退出 DiskPart。

EXTEND        - 扩展卷。

EXPAND        - 扩展虚拟磁盘上可用的最大大小。

FILESYSTEMS  - 显示卷上当前和支持的文件系统

FORMAT        - 格式化卷或分区

GPT           - 给选择的 GPT 分区分配属性。

HELP          - 显示命令列表。

IMPORT       - 导入磁盘组。

INACTIVE      - 将所选分区标为不活动。

LIST          - 显示对象列表。

MERGE         - 将子磁盘与其父磁盘合并。

ONLINE       - 使当前标为脱机的对象联机。

OFFLINE      - 使当前标记为联机的对象脱机。

RECOVER  - 刷新所选包中所有磁盘的状态。尝试恢复无效包中的磁盘,并重新同步具有过时丛或奇偶校验数据的镜像卷和 RAID5 卷。

REM           - 不起任何作用。用来注释脚本。

REMOVE       - 删除驱动器号或装载点分配。

REPAIR        - 用失败的成员修复一个 RAID-5 卷。

RESCAN        - 重新扫描计算机,查找磁盘和卷。

RETAIN        - 在一个简单卷下放置一个保留分区。

SAN          - 显示或设置当前启动的操作系统的 SAN 策略。

SELECT        - 将焦点移动到对象。

SETID         - 更改分区类型。

SHRINK        - 减小选定卷。

UNIQUEID      - 显示或设置磁盘的 GUID 分区表(GPT)标识符或主启动记录(MBR)签名。

 

例1、查看详细的磁盘属性信息

输入 diskpart ,按回车键进入diskpart命令行

输入 list disk,按回车键即可

 

例2、查看卷属性信息

输入 diskpart ,按回车键进入diskpart命令行

输入 list volume ,按回车键即可

 

例3、查看"磁盘0"的分区列表

输入 diskpart ,按回车键进入diskpart命令行

输入 select disk 0 ,按回车键将焦点移动到"磁盘0"

输入 list partition ,按回车键即可

 

例4、重新指派驱动器号,将"D"驱动器号更改为"Q"驱动器号

输入 diskpart ,按回车键进入diskpart命令行

输入 list volume ,按回车键显示"D"驱动器所属卷为"卷1"

输入 select volume 1 ,按回车键将焦点移动到"卷1"

输入 assign letter=Q ,按回车键即可

 

例5、将"磁盘0"从基本磁盘转换为动态磁盘

输入 diskpart ,按回车键进入diskpart命令行

输入 select disk 0 ,按回车键将焦点移动到"磁盘0"

输入convert dynamic ,按回车键,提示“要完成这个操作,您必须重新启动计算机”

重新启动计算机即可

 

例6、删除不需要驱动器号"D"

输入 diskpart ,按回车键进入diskpart命令行

输入 list volume ,按回车键显示"D"驱动器所属卷为"卷1"

输入 select volume 1 ,按回车键将焦点移动到"卷1"

输入 remove letter=D ,按回车键即可

 

例7、将动态卷"卷1"的空间扩展100MB

输入 diskpart ,按回车键进入diskpart命令行

输入 select volume 1 ,按回车键将焦点移动到"卷1"

输入 extend size=100 ,按回车键即可

例8、删除动态卷"卷1"

输入 diskpart ,按回车键进入diskpart命令行

输入 select volume 1 ,按回车键将焦点移动到"卷1"

输入 delete volume  ,即可

 

这篇关于DOS命令行(2)——磁盘维护与管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!