在 Windows 10 和 11 中,CMD.exe(命令提示符)命令可以根据功能进行分类。以下是一个表格,列出了常见的命令及其分类。
diskpart 全命令 → PowerShell 原生 Storage Cmdlet 完整配套映射链
整体前置逻辑:
PowerShell Storage 模块(
diskpart.exe 本质是独立控制台 COM 客户端,全程依赖vds.exe(VDS虚拟磁盘服务)完成所有磁盘操作;
Microsoft.PowerShell.Storage.Commands.dll)分为两套调用链路:- 首选链路:WMI Storage 命名空间(
ROOT\Microsoft\Windows\Storage)MSFT 磁盘类,不依赖 VDS 也可操作; - 兼容链路:内部复用 VDS COM 接口,和 diskpart 底层同源;
二者底层硬件指令完全一致,仅上层会话、参数交互、返回形态不同。
一、diskpart 全局前置操作对应 PS 配套(会话初始化、磁盘选择、环境前置)
1. diskpart 进入交互环境
cmd
diskpart
PowerShell 无需交互式 Shell,直接在终端执行存储命令,模块自动加载:
powershell
# 强制加载存储模块(异常场景手动加载)
Import-Module Storage
2. diskpart 基础磁盘选择核心映射
表格
| diskpart 交互命令 | PowerShell 等价命令 | 配套说明 | |
|---|---|---|---|
list disk |
Get-Disk |
列出全部物理磁盘,DiskNumber、状态、GPT/MBR、只读、Offline | |
sel disk X |
Get-Disk -Number X |
选定磁盘(PS 以对象管道传递,无 “选中全局变量”) | |
list partition |
Get-Partition -DiskNumber X |
列出指定磁盘所有分区 | |
sel partition X |
Get-Partition -DiskNumber X -PartitionNumber X |
选中分区对象 | |
list volume |
Get-Volume |
列出所有逻辑卷(含盘符、文件系统、大小、状态、RAW 识别) | |
sel volume X |
Get-Volume -DriveLetter Z / Get-Volume -Index X |
选中逻辑卷 | |
attributes disk |
`Get-Disk -Number X | Select-Object Number,IsReadOnly,IsOffline` | 查看磁盘属性:只读、脱机 |
attributes disk clear readonly |
Set-Disk -Number X -IsReadOnly $false |
清除磁盘只读标记 | |
attributes disk set readonly |
Set-Disk -Number X -IsReadOnly $true |
设置磁盘只读 | |
online disk |
Set-Disk -Number X -IsOnline $true |
脱机磁盘上线 | |
offline disk |
Set-Disk -Number X -IsOnline $false |
磁盘脱机(虚拟机快照、异地磁盘挂载常用) |
二、磁盘初始化、清空、分区表转换(diskpart 核心初始化链路)
1. clean 清空整盘分区表(全盘擦除分区结构)
diskpart:
plaintext
sel disk X
clean
# 彻底清空扇区 clean all
clean all
PowerShell 配套:
powershell
# 快速清空(仅擦分区表头)
Get-Disk X | Clear-Disk -RemoveData -Confirm:$false
# clean all 全盘扇区清零(等同于diskpart clean all)
Get-Disk X | Clear-Disk -RemoveData -RemoveAllData -Confirm:$false
配套依赖:
Clear-Disk直接调用 VDS 磁盘清零接口,和 diskpart 共用内核IOCTL_DISK_DELETE_DRIVE_LAYOUT控制码。2. convert gpt /convert mbr 分区表格式转换
diskpart:
plaintext
sel disk X
convert gpt
convert mbr
PowerShell:
powershell
# 转为GPT
Initialize-Disk -Number X -PartitionStyle GPT
# 转为MBR
Initialize-Disk -Number X -PartitionStyle MBR
配套前置:磁盘必须
clean清空后才能转换,和 diskpart 约束完全一致。三、GPT 标准分区创建(EFI 分区、MSR 保留分区、主数据分区)
diskpart 标准装机分区脚本
plaintext
sel disk X
create partition efi size=100
create partition msr size=16
create partition primary
PowerShell 完整等价链式脚本(精准匹配分区类型 GUID、大小、4K 自动对齐)
powershell
$disk = Get-Disk X
# EFI系统分区 GPT固定GUID
New-Partition -Disk $disk -Size 100MB -GptType "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}"
# MSR微软保留分区
New-Partition -Disk $disk -Size 16MB -GptType "{e3c9e316-0b5c-4db8-817d-f92df00215ae}"
# 剩余全部空间创建主分区
$DataPartition = New-Partition -Disk $disk -UseMaximumSize
关键配套优势:
New-Partition原生自动 4K 扇区对齐,diskpart 无自动对齐逻辑,容易 SSD 性能异常。MBR 分区创建(老旧 BIOS 磁盘)
diskpart
plaintext
create partition primary size=50000
create partition extended
create partition logical
PowerShell
powershell
# MBR主分区
New-Partition -DiskNumber X -Size 50000MB -MbrType 0x07
# MBR扩展分区、逻辑分区(Storage模块原生支持)
New-Partition -DiskNumber X -Size 100GB -MbrType 0x0F
分区删除
diskpart
plaintext
sel partition 1
delete partition override
PowerShell
powershell
Get-Partition -DiskNumber X -PartitionNumber 1 | Remove-Partition -Confirm:$false
四、分区格式化、文件系统创建(对应 diskpart format + Windows format.exe)
diskpart 内置格式化:
plaintext
sel partition X
format fs=ntfs quick
format fs=exfat
assign letter=Z
PowerShell 配套链路(分区→格式化→分配盘符一体化管道)
powershell
# 快速格式化为NTFS
$DataPartition | Format-Volume -FileSystem NTFS -Quick -Confirm:$false
# 完整格式化(坏道检测+全盘清零,无-quick)
$DataPartition | Format-Volume -FileSystem NTFS -Confirm:$false
# exFAT/FAT32格式化
$DataPartition | Format-Volume -FileSystem exFAT -Quick
# 分配盘符Z
$DataPartition | Add-PartitionAccessPath -DriveLetter Z
# 删除盘符
$DataPartition | Remove-PartitionAccessPath -DriveLetter Z
配套联动:
Format-Volume上层封装 Win32 格式化 API,底层和format.exe、diskpart 格式化共用同一文件系统格式化驱动。五、卷、盘符、挂载点管理(mountpoint 目录挂载)
表格
| diskpart 命令 | PowerShell 实现 | 用途 |
|---|---|---|
assign |
Add-PartitionAccessPath |
自动分配空闲盘符 |
assign mount=C:\MountDisk |
Add-PartitionAccessPath -AccessPath C:\MountDisk |
文件夹挂载(无盘符挂载) |
remove letter=Z |
Remove-PartitionAccessPath -DriveLetter Z |
移除盘符 |
detach vdisk |
Dismount-VHD |
分离 VHD 虚拟磁盘 |
attach vdisk |
Mount-VHD |
挂载 VHD/VHDX |
六、VHD 虚拟磁盘全套(diskpart vdisk 子命令完整映射)
diskpart VHD 操作全集:
plaintext
create vdisk file="D:\disk.vhdx" maximum=50000 type=expandable
attach vdisk
sel vdisk
detach vdisk
PowerShell 原生虚拟磁盘命令(Storage 模块原生,无需 diskpart)
powershell
# 创建动态扩展VHDX
New-VHD -Path D:\disk.vhdx -SizeBytes 50GB -Dynamic
# 挂载虚拟磁盘
Mount-VHD -Path D:\disk.vhdx
# 卸载虚拟磁盘
Dismount-VHD -Path D:\disk.vhdx
# 获取VHD磁盘对象
Get-VHD -Path D:\disk.vhdx
配套链:VHD 底层由
vdisk.sys虚拟磁盘驱动支撑,PS 与 diskpart 调用一致内核驱动。七、动态磁盘、RAID、镜像卷(diskpart 高级卷操作)
- 动态磁盘转换
diskpart:
convert dynamicPowerShell:ConvertTo-DynamicDisk -Number X - 创建条带卷 / 镜像卷
diskpart
create volume stripePowerShell:New-Volume配合存储池 / 动态磁盘实现多盘 RAID。
八、boot 启动分区引导修复(diskpart bootsect 配套)
diskpart 常用引导修复:
plaintext
sel volume Z
active
PowerShell 设置活动分区(仅 MBR 磁盘生效)
powershell
Get-Partition -DiskNumber X -PartitionNumber 1 | Set-Partition -IsActive $true
引导扇区修复(diskpart 无 bootsect,调用外部工具)
PS 直接调用
bootsect.exe兼容:powershell
bootsect /nt60 Z: /force
九、diskpart 完整运维脚本 → PowerShell 重构对照示例
原版 diskpart 批处理脚本(diskpart.txt 应答文件)
txt
sel disk 1
clean
convert gpt
create partition efi size=100
create partition msr size=16
create partition primary
format fs=ntfs quick
assign letter=D
等价 PowerShell 一体化脚本(无交互、对象链式、可判断容错)
powershell
$diskNum = 1
# 清空磁盘
Get-Disk $diskNum | Clear-Disk -RemoveData -Confirm:$false
# GPT初始化
Initialize-Disk -Number $diskNum -PartitionStyle GPT
# EFI分区
New-Partition -DiskNumber $diskNum -Size 100MB -GptType '{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}'
# MSR分区
New-Partition -DiskNumber $diskNum -Size 16MB -GptType '{e3c9e316-0b5c-4db8-817d-f92df00215ae}'
# 数据分区格式化挂载
$mainPart = New-Partition -DiskNumber $diskNum -UseMaximumSize
$mainPart | Format-Volume -FileSystem NTFS -Quick -Confirm:$false
$mainPart | Add-PartitionAccessPath -DriveLetter D
十、底层配套依赖总链(diskpart VS PowerShell Storage)
1. diskpart 完整依赖链路
cmd.exe → diskpart.exe(独立进程) → VDS COM接口 → vds.exe服务 → vdsbas.dll/vdsdyn.dll → DeviceIoControl内核磁盘控制码 → disk.sys/stornvme.sys → 物理磁盘- 缺点:每次执行重启 diskpart 进程,重复初始化 VDS COM 连接,无状态复用;文本交互无异常对象捕获。
2. PowerShell Storage Cmdlet 依赖链路
pwsh/powershell.exe → Microsoft.PowerShell.Storage.Commands.dll → 双链路自适应- WMI 链路(首选):storwmi.dll → 内核 IO 控制码
- VDS 兼容链路(降级):OLE32.dll → VDS COM → vds.exe
- 优势:PowerShell 会话内 VDS/WMI 长连接复用、管道对象传递、Try/Catch 异常捕获、并行多盘处理。
十一、配套辅助排查命令(二者共用系统工具)
- 磁盘坏道检测:
chkdsk.exe(PS 可直接调用,或Repair-Volume原生命令)
powershell
Repair-Volume -DriveLetter D -Scan
- 磁盘空间查询:
Get-Volume | Select DriveLetter,SizeRemaining,Size - 存储池运维:
Get-StoragePool(diskpart 完全不支持存储空间)
十二、选型使用边界
- 老旧 WinPE(无 PowerShell):只能使用 diskpart 应答文件部署;
- Windows 10/11、Server 自动化部署、批量硬盘初始化、虚拟机自动化:全部使用 PowerShell Storage 模块;
- 临时手动单条磁盘操作:diskpart 上手成本更低。
Windows format.exe 完整对标 PowerShell 命令 + 底层配套全链路拆解
前置总览
CMD
format.exe 是独立可执行格式化工具,存在两种使用形态:- CMD 直接执行
format D: /q /fs:ntfs - diskpart 内部
format fs=xxx quick(内部调用 format 底层 API,复用 VDS)
PowerShell 核心对标命令:Format-Volume(Storage 模块原生 Cmdlet,1:1 覆盖 format 全部参数)
补充配套:
Get-Volume(前置卷识别)、Get-Partition(分区绑定卷)、Clear-Disk(全盘擦除前置)整体底层共性:二者最终调用 Windows 内核文件系统格式化 API,仅上层参数解析、会话、状态输出、前置校验逻辑不同。
一、format.exe 全部参数 ↔ PowerShell Format-Volume 参数映射表
1. 基础格式化开关对照
表格
| CMD format 参数 | 作用 | PowerShell Format-Volume 等价参数 |
|---|---|---|
D: |
目标盘符 | -DriveLetter D |
/Q / /QUICK |
快速格式化(仅清空文件分配表,不扫描坏道、不清零扇区) | -Quick |
/FS:NTFS /FS:exFAT /FS:FAT32 |
指定文件系统 | -FileSystem NTFS / exFAT / FAT32 / ReFS |
/V:DATA |
设置卷标(磁盘名称) | -NewFileSystemLabel "DATA" |
/A:4096 |
自定义簇大小(分配单元大小) | -AllocationUnitSize 4096 |
/P:3 |
全盘 3 次扇区覆写清零(安全擦除) | -Full 基础全盘校验 + 搭配 Clear-Disk 实现多轮覆写 |
/S |
DOS 系统盘(老旧废弃) | 无原生支持,需调用 bootsect.exe |
/Y |
静默确认,不弹窗提示 | -Confirm:$false |
/X |
强制卸载分区、解除占用,强制格式化 | -Force |
/R |
坏扇区重读恢复(完整格式化坏道检测) | -Full 开启完整坏道扫描 |
/T:tracks / /N:sectors |
老旧软盘参数 | 无对应,已淘汰 |
2. 最简命令对标示例
CMD format 快速格式化
cmd
format D: /Q /FS:NTFS /V:WorkDisk /Y /X
等价 PowerShell
powershell
Format-Volume -DriveLetter D -FileSystem NTFS -Quick -NewFileSystemLabel "WorkDisk" -Force -Confirm:$false
CMD 完整全盘格式化(坏道检测)
cmd
format D: /FS:NTFS /Y
PowerShell
powershell
Format-Volume -DriveLetter D -FileSystem NTFS -Full -Confirm:$false
CMD 全盘 2 次覆写安全格式化
cmd
format D: /FS:NTFS /P:2 /Y
PowerShell 实现方案
powershell
# 方式1:格式化前全盘覆写(等价/P)
Get-Volume -DriveLetter D | Get-Partition | Clear-Disk -RemoveAllData -PassThru
# 再格式化
Format-Volume -DriveLetter D -FileSystem NTFS -Quick -Confirm:$false
二、完整业务配套链路(格式化全流程:分区→卷→格式化→挂载)
链路 1:Diskpart+Format 老式完整流程
plaintext
diskpart
sel disk 1
create partition primary
assign letter=D
exit
format D: /q /fs:ntfs
链路 2:PowerShell 一体化管道链路(无间断对象流转,无字符串解析)
powershell
# 选定磁盘→创建分区→绑定卷→格式化→设置卷标一步到位
Get-Disk 1 | New-Partition -UseMaximumSize | Format-Volume -FileSystem NTFS -Quick -NewFileSystemLabel "Data" -Confirm:$false | Add-PartitionAccessPath -DriveLetter D
核心优势:分区对象直接传递给格式化命令,不需要通过盘符字符串匹配,杜绝盘符错乱误格式化。
三、底层依赖解构(format.exe VS Format-Volume)
1. format.exe 依赖链路
plaintext
CMD.exe → format.exe(独立进程)
├─ 调用 kernel32.dll DeviceIoControl
├─ 调用 VDS 服务(vds.exe) 卷格式化接口(diskpart内嵌格式化共用此链路)
├─ 内核下发IRP到对应文件系统驱动:ntfs.sys / fastfat.sys / exfat.sys
└─ 控制台文本进度条实时刷新(高频控制台IO,大硬盘格式化轻微性能损耗)
依赖文件:
format.exe、vds.exe、vdsbas.dll、kernel32.dll、文件系统驱动。2. Format-Volume 依赖链路(双链路自适应)
plaintext
PowerShell进程(powershell.exe/pwsh.exe)
↓
Microsoft.PowerShell.Storage.Commands.dll(存储模块核心程序集)
├─ 主链路:Storage WMI (storwmi.dll) → DeviceIoControl 格式化控制码
├─ 降级链路:VDS COM接口连接vds.exe(WMI异常时自动切VDS,和format底层同源)
↓
内核文件系统驱动(ntfs.sys等)完成格式化写入
↓
以结构化对象输出格式化结果(总大小、簇大小、文件系统、状态)
关键区别:
- 进程复用:无额外 format.exe 子进程创建,减少进程创建销毁开销;
- 进度是结构体数据,而非文本刷屏,大硬盘格式化 CPU 占用更低;
- 支持 Try/Catch 捕获格式化异常(磁盘掉线、写保护、分区占用)。
3. 共用底层核心系统 API(二者完全一致)
IOCTL_VOLUME_FORMAT_TRACKING格式化控制指令IOCTL_DISK_GET_LENGTH_INFO获取分区总大小IOCTL_DISK_SET_DISK_ATTRIBUTES磁盘属性修改- 文件系统驱动负责构建:MBR/PBR 引导扇区、$MFT、FAT 表、日志文件系统元数据。
四、上下游配套 Cmdlet(Format-Volume 完整配套链)
上游前置命令(格式化前校验 / 准备)
表格
| 上游命令 | 作用 | 配套场景 |
|---|---|---|
Get-Disk |
获取物理磁盘,判断是否脱机、只读 | 避免格式化脱机磁盘报错 |
Set-Disk -IsOnline $true |
磁盘上线 | 离线磁盘先上线才能格式化 |
Set-Disk -IsReadOnly $false |
清除磁盘只读锁 | 解除磁盘写保护 |
Get-Partition |
定位目标分区 | 直接基于分区格式化,不依赖盘符 |
Get-Volume |
查看现有卷、判断是否 RAW 格式 | 仅格式化 RAW 故障分区 |
Remove-PartitionAccessPath |
预先卸载盘符 | 等同于 format /X 强制解除占用 |
同模块协同命令
New-Partition:产出分区对象直接管道给 Format-Volume(最常用组合)Resize-Partition:分区扩容后重新格式化 / 调整文件系统Repair-Volume:格式化前磁盘坏道修复(对标 chkdsk)
下游后置命令(格式化完成后)
Add-PartitionAccessPath:分配盘符或文件夹挂载点Set-Volume:后期修改卷标、压缩、碎片整理Get-Volume | Export-Csv:格式化结果日志落地(审计)
五、特色功能差异化(format.exe 不具备,PowerShell 独有)
1. ReFS 文件系统格式化(服务器存储)
format.exe 不支持 ReFS,Format-Volume 原生支持:
powershell
Format-Volume -DriveLetter E -FileSystem ReFS -Quick
2. 基于分区直接格式化(无盘符场景)
磁盘只有分区无盘符,format.exe 无法直接格式化,PS 可以:
powershell
Get-Partition -DiskNumber 2 -PartitionNumber 1 | Format-Volume -FileSystem NTFS -Quick
3. 批量并行多盘格式化
powershell
# 并行格式化所有数据盘(跳过系统盘Disk0)
Get-Disk | Where-Object Number -ne 0 | ForEach-Object -Parallel {
$_ | New-Partition -UseMaximumSize | Format-Volume -FileSystem NTFS -Quick -Confirm:$false
}
CMD 的 format 只能串行执行,多硬盘批量格式化耗时成倍增加。
4. 格式化异常容错
powershell
try{
Format-Volume -DriveLetter D -FileSystem NTFS -Full -Confirm:$false
}
catch{
Write-Warning "格式化失败:$_"
# 故障处理:卸载磁盘、跳过坏盘
}
CMD format 报错仅返回 ErrorLevel,无法精细化判断故障类型(写保护 / 磁盘离线 / 硬件故障)。
六、特殊场景:RAW 分区修复格式化
CMD 方案
cmd
format D: /q /y
PowerShell 精准处理
powershell
# 筛选RAW格式卷直接格式化
Get-Volume | Where-Object FileSystem -eq RAW | Format-Volume -FileSystem NTFS -Quick -Confirm:$false
七、故障排查链路对比
format.exe 故障排查链路
命令报错 → 检查 format.exe 完整性 → VDS 服务状态 → 磁盘只读 / 离线 → 磁盘驱动 → 硬件故障
Format-Volume 故障排查链路
命令报错 → 确认 Storage 模块加载 → WMI 存储服务 (storwmi.dll) → VDS 服务降级校验 → 磁盘状态(Get-Disk)→ 分区状态 → 文件系统驱动 → 硬件
八、落地选型总结
- 临时手动快速格式化、老旧 PE 无 PowerShell 环境:使用 CMD
format; - 自动化装机、批量硬盘、服务器 ReFS 部署、无盘符分区格式化、运维日志审计、故障容错脚本:强制使用
Format-Volume; - 全盘数据安全擦除:PowerShell
Clear-Disk -RemoveAllData+ Format-Volume 组合,远强于 format /P 覆写。
mountvol.exe 对标 PowerShell 完整命令映射、底层原理、上下游配套全链路
前置总览
mountvol.exe 是 Windows 原生盘符管理、卷挂载点(文件夹挂载)、删除盘符、列出卷 GUID、脱机卷挂载的独立控制台工具,底层依托卷管理器 mountmgr.sys + VDS + 磁盘 IO 控制码。
- Add-PartitionAccessPath(新增盘符 / 文件夹挂载点,核心等价
mountvol X: /D反向、mountvol 挂载路径) - Remove-PartitionAccessPath(删除盘符 / 挂载点,等价
mountvol X: /D) - Get-Volume(枚举所有卷、卷 GUID、盘符、挂载状态,等价纯
mountvol无参数列举) - Get-Partition(关联分区与卷,定位卷来源)
- New-Volume / Set-Volume(辅助卷配置)
底层同源:
mountvol.exe 与 PowerShell 存储 Cmdlet 最终调用kernel32.dll::DefineDosDeviceW、DeviceIoControl下发挂载控制指令,由内核mountmgr.sys盘符管理器落地。一、mountvol 全部参数 → PowerShell 精准映射对照表
mountvol 语法总览
cmd
mountvol [盘符:] [挂载路径]
mountvol 盘符: /D # 删除盘符
mountvol 挂载路径 /D # 删除文件夹挂载点
mountvol 盘符: /L # 查询对应卷的唯一GUID路径
mountvol # 列出全部卷、GUID、盘符、挂载点
mountvol /E # 启用新建卷自动分配盘符(系统默认开启)
mountvol /N # 禁用新建卷自动分配盘符
表格
| mountvol 用法 | 功能说明 | 等价 PowerShell 命令 | |
|---|---|---|---|
mountvol(无参数) |
列出所有逻辑卷、卷 GUID、已分配盘符、NTFS 文件夹挂载点 | `Get-Volume | Select DriveLetter,UniqueId,FileSystemLabel,FileSystem` |
mountvol Z: C:\Mount\DiskZ |
将分区挂载到空 NTFS 文件夹(无盘符挂载) | Add-PartitionAccessPath -AccessPath C:\Mount\DiskZ |
|
mountvol Z: |
给分区分配盘符 Z: | Add-PartitionAccessPath -DriveLetter Z |
|
mountvol Z: /D |
删除盘符 Z:,卷保留、分区不删除 | Remove-PartitionAccessPath -DriveLetter Z -Confirm:$false |
|
mountvol C:\Mount\DiskZ /D |
删除文件夹挂载点 | Remove-PartitionAccessPath -AccessPath C:\Mount\DiskZ -Confirm:$false |
|
mountvol D: /L |
查看 D 盘对应卷的\\?\Volume{GUID}\唯一标识 |
(Get-Volume -DriveLetter D).UniqueId |
|
mountvol /N |
关闭磁盘上新卷自动分配盘符 | 修改注册表:HKLM:\SYSTEM\CurrentControlSet\Services\MountMgr\NoAutoMount = 1 |
|
mountvol /E |
开启磁盘上新卷自动分配盘符 | 修改注册表:HKLM:\SYSTEM\CurrentControlSet\Services\MountMgr\NoAutoMount = 0 |
极简实操等价示例
示例 1:CMD 删除盘符
cmd
mountvol F: /D
PowerShell:
powershell
Remove-PartitionAccessPath -DriveLetter F -Confirm:$false
示例 2:CMD 将分区挂载至文件夹
cmd
mountvol C:\MountPoint\Data
PowerShell:
powershell
# 先获取目标分区,再挂载到目录
$part = Get-Partition -DiskNumber 2 -PartitionNumber 2
$part | Add-PartitionAccessPath -AccessPath "C:\MountPoint\Data"
示例 3:查询盘符对应卷 GUID
cmd
mountvol E: /L
PowerShell:
powershell
Get-Volume -DriveLetter E | Select UniqueId
示例 4:关闭自动盘符分配(服务器磁盘批量挂载常用)
CMD:
cmd
mountvol /N
PowerShell:
powershell
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\MountMgr" -Name NoAutoMount -Value 1 -Force
# 生效需重启MountMgr服务或重启主机
Restart-Service MountMgr -Force
二、完整业务配套链路(mountvol 经典工作流 ↔ PowerShell 对象化链路)
老式 CMD 完整流程(diskpart+mountvol+format)
cmd
::1.磁盘分区
diskpart
sel disk 1
create partition primary
assign
exit
::2.格式化
format F: /q /fs:ntfs /y
::3.删除盘符,改为文件夹挂载
mountvol F: /D
mkdir C:\DiskMount\Disk1
mountvol C:\DiskMount\Disk1
PowerShell 一体化管道链路(全程对象传递,无字符串盘符硬编码)
powershell
# 1.磁盘初始化→分区→格式化
$disk = Get-Disk 1
$part = $disk | New-Partition -UseMaximumSize
$vol = $part | Format-Volume -FileSystem NTFS -Quick -Confirm:$false
# 2.自动分配盘符临时使用(可选)
$part | Add-PartitionAccessPath -DriveLetter F
# 3.移除盘符,挂载至文件夹
$part | Remove-PartitionAccessPath -DriveLetter F -Confirm:$false
# 创建挂载目录
New-Item -Path "C:\DiskMount\Disk1" -ItemType Directory -Force
# 文件夹挂载
$part | Add-PartitionAccessPath -AccessPath "C:\DiskMount\Disk1"
核心优势:依靠
Partition/Volume对象绑定,不会因为盘符错乱挂载错误磁盘,适配多硬盘、存储池、异地磁盘挂载场景。三、底层依赖解构:mountvol.exe VS PowerShell AccessPath Cmdlet
1. mountvol.exe 调用链路
plaintext
CMD.exe → mountvol.exe(独立EXE进程)
├─ 调用 kernel32.dll
├─ DefineDosDeviceW(盘符映射/删除)
├─ DeviceIoControl(IOCTL_VOLUME_ADD_MOUNT_POINT / IOCTL_VOLUME_REMOVE_MOUNT_POINT)
├─ 与系统服务 MountMgr(mountmgr.sys 内核驱动,挂载管理器核心)通信
├─ 可选调用VDS服务枚举卷信息
└─ 控制台文本格式化输出挂载列表
依赖核心文件:
mountvol.exe、kernel32.dll、内核驱动mountmgr.sys、注册表HKLM\SYSTEM\CurrentControlSet\Services\MountMgr。2. PowerShell Add/Remove-PartitionAccessPath 调用链路
plaintext
powershell.exe/pwsh.exe
↓
Microsoft.PowerShell.Storage.Commands.dll 存储模块
├─ 主链路:Storage WMI (storwmi.dll) → 封装挂载点Win32 API
├─ 降级链路:VDS COM接口对接vds.exe获取卷信息
↓
kernel32.dll 挂载点系统调用(与mountvol完全一致API)
↓
mountmgr.sys 内核完成盘符注册、文件夹挂载绑定、Dos设备名创建
↓
返回结构化Partition/Volume对象,携带挂载路径属性
关键底层差异:
mountvol是纯文本输入输出,需要手动解析盘符、GUID 字符串;PowerShell 直接操作分区对象,无字符串解析损耗;- PowerShell 会话复用 VDS/WMI 连接,多次挂载操作不会重复创建独立进程;
- 支持前置校验:分区状态、文件系统是否为 NTFS(文件夹挂载仅支持 NTFS),
mountvol非法挂载只会直接报错无前置提示。
共用核心内核控制码
IOCTL_VOLUME_ADD_MOUNT_POINT:新增文件夹挂载点IOCTL_VOLUME_REMOVE_MOUNT_POINT:删除挂载点IOCTL_DISK_GET_VOLUME_BITMAP:读取卷唯一 GUID 标识DefineDosDeviceW:Windows Dos 盘符(C:/D:/Z:)设备映射。
四、上下游完整配套链(AccessPath 系列命令生态)
上游前置依赖(挂载操作前置条件)
表格
| 上游 Cmdlet | 作用 | 配套场景 |
|---|---|---|
Get-Disk |
校验磁盘 Online、非只读 | 离线磁盘无法创建挂载点 |
Set-Disk -IsOnline $true |
上线脱机磁盘 | 导入外部磁盘、快照磁盘挂载 |
Get-Partition |
精准定位目标分区(推荐) | 绕过盘符直接操作,避免盘符冲突 |
Get-Volume |
校验卷已完成格式化(RAW 卷无法挂载文件夹) | 防止裸分区挂载失败 |
New-Item |
创建空 NTFS 目录 | 文件夹挂载必须使用空目录 |
同模块协同存储命令
Format-Volume:分区格式化后才能正常挂载读写Clear-Disk:清空磁盘后重建分区 + 挂载Resize-Partition:分区扩容后挂载路径自动保留,无需重新配置
下游后置配套(挂载完成后运维)
Get-Volume | Select DriveLetter,UniqueId,MountPoints:导出全部挂载点审计清单Set-Volume:修改卷标、开启 NTFS 压缩Repair-Volume:挂载后磁盘文件系统修复Dismount-VHD / Mount-VHD:VHD 虚拟磁盘挂载后配套盘符管理
五、PowerShell 独有增强能力(mountvol 不支持)
1. 批量批量移除所有数据盘盘符(虚拟化快照常用)
powershell
# 排除系统盘Disk0,移除所有硬盘盘符
Get-Disk | Where-Object Number -ne 0 | Get-Partition | Where-Object DriveLetter | ForEach-Object {
Remove-PartitionAccessPath -DriveLetter $_.DriveLetter -Confirm:$false
}
mountvol只能逐个盘符删除,批量需要 FOR 循环解析文本,稳定性差。2. 根据卷 GUID 直接挂载(异地磁盘、故障磁盘恢复)
通过
UniqueId卷 GUID 定位卷,无视盘符:powershell
$targetVol = Get-Volume | Where-Object UniqueId -match "Volume\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\}"
$targetVol | Get-Partition | Add-PartitionAccessPath -DriveLetter X
3. 挂载操作异常捕获容错
powershell
try {
Get-Partition -DiskNumber 2 -PartitionNumber 1 | Add-PartitionAccessPath -DriveLetter Z -ErrorAction Stop
}
catch {
Write-Error "挂载失败:$_"
# 处理:目录不存在、分区RAW、磁盘写保护
}
mountvol仅返回 ERRORLEVEL 错误码,无法区分具体故障类型。4. 挂载点配置导出备份
powershell
# 导出所有盘符+文件夹挂载配置为CSV备份
Get-Volume | Select DriveLetter,UniqueId,FileSystemLabel,MountPoints | Export-Csv -Path "DiskMountBackup.csv" -NoTypeInformation
便于重装系统后恢复挂载结构,
mountvol无原生导出能力。六、特殊场景适配
场景 1:NTFS 文件夹挂载(无盘符磁盘,数据库、存储服务器常用)
- CMD:需要手动创建目录 +
mountvol 路径 - PS:目录创建 + 挂载一体化,增加前置文件系统校验
场景 2:移动硬盘安全卸载(删除盘符直接拔出)
powershell
# 移除U盘盘符后可直接热插拔
Get-Volume -DriveLetter G | Get-Partition | Remove-PartitionAccessPath -DriveLetter G -Confirm:$false
场景 3:关闭自动盘符分配(多盘存储池防止盘符漂移)
使用注册表 + 重启 MountMgr 服务,比
mountvol /N更持久稳定,支持开机固化配置。七、故障排查链路对比
mountvol.exe 故障排查链路
挂载报错 → mountvol.exe 文件完整性 → MountMgr 驱动状态 → 分区是否格式化 → 目录是否为空(文件夹挂载)→ 磁盘只读属性
PowerShell 挂载命令排查链路
命令报错 → Storage 模块加载 → Get-Disk 检查磁盘在线状态 → Get-Volume 校验文件系统 → 挂载目录权限 → MountMgr 内核驱动 → VDS/WMI 服务状态
八、选型落地建议
- 临时手动单条挂载 / 删除盘符、老旧 WinPE 无 PowerShell:使用
mountvol.exe; - 服务器自动化部署、虚拟机磁盘编排、批量挂载管理、挂载配置备份、故障容错脚本:使用
Add-PartitionAccessPath / Remove-PartitionAccessPath搭配Get-Volume对象操作; - 存储池、存储空间、虚拟磁盘(VHDX)配套盘符管理,仅 PowerShell 原生适配。
在 Windows 10 和 11 中,CMD.exe(命令提示符)命令可以根据功能进行分类。以下是一个表格,列出了常见的命令及其分类。
| 分类 | 命令 | 描述 |
|---|---|---|
| 系统管理命令 | chkdsk |
检查磁盘并修复错误 |
diskpart |
磁盘分区管理 | |
shutdown |
关机或重启计算机 | |
tasklist |
列出当前运行的进程 | |
taskkill |
结束指定的进程 | |
systeminfo |
显示计算机的详细配置信息 | |
sfc |
系统文件检查工具,修复损坏的系统文件 | |
| 文件和目录操作命令 | dir |
列出目录中的文件和子目录 |
copy |
复制文件 | |
del |
删除文件 | |
rename |
重命名文件或目录 | |
move |
移动文件或目录 | |
mkdir |
创建新目录 | |
rmdir |
删除目录(如果为空) | |
xcopy |
复制文件和目录(包括子目录) | |
| 网络相关命令 | ping |
测试网络连接 |
ipconfig |
显示和配置 IP 配置 | |
tracert |
路由跟踪 | |
netstat |
显示网络连接、路由表和网络接口统计信息 | |
nslookup |
查询 DNS | |
net |
启动与网络共享、用户、服务相关的命令,如 net user 等 |
|
| 用户账户管理命令 | net user |
创建、修改或删除用户帐户 |
net localgroup |
管理本地组 | |
whoami |
显示当前登录的用户名 | |
runas |
使用不同的用户身份运行程序 | |
| 环境变量与批处理 | set |
设置环境变量 |
echo |
显示消息或环境变量 | |
call |
在批处理文件中调用另一个批处理文件 | |
pause |
暂停批处理文件的执行,直到按键 | |
exit |
退出 CMD | |
| 硬件和设备管理命令 | wmic |
Windows 管理工具命令,查看硬件、操作系统信息 |
driverquery |
显示已安装的设备驱动程序 | |
devmgmt.msc |
启动设备管理器 | |
| 磁盘和文件系统命令 | format |
格式化磁盘 |
defrag |
磁盘碎片整理 | |
fsutil |
执行文件系统任务 | |
vol |
显示磁盘卷标和序列号 | |
| 程序和应用管理命令 | start |
启动新进程(程序) |
taskkill |
强制结束运行中的进程 | |
exit |
退出命令提示符 | |
assoc |
显示或修改文件扩展名关联 | |
| 时间和日期相关命令 | date |
显示或设置日期 |
time |
显示或设置时间 | |
| 安全性和权限管理命令 | icacls |
显示、修改文件和目录的权限 |
cacls |
管理文件权限(已被 icacls 替代) |
|
takeown |
获取文件或文件夹的所有权 | |
secedit |
配置安全策略 | |
| 错误诊断和日志命令 | eventvwr |
打开事件查看器 |
chkdsk |
检查并修复磁盘错误 | |
sfc |
执行系统文件检查 | |
driverquery |
查询系统驱动程序信息 | |
| 系统资源管理命令 | tasklist |
显示当前正在运行的进程 |
taskkill |
结束一个或多个进程 | |
perfmon |
启动性能监视器 |
这些命令是 Windows 命令提示符(CMD.exe)中最常用的命令,它们根据功能被分为不同类别,用于系统管理、文件操作、网络设置、用户管理、安全性、硬件管理等不同任务。
提供更多的 Windows 10 和 11 中常见的 CMD 命令,进一步分类及描述:
| 分类 | 命令 | 描述 |
|---|---|---|
| 磁盘管理命令 | diskpart |
用于磁盘分区、格式化、删除、调整分区等操作 |
chkdsk |
检查并修复磁盘上的错误 | |
format |
格式化磁盘或驱动器 | |
fsutil |
进行文件系统管理,如查询磁盘空间、设置硬盘加密等 | |
mountvol |
映射卷路径到一个驱动器或文件夹 | |
| 硬件和设备管理命令 | driverquery |
列出已安装的所有驱动程序 |
devmgmt.msc |
打开设备管理器 | |
msinfo32 |
打开系统信息工具,提供关于硬件、操作系统和驱动程序的信息 | |
| 内存和性能管理命令 | tasklist |
显示当前运行的所有进程及其资源消耗情况 |
taskkill |
结束一个或多个进程 | |
wmic |
通过 WMI(Windows Management Instrumentation)接口查询硬件、软件、配置和网络设置 | |
perfmon |
启动性能监视器,查看系统性能数据 | |
| 远程管理命令 | psexec |
执行远程系统命令 |
mstsc |
启动远程桌面连接 | |
net use |
连接、断开或管理网络共享 | |
telnet |
使用 Telnet 协议连接远程主机 | |
| 服务和进程管理命令 | net start |
启动服务 |
net stop |
停止服务 | |
sc |
管理服务,包括启动、停止、配置服务等 | |
tasklist |
显示当前系统运行的所有进程和线程的详细信息 | |
| 系统日志和事件管理 | eventvwr |
打开事件查看器,查看应用程序和系统日志 |
wevtutil |
管理 Windows 事件日志,包括清除日志、导出日志等 | |
| 用户与组管理命令 | net user |
创建、删除、修改用户账户 |
net localgroup |
管理本地用户组 | |
whoami |
显示当前登录的用户名 | |
| 日期与时间管理命令 | date |
显示或设置系统日期 |
time |
显示或设置系统时间 | |
tzutil |
显示或设置时区 | |
| 文件共享和权限管理命令 | net share |
配置文件和打印机共享 |
net use |
连接或断开网络共享 | |
icacls |
查看或更改文件和文件夹的访问控制列表 (ACL) 权限 | |
cacls |
修改文件的访问控制列表(已被 icacls 替代) |
|
| 安全性命令 | secedit |
配置和管理安全设置 |
cipher |
管理加密文件和文件夹的设置 | |
takeown |
获取文件或文件夹的所有权 | |
| 备份和还原命令 | wbadmin |
启动备份和还原命令 |
backup |
启动备份工具 | |
restore |
恢复文件或系统备份 | |
| Windows 更新管理命令 | wuauclt |
启动 Windows 更新检查和安装(Windows Update 客户端) |
ms-settings |
打开 Windows 设置界面 | |
| 系统信息和配置命令 | msinfo32 |
打开系统信息工具,查看硬件和系统配置 |
systeminfo |
显示关于计算机的详细配置信息 | |
regedit |
打开注册表编辑器 | |
reg |
命令行方式管理 Windows 注册表(查看、导入、导出、修改等) | |
| 启动与关闭命令 | shutdown |
关机、重启或注销计算机 |
restart-computer |
PowerShell 命令,重启计算机 | |
| 远程管理与连接命令 | netstat |
显示网络连接状态和端口信息 |
telnet |
启动 Telnet 客户端,连接远程主机 | |
| 批处理命令 | batch |
批处理文件(.cmd)自动化命令的编写 |
call |
在批处理文件中调用其他批处理文件 | |
exit |
退出命令提示符或批处理文件 | |
pause |
在批处理文件中暂停执行,等待用户输入 |
这些是一些额外的命令和它们的描述,覆盖了磁盘管理、硬件管理、用户管理、远程管理、系统配置、安全性、备份与恢复等多个方面。命令行工具(CMD)和 PowerShell 都是 Windows 系统管理中强大的工具,能够有效地执行各种操作。根据不同的需求,你可以使用适当的命令来执行任务。
更多的 Windows 10 和 Windows 11 中常见的 CMD 命令,继续按分类进行介绍:
| 分类 | 命令 | 描述 |
|---|---|---|
| 网络和互联网管理命令 | ipconfig |
显示和管理网络适配器的 IP 地址、子网掩码、默认网关等信息 |
ping |
测试网络连接,检查与远程计算机或网络设备的连接状态 | |
tracert |
跟踪数据包从本机到目标主机的路径(路由) | |
nslookup |
查询域名系统(DNS),解析域名和 IP 地址 | |
netstat |
显示网络连接、路由表和网络接口的详细信息 | |
netsh |
配置网络接口、服务和防火墙等设置 | |
route |
显示和管理网络路由表 | |
ftp |
使用 FTP 协议连接和管理远程文件传输 | |
telnet |
使用 Telnet 协议连接远程主机,常用于测试和调试 | |
net |
用于网络命令(如管理用户、共享、服务等) | |
| 文件与文件夹操作命令 | dir |
列出指定目录的文件和文件夹 |
cd |
切换目录(Change Directory) | |
md / mkdir |
创建新目录(Make Directory) | |
rd / rmdir |
删除空目录(Remove Directory) | |
del |
删除一个或多个文件 | |
copy |
复制文件 | |
xcopy |
复制文件和目录,支持更多的复制选项 | |
robocopy |
高级文件复制工具,支持断点续传和多线程复制 | |
move |
移动文件或目录 | |
ren |
重命名文件或文件夹 | |
| 压缩和解压命令 | compact |
显示或压缩文件夹中的文件 |
expand |
解压缩文件 | |
| 系统维护命令 | sfc |
系统文件检查工具,扫描并修复损坏或丢失的系统文件 |
dism |
使用部署映像服务和管理工具(DISM)来修复 Windows 映像或系统文件 | |
msconfig |
配置启动选项和系统设置,帮助优化启动和排除故障 | |
chkdsk |
检查并修复硬盘上的错误 | |
shutdown |
关机、重启或注销计算机 | |
| 电源管理命令 | powercfg |
配置和管理电源设置,创建、查看、修改电源计划 |
| 批处理文件命令 | echo |
在命令行或批处理文件中输出文本或信息 |
set |
设置或显示环境变量 | |
for |
执行循环操作,遍历文件夹、变量或执行多次命令 | |
goto |
用于在批处理文件中跳转到指定标签 | |
if |
条件判断命令,用于批处理文件中实现条件执行 | |
call |
在批处理文件中调用其他批处理文件 | |
| 磁盘镜像与备份命令 | wbadmin |
使用 Windows 备份工具进行备份和恢复 |
vssadmin |
管理卷影复制服务(VSS)进行备份 | |
| Windows 防火墙命令 | netsh advfirewall |
配置和管理 Windows 防火墙设置 |
firewall.cpl |
打开 Windows 防火墙设置界面 | |
| 文件系统命令 | fsutil |
文件系统实用工具,用于管理磁盘卷、文件和硬盘加密等功能 |
attrib |
显示或更改文件的属性,例如隐藏、只读、系统文件等 | |
| 控制面板命令 | control |
打开控制面板的主界面 |
control appwiz.cpl |
打开程序和功能(卸载程序界面) | |
control panel |
打开控制面板 | |
control /name Microsoft.NetworkAndSharingCenter |
打开“网络和共享中心” | |
| 安全性和权限命令 | icacls |
查看和更改文件或文件夹的访问控制列表(ACL)权限 |
cacls |
修改文件的访问控制列表(已被 icacls 替代) |
|
| 远程桌面命令 | mstsc |
启动远程桌面连接,用于远程访问计算机 |
| 注册表操作命令 | regedit |
打开 Windows 注册表编辑器 |
reg |
操作 Windows 注册表,包括查看、导入、导出和修改 | |
| 事件查看器命令 | eventvwr.msc |
打开事件查看器,查看系统、应用程序和安全日志 |
wevtutil |
管理 Windows 事件日志,包括导出、清理和查询日志 | |
| Windows 更新命令 | wuauclt |
强制启动 Windows 更新检查和安装 |
ms-settings windowsupdate |
打开 Windows 更新设置界面 |
这些命令不仅能够帮助你管理和调试系统、文件和网络,还可以提高系统管理效率。尤其在进行故障排查、批处理自动化任务、系统备份、更新管理等方面,掌握这些命令非常有帮助。
继续列出更多的 Windows 10 和 Windows 11 CMD 命令,按不同功能分类:
| 分类 | 命令 | 描述 |
|---|---|---|
| 系统信息命令 | systeminfo |
显示计算机的详细系统信息,如操作系统版本、内存、网络配置等 |
hostname |
显示计算机的主机名 | |
ver |
显示 Windows 操作系统的版本信息 | |
tasklist |
显示当前正在运行的所有进程和程序 | |
taskkill |
终止指定进程或程序 | |
| 磁盘管理命令 | diskpart |
分区和管理磁盘的工具,可以创建、删除和格式化磁盘分区 |
format |
格式化磁盘分区 | |
chkdsk |
检查并修复硬盘上的错误 | |
fsutil |
文件系统管理工具,用于管理文件系统特性,如文件加密、磁盘配额等 | |
| 用户和组管理命令 | net user |
管理用户账户,添加、修改或删除用户 |
net localgroup |
管理本地组,查看或修改组成员 | |
net accounts |
查看或修改计算机的密码策略 | |
net group |
管理域组(在域环境下使用) | |
net session |
查看当前计算机的网络会话 | |
whoami |
显示当前登录用户的用户名 | |
netsh wlan show profiles |
查看已连接的无线网络配置文件 | |
| 时间和日期命令 | date |
显示或设置系统的日期 |
time |
显示或设置系统的时间 | |
tzutil |
显示或设置计算机的时区 | |
| 打印机和打印任务命令 | print |
向指定的打印机发送文件 |
lpq |
显示打印队列中的任务 | |
lpr |
向打印队列发送文件 | |
| 服务和进程管理命令 | sc |
控制服务的启动、停止、配置等操作 |
net start |
启动指定服务 | |
net stop |
停止指定服务 | |
taskkill /f /im <processname> |
强制终止指定进程 | |
| 内存和性能命令 | wmic |
使用 Windows Management Instrumentation (WMI) 获取系统信息 |
perfmon |
启动性能监视器,用于监控系统资源(CPU、内存、磁盘等) | |
resmon |
启动资源监视器,查看 CPU、内存、磁盘和网络的实时使用情况 | |
| 驱动程序和硬件管理命令 | driverquery |
列出系统中安装的所有驱动程序 |
pnputil |
管理驱动程序包(安装、删除、列出) | |
| 脚本与批处理命令 | forfiles |
按文件时间、名称或其他条件执行命令 |
setlocal |
在批处理文件中开始局部变量的作用域 | |
endlocal |
结束局部变量作用域 | |
call |
调用另一个批处理文件或命令 | |
| 应用程序和程序管理命令 | start |
启动指定的应用程序或打开文件 |
assoc |
显示或更改文件扩展名的关联程序 | |
ftype |
显示或更改文件类型的程序关联 | |
| Windows 更新命令 | wuauclt /detectnow |
立即检测 Windows 更新 |
wuauclt /reportnow |
立即报告 Windows 更新状态 | |
| 磁盘映像和备份命令 | wbadmin start backup |
开始创建备份 |
wbadmin start recovery |
执行备份恢复操作 | |
wbadmin get versions |
列出可用的备份版本 | |
| 事件查看与日志命令 | wevtutil qe Application |
查询应用程序日志 |
wevtutil qe Security |
查询安全日志 | |
wevtutil qe System |
查询系统日志 | |
| Windows 注册表命令 | reg add |
向注册表中添加键或值 |
reg delete |
删除注册表中的键或值 | |
reg query |
查询注册表中的键或值 | |
reg export |
导出注册表的内容到文件 | |
reg import |
从文件导入注册表内容 | |
| 远程命令和连接命令 | mstsc |
启动远程桌面连接 |
net use |
映射网络驱动器或连接网络共享 | |
psexec |
执行远程命令(需要 PsTools 工具集) | |
ssh |
通过 SSH 协议连接远程计算机(Windows 10/11 中可用) | |
| 文件和磁盘恢复命令 | recovery |
启动 Windows 恢复环境 |
restore |
恢复系统或文件 | |
| 文件共享和远程访问命令 | net share |
查看、创建、删除网络共享 |
net use |
连接到共享文件夹或打印机 | |
| Windows 任务调度命令 | schtasks |
管理和安排定时任务 |
| 调试和故障排除命令 | debug |
启动调试器,进行系统级调试(通常在低级调试时使用) |
eventcreate |
创建自定义事件日志条目 |
这些命令可以帮助你在 Windows 系统中进行更细致的管理和调试,尤其是在系统管理、性能监控、用户管理、网络诊断和自动化脚本等方面。掌握这些命令对于提高工作效率和解决问题非常有帮助。

浙公网安备 33010602011771号