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左右。