PowerShell可直接管理磁盘全生命周期操作,包括Get-Disk/Get-Partition识别状态、Initialize-Disk初始化、New-Partition创建分区、Format-Volume格式化、Resize-Partition扩展收缩等,全程无需GUI或外部工具。
powershell 可以直接调用 windows 存储子系统(如 storage、diskpart 和 wmi/cim 接口),完成磁盘初始化、分区创建、格式化、卷挂载、扩展收缩等操作,无需依赖外部工具或 gui。
识别可用磁盘与当前分区状态
使用 Get-Disk 和 Get-Partition 查看物理磁盘和分区布局。新磁盘通常显示为“Offline”且无分区表;已初始化磁盘会显示分区编号、类型(如 EFI、MSR、Basic)和驱动器号。
- 运行
Get-Disk | Where-Object {$_.OperationalStatus -eq 'Online'}筛选在线磁盘 - 对指定磁盘(如 DiskNumber=1)执行
Get-Partition -DiskNumber 1查看其分区结构 - 注意 IsReadOnly 和 IsOffline 属性,未初始化磁盘需先设为在线并清除只读
初始化磁盘并创建主分区
新磁盘必须初始化为 GPT 或 MBR 格式后才能划分分区。GPT 更推荐(支持 >2TB、多主分区、UEFI 启动兼容)。
- 设置磁盘在线:
Set-Disk -Number 1 -IsOffline $false - 清除只读:
Set-Disk -Number 1 -IsReadOnly $false - 初始化为 GPT:
Initialize-Disk -Number 1 -PartitionStyle GPT - 新建主分区并分配盘符:
New-Partition -DiskNumber 1 -UseMaximumSize -DriveLetter D
格式化分区并启用快速格式化
新建分区默认无文件系统,需显式格式化。NTFS 是 Windows 主流选择,支持压缩、权限、配额等功能。
- 格式化命令:
Format-Volume -DriveLetter D -FileSystem NTFS -NewFileSystemLabel "Data" -Confirm:$false - 添加
-Force跳过确认提示;-AllocationUnitSize可指定簇大小(如 4096、65536) - 若需启用压缩或加密,可在格式化后用
Set-Volume或Enable-BitLocker追加配置
扩展/收缩卷及调整挂载点
已存在卷可动态调整大小(前提是相邻空间未被占用),也可移除盘符、改用空目录挂载(Mount Point)提升灵活性。
- 扩展卷(需右侧有未分配空间):
Resize-Partition -DriveLetter D -Size (Get-PartitionSupportedSize -DriveLetter D).SizeMax - 收缩卷到指定大小:
Resize-Partition -DriveLetter D -Size 50GB - 取消盘符并挂载到文件夹:
Remove-PartitionAccessPath -DriveLetter D; Add-PartitionAccessPath -DiskNumber 1 -PartitionNumber 2 -AccessPath "C:\Mount\Data"
不复杂但容易忽略细节:操作前建议用 Clear-Disk -Number X -RemoveData -RemoveOEM -Confirm:$false 彻底擦除旧数据;所有变更均需管理员权限运行 PowerShell;生产环境务必先备份关键数据再执行分区修改。

















