You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows 10 Storage Spaces双向镜像数据恢复求助:存储池只读无法访问

存储池只读状态下的数据恢复思路

太糟了,遇到电源故障导致多块硬盘损坏的情况确实让人头大,尤其是原本寄希望于双向镜像的冗余来保数据,结果却卡在只读状态。我来分享几个可能帮你恢复幸存硬盘数据的步骤,所有操作前请务必先给这块幸存硬盘做整盘镜像备份,避免操作失误彻底丢失数据!

第一步:先确认存储池和物理磁盘的详细状态

打开管理员权限的PowerShell,运行以下命令收集关键信息:

  • 查看存储池核心状态:Get-StoragePool | Select-Object FriendlyName, OperationalStatus, HealthStatus, ResiliencySettingName
  • 查看物理磁盘状态:Get-PhysicalDisk | Select-Object FriendlyName, HealthStatus, OperationalStatus, CanPool, Size

重点确认幸存磁盘的HealthStatusHealthy,并且它属于目标存储池(可以通过Get-PhysicalDisk | Where-Object StoragePoolUniqueId -eq $pool.UniqueId关联验证,其中$pool是你从第一个命令中获取的存储池对象)。

第二步:尝试强制调整存储池冗余类型(风险操作,先备份!)

双向镜像需要至少2块健康磁盘支撑,现在只剩1块,系统会自动将池设为只读。你可以尝试把存储池的冗余类型改为Simple(无冗余),看能否让系统识别并挂载虚拟磁盘:

  1. 获取目标存储池对象:$pool = Get-StoragePool -FriendlyName "你的存储池名称"
  2. 尝试解除只读状态:Set-StoragePool -InputObject $pool -IsReadOnly $false
    • 如果提示“冗余不足”报错,可添加-Force参数强制执行:Set-StoragePool -InputObject $pool -IsReadOnly $false -Force
  3. 修改冗余类型为Simple:Set-StoragePool -InputObject $pool -ResiliencySettingName Simple -Force
  4. 检查虚拟磁盘状态:Get-VirtualDisk | Select-Object FriendlyName, OperationalStatus,如果状态变为Healthy,应该就能在文件资源管理器里看到对应的卷了。

第三步:直接挂载幸存磁盘上的存储池分区

如果上面的方法行不通,可以尝试直接读取幸存磁盘上的存储池数据分区:

  1. 打开管理员权限的diskpart工具:
    • 输入list disk找到幸存硬盘的磁盘号(比如Disk 2)
    • 输入select disk 2选中目标磁盘
    • 输入list partition,你会看到隐藏的存储池元数据分区和数据分区(通常最大的那个是数据分区)
    • 输入select partition X(X是数据分区的编号)
    • 输入assign letter=Z给这个分区分配盘符
  2. 打开文件资源管理器,查看Z盘是否能正常访问,若可以直接复制数据即可。

第四步:换系统/环境尝试导入存储池

你的存储池最初创建于Windows 7,后来升级到Windows 10,可能存在版本兼容性问题:

  • 可以找一台Windows 7的机器(或虚拟机),把幸存硬盘接上去,打开“存储池”管理界面尝试导入,看Win7能否识别并读取数据。
  • 或者在另一台Windows 10/11机器上连接硬盘,重新导入存储池,有时候当前系统的缓存或配置会干扰识别。

重要提醒

绝对不要点击“删除池”选项,这会彻底清除磁盘上的存储池元数据和数据,一旦操作就无法恢复了。

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

火山引擎 最新活动