Appearance
磁盘管理
磁盘是计算机存储数据的核心设备,Windows 提供了多种工具来管理磁盘和分区。本章介绍磁盘管理的基本概念和操作方法。
磁盘基础概念
存储设备类型
| 类型 | 说明 | 特点 |
|---|---|---|
| HDD(机械硬盘) | 传统磁盘存储 | 容量大、价格低、速度慢 |
| SSD(固态硬盘) | 闪存存储 | 速度快、静音、价格较高 |
| NVMe SSD | 高速固态硬盘 | 极速读写、M.2 接口 |
| USB 闪存盘 | 便携存储 | 即插即用、便于携带 |
| SD 卡 | 便携存储 | 常用于相机、手机 |
分区类型
text
Windows 支持两种分区样式:
MBR(主引导记录)
├── 最多支持 4 个主分区
├── 最大支持 2TB 磁盘
├── 兼容性好
└── 传统 BIOS 启动
GPT(GUID 分区表)
├── 最多支持 128 个分区
├── 支持超大磁盘(18EB)
├── 更安全的数据结构
└── UEFI 启动必需文件系统
| 文件系统 | 说明 | 适用场景 |
|---|---|---|
| NTFS | Windows 默认文件系统 | 系统盘、大文件 |
| FAT32 | 兼容性好,单文件最大 4GB | U 盘、小文件 |
| exFAT | 扩展 FAT,支持大文件 | 大容量 U 盘、跨平台 |
| ReFS | 弹性文件系统 | 服务器、存储池 |
基本磁盘与动态磁盘
text
基本磁盘
├── 最常用的磁盘类型
├── 包含主分区和扩展分区
└── 支持标准分区操作
动态磁盘
├── 支持高级功能
├── 跨区卷、带区卷、镜像卷
└── 已被存储空间取代(不推荐使用)磁盘管理工具
图形界面工具
powershell
# 打开磁盘管理
diskmgmt.msc
# 通过计算机管理
compmgmt.msc # 存储 → 磁盘管理
# 通过设置
# 设置 → 系统 → 存储 → 高级存储设置 → 磁盘和卷命令行工具
powershell
# diskpart - 强大的磁盘管理工具
diskpart
# PowerShell 磁盘管理命令
Get-Disk
Get-Partition
Get-Volume
# fsutil - 文件系统工具
fsutil fsinfo volumeinfo C:使用磁盘管理工具
查看磁盘信息
powershell
# 使用 PowerShell 查看磁盘
Get-Disk
# 查看详细信息
Get-Disk | Format-List *
# 查看特定磁盘
Get-Disk -Number 0
# 查看分区信息
Get-Partition
# 查看卷信息
Get-Volume
# 查看磁盘物理信息
Get-PhysicalDisk
# 使用 diskpart 查看
diskpart
list disk # 列出磁盘
list volume # 列出卷
list partition # 列出分区初始化新磁盘
powershell
# 方法一:使用 PowerShell
# 查看未初始化的磁盘
Get-Disk | Where-Object PartitionStyle -eq 'RAW'
# 初始化磁盘(MBR 分区样式)
Initialize-Disk -Number 1 -PartitionStyle MBR
# 初始化磁盘(GPT 分区样式)
Initialize-Disk -Number 1 -PartitionStyle GPT
# 方法二:使用 diskpart
diskpart
select disk 1
clean # 清除磁盘(注意:会删除所有数据)
convert gpt # 转换为 GPT
# 或
convert mbr # 转换为 MBR创建分区
powershell
# 创建新分区
New-Partition -DiskNumber 1 -Size 100GB -DriveLetter D
# 创建分区并格式化
New-Partition -DiskNumber 1 -Size 100GB -DriveLetter D |
Format-Volume -FileSystem NTFS -NewFileSystemLabel "数据盘" -Confirm:$false
# 创建使用所有剩余空间的分区
New-Partition -DiskNumber 1 -UseMaximumSize -DriveLetter E |
Format-Volume -FileSystem NTFS -Confirm:$false
# 使用 diskpart 创建分区
diskpart
select disk 1
create partition primary size=102400 # 创建 100GB 分区
format fs=ntfs quick
assign letter=D格式化分区
powershell
# 格式化卷
Format-Volume -DriveLetter D -FileSystem NTFS -NewFileSystemLabel "数据盘"
# 快速格式化
Format-Volume -DriveLetter D -FileSystem NTFS -Quick
# 指定分配单元大小
Format-Volume -DriveLetter D -FileSystem NTFS -AllocationUnitSize 4096
# 格式化为 FAT32
Format-Volume -DriveLetter E -FileSystem FAT32
# 使用 diskpart 格式化
diskpart
select volume D
format fs=ntfs quick label="数据盘"调整分区大小
powershell
# 查看分区大小
Get-Partition -DriveLetter C | Select-Object Size, DriveLetter
# 扩展分区(需要相邻未分配空间)
Resize-Partition -DriveLetter C -Size 200GB
# 扩展到最大可用空间
$MaxSize = (Get-PartitionSupportedSize -DriveLetter C).SizeMax
Resize-Partition -DriveLetter C -Size $MaxSize
# 缩小分区
Resize-Partition -DriveLetter D -Size 50GB
# 使用 diskpart 调整大小
diskpart
select volume C
extend size=10240 # 扩展 10GB
extend # 扩展所有可用空间
shrink desired=10240 # 缩小 10GB删除分区
powershell
# 删除分区(注意:会删除所有数据)
Remove-Partition -DriveLetter D -Confirm:$false
# 删除磁盘上的所有分区
Get-Partition -DiskNumber 1 | Remove-Partition -Confirm:$false
# 清除整个磁盘
Clear-Disk -Number 1 -RemoveData -Confirm:$false
# 使用 diskpart 删除分区
diskpart
select disk 1
select partition 1
delete partition更改驱动器号
powershell
# 更改驱动器号
Set-Partition -DriveLetter D -NewDriveLetterLetter E
# 添加驱动器号
Add-PartitionAccessPath -DiskNumber 1 -PartitionNumber 1 -AccessPath "F:"
# 移除驱动器号
Remove-PartitionAccessPath -DiskNumber 1 -PartitionNumber 1 -AccessPath "F:"
# 使用 diskpart 更改驱动器号
diskpart
select volume D
assign letter=E
remove letter=D磁盘维护
检查磁盘错误
powershell
# 使用 chkdsk 检查磁盘
# 检查 C 盘(只读模式)
chkdsk C:
# 检查并修复错误
chkdsk C: /F
# 检查坏扇区
chkdsk C: /R
# 强制卸载卷
chkdsk C: /F /X
# 使用 PowerShell
Repair-Volume -DriveLetter C -Scan # 扫描
Repair-Volume -DriveLetter C -SpotFix # 快速修复
Repair-Volume -DriveLetter C -OfflineScanAndFix # 离线修复磁盘碎片整理
powershell
# 分析磁盘碎片
defrag C: /A
# 优化磁盘
defrag C: /O
# 传统碎片整理
defrag C:
# 完全优化
defrag C: /D
# 优化所有磁盘
defrag /C /O
# 使用 PowerShell
Optimize-Volume -DriveLetter C -Analyze # 分析
Optimize-Volume -DriveLetter C -Defrag # 碎片整理
Optimize-Volume -DriveLetter C -Trim # TRIM(SSD)磁盘清理
powershell
# 打开磁盘清理工具
cleanmgr
# 打开特定驱动器的磁盘清理
cleanmgr /d C:
# 打开高级清理选项
cleanmgr /sageset:1
cleanmgr /sagerun:1
# 使用 PowerShell 清理临时文件
# 清理临时文件夹
Remove-Item -Path "$env:TEMP\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "C:\Windows\Temp\*" -Recurse -Force -ErrorAction SilentlyContinue
# 清理回收站
Clear-RecycleBin -Force
# 清理 Windows 更新缓存
Remove-Item -Path "C:\Windows\SoftwareDistribution\Download\*" -Recurse -Force -ErrorAction SilentlyContinue查看磁盘使用情况
powershell
# 查看磁盘空间
Get-PSDrive -PSProvider FileSystem
# 查看详细磁盘信息
Get-CimInstance -ClassName Win32_LogicalDisk |
Select-Object DeviceID,
@{N='Size(GB)';E={[math]::Round($_.Size/1GB,2)}},
@{N='Free(GB)';E={[math]::Round($_.FreeSpace/1GB,2)}},
@{N='Used(%)';E={[math]::Round(($_.Size - $_.FreeSpace) / $_.Size * 100, 2)}}
# 查看文件夹大小
$folder = "C:\Users"
$size = (Get-ChildItem -Path $folder -Recurse -Force -ErrorAction SilentlyContinue |
Measure-Object -Property Length -Sum).Sum / 1MB
Write-Host "$folder 大小: $([math]::Round($size, 2)) MB"
# 查看大文件
Get-ChildItem -Path C:\ -Recurse -Force -ErrorAction SilentlyContinue |
Where-Object { $_.Length -gt 100MB } |
Select-Object FullName, @{N='Size(MB)';E={[math]::Round($_.Length/1MB,2)}} |
Sort-Object 'Size(MB)' -Descending存储空间
什么是存储空间
存储空间是 Windows 内置的软件定义存储解决方案:
- 将多个物理磁盘组合成存储池
- 创建具有不同冗余级别的虚拟磁盘
- 支持故障恢复和数据保护
创建存储空间
powershell
# 查看物理磁盘
Get-PhysicalDisk
# 创建存储池
$disks = Get-PhysicalDisk | Where-Object CanPool -eq $true
New-StoragePool -FriendlyName "MyPool" -StorageSubsystemFriendlyName "Windows Storage*" -PhysicalDisks $disks
# 创建虚拟磁盘(简单模式)
New-VirtualDisk -StoragePoolFriendlyName "MyPool" -FriendlyName "MyDisk" -Size 1TB -ResiliencySettingName Simple
# 创建虚拟磁盘(镜像模式)
New-VirtualDisk -StoragePoolFriendlyName "MyPool" -FriendlyName "MyDisk" -Size 1TB -ResiliencySettingName Mirror
# 创建虚拟磁盘(奇偶校验模式)
New-VirtualDisk -StoragePoolFriendlyName "MyPool" -FriendlyName "MyDisk" -Size 1TB -ResiliencySettingName Parity
# 初始化虚拟磁盘并创建卷
Get-VirtualDisk -FriendlyName "MyDisk" |
Initialize-Disk -PartitionStyle GPT -PassThru |
New-Partition -AssignDriveLetter -UseMaximumSize |
Format-Volume -FileSystem NTFS -NewFileSystemLabel "Storage"管理存储空间
powershell
# 查看存储池
Get-StoragePool
# 查看虚拟磁盘
Get-VirtualDisk
# 扩展虚拟磁盘
Resize-VirtualDisk -FriendlyName "MyDisk" -Size 2TB
# 修复虚拟磁盘
Repair-VirtualDisk -FriendlyName "MyDisk"
# 添加磁盘到存储池
Add-PhysicalDisk -StoragePoolFriendlyName "MyPool" -PhysicalDisks (Get-PhysicalDisk -FriendlyName "新磁盘")BitLocker 加密
启用 BitLocker
powershell
# 查看 BitLocker 状态
Get-BitLockerVolume
# 启用 BitLocker(使用密码)
Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -PasswordProtector
# 启用 BitLocker(使用 TPM)
Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -TpmProtector
# 备份恢复密钥
Backup-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId "密钥ID"
# 暂停加密
Suspend-BitLocker -MountPoint "C:"
# 恢复加密
Resume-BitLocker -MountPoint "C:"管理 BitLocker
powershell
# 解锁驱动器
Unlock-BitLocker -MountPoint "D:" -Password
# 禁用 BitLocker
Disable-BitLocker -MountPoint "C:"
# 更改密码
$SecureString = ConvertTo-SecureString "新密码" -AsPlainText -Force
Set-BitLockerVolume -MountPoint "C:" -NewPassword $SecureString -PasswordProtector
# 添加恢复密钥
Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector磁盘配额
启用磁盘配额
powershell
# 启用磁盘配额
fsutil quota track C:
# 设置配额限制
fsutil quota modify C: 1073741824 2147483648 用户名
# 参数:卷、软限制(字节)、硬限制(字节)、用户名
# 查看配额信息
fsutil quota query C:
# 禁用磁盘配额
fsutil quota disable C:图形界面配置
text
1. 右键点击驱动器 → 属性
2. 点击"配额"选项卡
3. 勾选"启用配额管理"
4. 设置默认配额限制
5. 点击"配额项"查看和配置用户配额磁盘性能监控
性能计数器
powershell
# 查看磁盘性能计数器
Get-Counter -Counter "\PhysicalDisk(*)\Disk Read Bytes/sec"
Get-Counter -Counter "\PhysicalDisk(*)\Disk Write Bytes/sec"
Get-Counter -Counter "\PhysicalDisk(*)\% Disk Time"
# 持续监控
Get-Counter -Counter "\PhysicalDisk(*)\% Disk Time" -Continuous
# 查看磁盘队列
Get-Counter -Counter "\PhysicalDisk(*)\Avg. Disk Queue Length"磁盘健康状态
powershell
# 查看 SMART 信息(需要管理员权限)
Get-WmiObject -Namespace root\wmi -Class MSStorageDriver_FailurePredictStatus
# 查看磁盘信息
Get-PhysicalDisk | Select-Object FriendlyName, MediaType, HealthStatus, OperationalStatus
# 查看磁盘详细信息
Get-Disk | Select-Object Number, FriendlyName, OperationalStatus, HealthStatus, Size小结
本章介绍了 Windows 磁盘管理的主要内容:
- 磁盘基础:了解磁盘类型、分区样式和文件系统
- 磁盘管理工具:使用图形界面和命令行工具
- 分区操作:创建、格式化、调整和删除分区
- 磁盘维护:检查错误、碎片整理和磁盘清理
- 存储空间:创建和管理存储池
- BitLocker:加密保护磁盘数据
- 磁盘配额:限制用户磁盘使用量
- 性能监控:监控磁盘性能和健康状态
建议:
- 定期检查磁盘健康状态
- SSD 不需要进行碎片整理
- 重要数据使用 BitLocker 加密
- 定期清理磁盘空间
- 使用存储空间实现数据冗余
