五、磁盘和磁盘操作

5.1 chkdsk

检查磁盘驱动器的文件系统并修复错误

一般语法:

chkdsk [volume[[path]filename]] [/f] [/v] [/r] [/x] [/i] [/c] [/b]

常见选项和参数包括:

  • volume:指定要检查的卷(驱动器)的驱动器号、驱动器号和冒号、卷标或挂载点路径。
  • /f:在发现问题时自动修复文件系统错误。
  • /v:显示详细的输出信息。
  • /r:扫描并尝试修复磁盘上的坏道。
  • /x:强制卸载卷(如果需要),然后执行检查。
  • /i:在 NTFS 卷上执行轻量级检查。
  • /c:跳过对磁盘的循环检查。
  • /b:重新评估磁盘的坏道检查标志。

例如,要检查和修复 C 驱动器上的文件系统错误,可以运行以下命令:

chkdsk C: /f

要扫描并尝试修复 C 驱动器上的坏道,可以运行以下命令:

chkdsk C: /r

5.2 diskpart

磁盘分区工具,用于创建、删除、格式化分区等

一般语法:

diskpart

进入 diskpart 命令行界面后,你可以输入各种命令来执行磁盘管理操作。常用的命令包括:

  • list disk:显示计算机上所有磁盘的列表。
  • select disk <disk_number>:选择要操作的磁盘。
  • list partition:显示所选磁盘上的所有分区。
  • select partition <partition_number>:选择要操作的分区。
  • create partition primary size=<size>:创建一个新的主分区,可以指定大小。
  • delete partition:删除所选分区。
  • format fs=<filesystem>:格式化所选分区,可以指定文件系统类型。
  • assign letter=<drive_letter>:分配驱动器号给所选分区。

例如,要创建一个新的主分区并将其格式化为 NTFS 文件系统,可以按照以下步骤进行操作:

  1. 输入 diskpart 进入 diskpart 命令行界面。
  2. 输入 list disk 查看计算机上所有的磁盘列表,并选择要操作的磁盘,例如 select disk 1
  3. 输入 create partition primary size=10240 创建一个大小为 10GB 的新主分区。
  4. 输入 list partition 查看新创建的分区,并选择要操作的分区,例如 select partition 1
  5. 输入 format fs=ntfs quick 格式化所选分区为 NTFS 文件系统。
  6. 输入 assign letter=D 为新分区分配驱动器号。

请注意,diskpart 是一个强大的工具,对磁盘进行管理时需要特别小心,因为错误的操作可能导致数据丢失。务必在使用 diskpart 之前备份重要数据,并谨慎执行操作。

5.3 format

格式化磁盘驱动器

一般语法:

format <volume> [/fs:<filesystem>] [/v:<label>] [/q] [/a:size] [/c] [/x] [/p:passes] [/e] [/l[:state]]

常见选项和参数包括:

  • <volume>:指定要格式化的卷(驱动器号或卷标)。
  • /fs:<filesystem>:指定要使用的文件系统类型,如 FAT32、NTFS 等。
  • /v:<label>:指定卷的标签。
  • /q:执行快速格式化。
  • /a:size:设置每个簇的大小。
  • /c:压缩文件和目录以节省磁盘空间(仅适用于 NTFS)。
  • /x:强制卸载卷,然后执行格式化。
  • /p:passes:指定要执行的格式化过程的次数。
  • /e:启用立即格式化。

例如,要将 D 驱动器格式化为 NTFS 文件系统,并指定标签为 "Data",可以运行以下命令:

format D: /fs:ntfs /v:Data

在执行格式化操作之前,请务必确保备份了存储介质中的所有重要数据,因为格式化操作会将存储介质上的所有数据都清除掉。输入格式化命令后,系统会提示你确认是否要继续执行格式化操作。 

5.4 fsutil

文件系统工具,用于执行各种文件系统任务,如文件压缩、文件加密等

一般语法:

fsutil <function> <parameters>

其中 <function> 是要执行的操作,而 <parameters> 则是相应操作的参数。

常见的 fsutil 功能包括:

  1. fsinfo:用于获取文件系统的信息。

    • fsinfo volumeinfo <volume>:显示指定卷的信息,如文件系统类型、卷序列号、总空间等。
  2. file:用于处理文件和文件属性。

    • file createnew <filename> <size>:在指定路径创建一个具有指定大小的新文件。
    • file seteof <filename> <size>:将指定文件的大小设置为指定大小。
    • file queryfilelayout <filename>:显示指定文件的物理存储布局。
  3. disk:用于磁盘相关操作。

    • disk free <driveletter>:显示指定驱动器上的可用空间和总空间。
    • disk volume:显示卷的列表以及它们的关联磁盘和分区信息。
  4. quota:用于配额管理。

    • quota enable <volume>:启用指定卷上的磁盘配额。
    • quota disable <volume>:禁用指定卷上的磁盘配额。
    • quota modify <volume> <limit>:设置指定卷上的磁盘配额限制。
  5. usn:用于管理更新序列号(USN)日志。

    • usn queryjournal <volume>:显示指定卷上的 USN 日志的信息。
    • usn deletejournal <volume>:删除指定卷上的 USN 日志。

例如,要查询 C 驱动器的文件系统信息,可以使用以下命令:

fsutil fsinfo volumeinfo C:

要启用 C 驱动器上的配额,可以使用以下命令:

fsutil quota enable C:

fsutil 提供了许多强大的功能,可以用于管理文件系统、磁盘和卷。但请注意,在使用 fsutil 进行操作时,请务必谨慎,因为某些操作可能会对系统产生重大影响。建议在使用 fsutil 前仔细阅读相关文档或备份重要数据。

5.5 xcopy

复制文件和目录树,并包含子目录的所有文件

一般语法:

xcopy <source> <destination> [/options]

其中 <source> 是要复制的源文件或目录的路径,<destination> 是目标位置的路径,/options 是可选的选项。

常见选项和参数包括:

  • /s:复制所有子目录和文件。
  • /e:复制所有子目录,包括空目录。
  • /y:不提示确认,直接覆盖目标文件。
  • /d:仅复制源文件的修改时间晚于目标文件的文件。
  • /i:如果目标不是目录且有多个文件,假定目标是目录。
  • /c:继续即使出现错误。
  • /r:在只读文件上覆盖只读属性。
  • /h:复制系统和隐藏文件。

例如,要将目录 C:\source 复制到目录 D:\destination,可以运行以下命令:

xcopy C:\source D:\destination /s /e /y
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐