Win11存储空间掉盘修复,正确移除不存在的硬盘

Windows存储空间有块硬盘莫名其妙损坏丢失,拔掉硬盘后仍残留有该坏硬盘信息,硬盘属性不可用,无法从设置中移除,这种情况需要在powershell中用命令标记并移除,还需要重新分配磁盘空间。

前言

事情是这样的,发现电脑fancontrol突然丢失了一块硬盘温度传感器,查了下CrystalDiskinfo和存储空间确认是某块硬盘丢失。根据deepseek的指示,我查到了那块硬盘是半个月前的一天傍晚,莫名其妙出现掉盘,然后就是断断续续提示IO错误。总之他驱动器坏掉了。在系统存储空间无法通过点击坏硬盘的属性来卸载它,因为一点属性系统设置就会闪退。尝试过Diskgenius和系统磁盘管理,均提示IO错误,无法操作。联系商家说可以换货。心想系统里面卸不掉此硬盘,那就关机直接拔掉好了。谁知拔掉后再开机,CrystalDiskinfo没有该坏硬盘信息了,但是系统存储空间居然还有该坏硬盘信息,界面和拔掉硬盘前是一点变化都没有呢。心想坏了,这坏硬盘还成狗皮膏药了,百度查询无果,用存储空间的人不多,这种bug是稀奇事。于是求助deepseek,结果怎么着,完美解决!

一、发现异常

如下图,在存储空间和CrystalDiskinfo可见名为"HUH721212ALE601"且序列号为"AAH83J3H"的硬盘出现了损坏,表现为硬盘丢失,硬盘参数未知,引起存储空间降级。

⚠️ 注意提示丢失的这块硬盘,其右侧的属性点不了的,一点击设置就会闪退,故无法从设置中将其卸载移除。

在这里插入图片描述
在这里插入图片描述
此外,diskgenius和磁盘管理也无法操作该硬盘。
在这里插入图片描述
在这里插入图片描述
这种情况就是硬盘驱动电路坏了,具体原因未知,怀疑和我购买的二手硬盘本身品质有关系,也有可能是商家送的硬盘转接电源线供电不稳。。。

二、定位故障发生时间及故障原因

目前这种棘手的情况,百度查询无果,因为在Windows使用存储空间是一件很小众的事。于是我转向求助见多识广的DeepSeek。
在这里插入图片描述
我想搞清楚这块硬盘是什么时候坏的,好进一步分析其损坏的原因。我不知道该怎么查,但我知道deepseek知道,于是我这样问他:

我在win11用4块机械硬盘组建了奇偶异或储存空间,用了几个月,突然发现提示其中一块机械硬盘丢失,也看不见驱动器号。我想知道那块硬盘是从什么时候开始丢失的,我该怎么查询呢?

deepseek的回答很明确,下面给的是其2种方式:

步骤1:通过「事件查看器」查找硬盘丢失的日志

1、打开事件查看器

按下 Win + S,搜索 事件查看器 并打开。

2、筛选系统日志

左侧导航至 Windows 日志 > 系统。

右侧点击 筛选当前日志。

在“事件来源”中勾选 disk、storsvc、Storport、DriverFrameworks-UserMode(这些是与存储和磁盘相关的关键来源)。

在“事件ID”栏输入以下常见ID(用逗号分隔):
  • 153:磁盘存在坏块或I/O错误。

  • 129:存储池降级(硬盘丢失后触发)。

  • 157:磁盘生命周期结束警告。

  • 11:磁盘驱动器检测到控制器错误。

  • 51:磁盘写入延迟或错误。

    点击 确定 后,按时间排序日志,查找最早记录的警告或错误事件,记录时间即为硬盘异常的起始点。

步骤2:使用PowerShell查询存储空间状态历史

1、以管理员身份运行PowerShell

右键开始菜单,选择 终端(管理员)。

2、检查存储池状态变更记录

输入以下命令查看存储池历史操作:
Get-StorageJob
这会显示最近的存储池维护任务(如修复、扩容等)及其时间。

3、查看物理磁盘详细信息

运行以下命令,检查各硬盘的最后操作状态:
Get-PhysicalDisk | ft FriendlyName, OperationalStatus, HealthStatus, Usage, LastDetectedTime
LastDetectedTime 可能显示硬盘最后一次被系统识别的时间。

通过deepseek给的步骤一,我已定位到了此硬盘首次发生故障的时间。从日志从日志顺序可看出,是51→157→153,即发现硬盘写入延迟或错误(检测到错误)→硬盘生命周期结束警告(发生意外移除)→硬盘存在坏块或IO错误(出现IO错误)。而那会我不在家,所以是电脑运行时,硬盘自己出现了问题,比如驱动器电路故障,烧掉了。

这不太想信号线中断引起,因为这不会导致驱动器损坏,所以问题可能出在供电上。供电用的是15p多路并联,其还连接了别的硬盘,而此坏硬盘采用了商家赠送的15p转4p转接线,同时另一块在此商家购买的正常硬盘用的是我自己买的大4p转4p线,所以推测是商家给的这个15p转4p线导致了供电不稳此次需要将这个转接线换掉
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、处理存储空间故障(划重点)

这才是本篇的重点。坏硬盘和商家联系后,可以换货,所以拆下来是必须的。拆之前我打算通过系统设置存储空间来使此硬盘脱机,然后再从系统中移除该硬盘,然而存储空间面板无法进入此坏硬盘属性页,其会引起设置闪退。所以常规操作是不行的了,迫于换货的快递小哥打电话来了,我心想,驱动器坏掉了,我关机拔掉便是。可谁知拔掉此坏硬盘,在空间,虽然CrystalDiskinfo没有坏硬盘信息了,但系统设置存储空间面板丝毫未发生变化,坏硬盘的信息仍然在存储空间硬盘列表里。我意识到,是时候让deepseek助力了。
在这里插入图片描述
我将电脑当前状况告诉了在线的deepseek,他立刻给出了清晰的操作步骤。

他说我可以通过以下步骤使用 PowerShell 从存储空间中移除故障硬盘的信息:

1、以管理员身份打开 PowerShell:

右键点击开始菜单,选择“Windows Terminal (管理员)”或“PowerShell (管理员)”。

2、查看存储池和物理磁盘信息:

Get-StoragePool | Select FriendlyName, HealthStatus
Get-PhysicalDisk | Select FriendlyName, SerialNumber, HealthStatus, OperationalStatus

确认故障硬盘的 FriendlyName 或 SerialNumber 以及其状态是否为 Lost Communication 或类似状态。

3、将故障硬盘标记为已退役(若未自动标记):

$faultyDisk = Get-PhysicalDisk -FriendlyName "故障硬盘名称"
Set-PhysicalDisk -UniqueId $faultyDisk.UniqueId -Usage Retired

4、从存储池中移除故障硬盘:

$pool = Get-StoragePool -FriendlyName "你的存储池名称"  # 替换为实际的存储池名称
Remove-PhysicalDisk -PhysicalDisk $faultyDisk -StoragePool $pool

5、刷新存储池状态:

Update-StoragePool -FriendlyName $pool.FriendlyName

6、验证移除结果:

Get-StoragePool | FL *
Get-PhysicalDisk | Where-Object { $_.HealthStatus -ne 'Healthy' }
确保故障硬盘已不在存储池中且状态更新。

注意事项:

如果存储池处于降级状态,替换新硬盘后需通过以下命令修复:

Add-PhysicalDisk -StoragePoolName "存储池名称" -PhysicalDisks (Get-PhysicalDisk -SerialNumber "新硬盘序列号")
Get-VirtualDisk | Repair-VirtualDisk
操作前请确保已备份重要数据,以防意外。
如果 PowerShell 命令报错,可能需要先重置硬盘状态或检查存储池是否允许移除。

完成上述步骤后,系统存储空间面板应不再显示故障硬盘信息。若仍存在残留,可能需要重启系统或检查存储空间元数据是否异常。


上面便是deepseek给的答复,我在执行完步骤2(查看存储池和物理磁盘信息)准备执行步骤3来标记故障硬盘时,卡住了。因为步骤3是通过给定故障硬盘名称,将它定义为faultyDisk来标记的,如下。而电脑中还有块和故障硬盘名称一样但序列号不一样的硬盘,仅采用名称,那万一把好硬盘一起移除了可就不好了。于是我就此问题再次询问deepseek。

$faultyDisk = Get-PhysicalDisk -FriendlyName "故障硬盘名称"

很遗憾,得到的是这个熟悉的回答:
在这里插入图片描述
于是我询问本地部署的deepseek-r1:7b,好吧,一句代码都没给。继续寻找在线的满血版deepseek,然后找到了硅基流动,因为这里有满血版deepseek。

在硅基流动了对不同版本的deepseek询问了上面的问题,从最初关于故障描述那里开始。deepseek-v3响应我了,并给出了和deepseek官网类似的回答。
在这里插入图片描述
在这里插入图片描述
紧接着给在硅基流动给出了我想要继续咨询的问题,他也及时回答我了:
在这里插入图片描述
注意到硅基流动deepseek-v3给出的方法是直接移除故障硬盘,而不是像官网R1那样先定义变量标记,再操作变量。最重要的是注意到他给出移除故障硬盘代码时,考虑了我的电脑存在同名硬盘的情况,所以他的解决思路就是在名称后面再加上序列号的参数,这样就有唯一性。虽然之前卡住时想到了要通过序列号来区分,但怎么加,现在是明白了,在FriendlyName参数后直接加SerialNumber即可
在这里插入图片描述
此时我打算安装硅基V3的操作来搞,在移除指令后直接追加硬盘名字、序列号来移除硬盘,然而报错了:
在这里插入图片描述
我第一反应是将保存反馈给硅基V3,结果他也卡住了。于是我仔细看看错误信息,意思是移除指令"Remove-PhysicalDisk后面不能这么加参数"。此时我已经学会了如何标记坏硬盘,于是继续采用官网R1的方法:

step1、执行如下指令来定义变量并标记坏硬盘(输入实际的坏盘名称和序列号),很顺利:

$faultyDisk = Get-PhysicalDisk -FriendlyName "HUH721212ALE601" -SerialNumber "AAH83J3H"
Set-PhysicalDisk -UniqueId $faultyDisk.UniqueId -Usage Retired

step2、然后便是定义存储池为变量(输入实际的存储池,即存储空间名称),并从存储池中移除刚刚标记的坏硬盘:

$pool = Get-StoragePool -FriendlyName "NAS HDD"
Remove-PhysicalDisk -PhysicalDisk $faultyDisk -StoragePool $pool

此时给出了移除硬盘的确认信息,我有些紧张,在确定代码OK,坏硬盘名称和序列号对应后,继续执行。结果也是很顺利:
在这里插入图片描述

step3、下一步便是刷新存储池状态:

Update-StoragePool -FriendlyName $pool.FriendlyName

同样给出了确认信息,继续执行,一切顺利:
在这里插入图片描述

step4、再下一步便是验证移除结果,目的是确保故障硬盘已不在存储池中且状态更新。

执行第一行代码,给了很多信息

Get-StoragePool | FL *

在这里插入图片描述

step5、然后执行下面这个,就很平静。

Get-PhysicalDisk | Where-Object { $_.HealthStatus -ne 'Healthy' }

在这里插入图片描述

查看存储空间

到此操作完毕,去看看设置存储空间,一切正常:
在这里插入图片描述
正在使用的同名硬盘也是正常的那块,说明坏硬盘信息被有效的移除了。

四、核对存储空间健康状态

通过上面的操作,系统设置存储空间已经显示为健康了,但不放心的话还可以通过终端确认。

1、在终端中执行以下命令查看健康状态:

Get-StoragePool -FriendlyName "NAS HDD" | Select FriendlyName, HealthStatus

在这里插入图片描述
可以看见,存储池为健康,一切正常,因为目前有3块硬盘,满足奇偶校验最低需求。

如果状态仍然是 Warning,说明存储池可能仍然处于降级状态,需要进一步修复。这通常意味着只剩下两块硬盘在存储空间,需要加新硬盘才能解决问题,则需要靠上面deepseek给的指令了。

2、查看当前列数

Get-VirtualDisk | Select FriendlyName, NumberOfColumns

在这里插入图片描述
可看见显示为3列,说明列数正常。

3、检查虚拟磁盘状态

Get-VirtualDisk | Select FriendlyName, OperationalStatus

在这里插入图片描述
虚拟磁盘状态为"OK",正常。

4、查看物理磁盘数据分布

Get-StorageJob | Where-Object { $_.Name -like "*Repair*" }
Get-PhysicalDisk | Select FriendlyName, Usage, Size, AllocatedSize

在这里插入图片描述
可以看见存储池数据在三块硬盘上是均匀分配的,所以也正常。

假如不是,可执行优化。就是设置存储空间右上角点优化(存储空间),或者执行如下指令:

# 触发数据重新分配和冗余重建
Repair-VirtualDisk -FriendlyName "你的虚拟磁盘名称"

此命令会尝试将数据重新分布到剩余的三块硬盘中,并重建冗余(若奇偶校验仍适用)。

系统会后台自动执行,可能需要较长时间(可通过任务管理器观察磁盘活动)。

五、总结

不得不夸夸deepseek,是真的牛啊,操作存储空间这种冷门的指令,我在百度搜索怎么查都查不到,他却清楚的很。当然了,这里说的是在线满血版deepseek。本地部署的还是不行,他的数据不够。

官网deepseek-R1给的代码存在未区分同名硬盘的问题,解决办法就是在指令后追加序列号参数,就可以唯一确定硬盘。此外使用定义变量的方式来操作一切正常,而直接使用则提示参数错误,这也许和powershell的规则有关系,这块我不是很清楚。

关于后面新硬盘到了,直接使用存储空间添加硬盘即可,无需再用终端。

另外需要注意的是,终端全程都是以管理员模式在运行,这个不要搞错。

从实际使用来看,虽然存储空间最低标准是3块硬盘,但至少还是使用4块比较好,因为太容易坏掉一块了。

后续

我将硬盘掉盘的情况告诉拼夕夕商家,对方说可以换货。在我将损坏的硬盘寄给对方后,发来了一块同样规格的西数12TB硬盘。
在系统设置存储空间里,物理磁盘那里点添加磁盘,选中新安装的硬盘。最下面“通过将现有数据分布在。。。”的这个优化选项一定要勾上。
在这里插入图片描述
优化完成效果如下,所有磁盘具有近似大小的数据分布。
在这里插入图片描述
至此存储池修复完毕,4块硬盘在奇偶校验模式下可以放心使用了。

不过考虑到数据均匀分布这种情况受限于最小硬盘容量。可通过增加硬盘数量,或者增加最小硬盘容量来解决。目前主板已没有多余的硬盘接口,所以可能会考虑增加最小硬盘容量,即将剩余的2块西数4TB换成2块西数12TB硬盘。

目前已用8TB,在数据均分模式下,最多还能再存入7TB左右。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sprlightning

您的鼓励是我最大的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值