You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell脚本无法找到Recovery Partition,求解决方案

修复后的PowerShell脚本:删除Recovery Partition并转为未分配空间

核心实现逻辑

通过Windows恢复分区的标准类型ID精准定位目标分区,先解除系统占用再执行删除操作,确保脚本能稳定识别并移除Recovery Partition。

完整可执行脚本

# 需以管理员权限运行此脚本
# 定位所有Recovery Partition(标准类型ID:de94bba4-06d1-4d40-a16a-bfd50179d6ac)
$recoveryPartitions = Get-Disk | Get-Partition | Where-Object { $_.TypeID -eq 'de94bba4-06d1-4d40-a16a-bfd50179d6ac' }

if ($recoveryPartitions) {
    foreach ($partition in $recoveryPartitions) {
        Write-Host "检测到Recovery Partition: 磁盘$($partition.DiskNumber),分区$($partition.PartitionNumber)"
        
        # 先将分区设为脱机,避免系统占用导致删除失败
        Set-Partition -DiskNumber $partition.DiskNumber -PartitionNumber $partition.PartitionNumber -IsOffline $true -ErrorAction SilentlyContinue
        
        # 强制删除分区,跳过确认提示
        Remove-Partition -DiskNumber $partition.DiskNumber -PartitionNumber $partition.PartitionNumber -Confirm:$false -ErrorAction Stop
        
        Write-Host "已成功删除Recovery Partition: 磁盘$($partition.DiskNumber),分区$($partition.PartitionNumber)"
    }
} else {
    Write-Host "未找到Recovery Partition"
}

关键细节说明

  • 权限要求:必须以管理员身份启动PowerShell,否则会因权限不足无法修改磁盘分区
  • 精准定位:依赖恢复分区的标准类型ID而非驱动器号/名称,避免因OEM自定义命名导致识别失败
  • 防占用处理:提前将分区设为脱机,解决系统后台进程占用分区无法删除的问题
  • 批量适配:自动遍历所有磁盘上的Recovery Partition,适配多磁盘的测试机器环境

排查方案

  1. 若仍提示找不到分区:

    • 执行Get-Partition | Select-Object DiskNumber, PartitionNumber, TypeID, Size查看所有分区的类型ID,确认目标分区的实际类型ID(部分OEM厂商可能自定义类型)
    • 通过Get-Disk检查磁盘的OperationalStatus,确保磁盘处于联机状态
  2. 若删除时提示分区被占用:

    • 重启机器后重新运行脚本,彻底释放系统进程对分区的占用
    • 可在删除前添加Remove-PartitionAccessPath -DiskNumber $partition.DiskNumber -PartitionNumber $partition.PartitionNumber,移除分区的挂载点后再执行删除

内容的提问来源于stack exchange,提问作者zerokool666

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 03:32:07