- UID
- 958004
- 最后登录
- 1970-1-1
- 阅读权限
- 20
- 精华
- 主题
- 回帖
- 0
- 积分
- 133
- PB币
-
- 威望
-
- 贡献
-
- 技术
-
- 活跃
-
|

本帖最后由 z75h 于 2014-12-12 03:16 编辑
索引:硬盘丢失彻底修复流程
已放弃win10 9879并替换引导系统为旧版本的用户:
使用“五、硬盘修复方案”修复;
win10 9879或即将升级到win10 9879用户:
- 使用“三、临时找回硬盘方案”或“五、硬盘修复方案”找回硬盘;
- 重启进入win10,更新KB3021937补丁,使系统不再无脑开启PUIS;
- 重启,再次使用“五、硬盘修复方案”关闭PUIS一次。
----------------------------------------------
以下仅基于论坛上的截至2014.11.27的硬盘丢失反馈案例汇总。
请注意逻辑关系:A推出B不等于B推出A,例如“近期反馈硬盘丢失的大部分是升级或安装9879的用户”与“升级或安装9879的用户会发生硬盘丢失”是不等价的两个不同命题。
一、表现:
故障硬盘丢失表现为任意电脑的BIOS、UEFI均不认故障硬盘或不通电,特定版本PE、Linux、Clove、第三方引导工具、热插拔、正确的Intel RST驱动有助于识别故障硬盘。
通过特定版本PE、Linux、Clove、第三方引导工具、热插拔、Intel RST驱动只能临时识别故障硬盘,重启后仍可识别,关机后失效。故障硬盘换到另一台电脑上不通过这些方法亦可能无法识别。
注:
1、正常硬盘能被BIOS、UEFI直接识别。
2、有升级到9879的用户,其硬盘可见,但分区表损坏或容量变为128GB,不在本帖汇总范围。但问题原因可能跟硬盘丢失是一致的,也可能是因为无响应的磁盘清理。
二、分布:
发生硬盘丢失的几乎都是机械硬盘,SSD未确认有丢失。
品牌无差异:截至目前,反馈的故障品牌有日立、西数、希捷,型号有稳定型号也有故障门型号。
BIOS+MBR、EFI+GPT均有出现。
最近一年反馈硬盘丢失的大部分是升级或安装Windows Technical Preview build 9879的用户。
三、临时找回硬盘方案:
任意电脑,关机后失效:
A、特定版本PE,找到故障硬盘后热重启;
B、Linux磁盘修复工具,运行一遍后热重启;(推荐)
C、正常硬盘进入操作系统后,再插入故障硬盘(通过移动硬盘盒的请注意电流是否足够);
双硬盘的任意电脑,可以直接开机:
D、在正常硬盘上安装NTLDR或BOOTMGR以外的引导工具,如Clove,故障硬盘作为从盘;
双硬盘的Intel主板:
E、活动分区与操作系统安装在正常硬盘上,故障硬盘作为从盘,安装相符的Intel RST驱动。
注:楼主测试过的方案有A、B、C,A方案在RS780M主板上基于2003、XP的PE可用,基于7、8、10的PE不可用,在nForce4主板上均不可用,C方案在nForce4主板上不可用
目前反馈有效的永久找回硬盘的方案有:
临时找回硬盘,进入win10,关闭快速启动。提供方案的cui5853002,其电脑为单硬盘,通过Linux磁盘修复后,安装RST驱动,关闭快速启动,完全解决故障。注:楼主不能装RST驱动,只做前后两步,关机还是不行。
cui5853002补充反馈:关机还是失败
无效的尝试:
删除活动分区、重建MBR、PBR,重建分区表。有用户反馈有效,楼主测试无效。楼主的硬盘现在只有0扇区有数据,已重建,1-2048扇区以及100MB的保留分区已清零,故障未消失。不建议新手尝试。
关闭快速启动、关闭休眠、关闭混合睡眠、替换bootmgr。
最后:
可以确定,硬盘丢失的故障绝对不是因为用户操作不当。
此轮故障并未波及硬盘数据,可以通过前述临时方案找回数据,也可以等待微软出修复工具。
找到硬盘后只要不关机,随便重启硬盘都还在,这一点放在过去显得很扯淡,但现在确实发生了。
2014.11.26更新:
四、故障原因:
本次故障门是因为9879无视或没有正确识别电脑是否支持,直接开启了机械硬盘的PUIS (Power-up in standby, 待机上电) 功能。PUIS需要BIOS与硬盘同时支持。 如果硬盘启用PUIS,但系统的BIOS不支持PUIS,那么硬盘驱动器将会因为不通电而无法被系统检测,或者是检测到的容量大小为0。(来源:Michal Kozal)
SSD没有机械旋转部分,不存在PUIS功能,所以未被波及。
待机上电 (PUIS, Power-up in standby) 或 电源管理模式 2 (PM2,Power Management 2 Mode,西部数据特有)是一种SATA或PATA硬盘功能,其可以阻止硬盘驱动器自动旋转,并且允许其稍后在一个ATA标准的命令下启动。通常,只有硬盘驱动器需要省电的时候,才会启动这项功能。
PUIS需要BIOS的支持。 如果 PM2 在驱动器上启动,但是系统的BIOS不支持这种功能,那么硬盘驱动器可能不会被系统检测,或者是检测到的容量大小为0。PUIS被大多数的RAID芯片支持。
PM2通常是通过硬盘上的驱动器跳线来设定的,不过也可以尝试用其他的方式启动(比如向特定存储器写入数据或者使用特定工具)
来源:http://zh.wikipedia.org/wiki/%E6%8C%89%E9%9C%80%E5%90%AF%E5%8A%A8
五、硬盘修复方案:
目前可以通过Linux、Windows下的hdparm或DOS环境下的HDAT2关闭硬盘的PUIS。Linux hdparm由于不用切换IDE/AHCI/SATA模式,不用关闭secure boot,兼容性更好。
故障盘可以接到其他电脑上修复。
9879在开机和关机时各开启一次PUIS,造成故障盘再次丢失。所以在修复故障盘后,如果不想再次被失踪,在微软有动作之前,目前的唯一通用办法只有放弃9879。(KB3021937补丁已修复此问题,2014.12.10。)
Linux hdparm方案(推荐):
- 准备一张Linux启动盘,如Ubuntu、Fedora、Lubuntu,用UltraISO写入U盘
教程:http://www.ultraiso.net/review/uplus.htm,第二节,启动U盘制作 - 开机从U盘引导
- 选择不安装直接运行(“Try Linux/Ubuntu/xxx without installation”之类)
- 启动进入Linux之后,打开终端模拟器(Terminal,或者含有Term字样的图标)
- 输入以下命令关闭PUIS:
注:-s后面是零,不是字母O。
它会尝试关闭所有硬盘的PUIS,消息如下:
/dev/sda:
spin-up: setting power-up in standby to 0 (off)
/dev/sdb:
spin-up: setting power-up in standby to 0 (off)
HDIO_DRIVE_CMD(powerup_in_standby) failed: Input/output error
上述消息中,/dev/sda成功关闭;/dev/sdb关闭失败,因为该硬盘不支持PUIS。每台电脑的硬盘序号不一样。
如果没有上述消息,将命令改为下面一条:
- (可选)如果要检查是否关闭成功,输入:
将会列出当前所有磁盘的信息,格式如
/dev/sda:
……
ATA device, with non-removable media
Model Number: Hitachi HTS545050B9A300
……
Commands/features:
Enabled Supported:
……
* Advanced Power Management feature set
Power-Up In Standby feature set
* SET_FEATURES required to spinup after power up
……
“Power-Up In Standby feature set”前有*表示开启了PUIS,无*表示关闭。 - 重启reboot
(方案来源: http://answers.microsoft.com/en-us/windows/forum/windows_tp-windows_install/build-9879-hard-drive-disaster-read-this/7da0cd97-3ebc-4eb3-ae23-9873672e4e6d Michal Kozal 发现:bx5fU7DUcH62dbX )
Windows hdparm方案:
基本与Linux hdparm相同,不过windows版不支持?与*通配符,/dev/sd?需要改成/dev/sda、/dev/sdb、/dev/sdc……a、b、c分别指第一、二、三个磁盘驱动器,不是指分区。
- 下载附件
hdparm-win.zip
(969.3 KB, 下载次数: 1215)
,解压 - 以管理员身份运行命令提示符cmd,导航到hdparm解压的位置
- (可选)输入以下命令查询硬盘型号:
第一块硬盘
第二块硬盘
第三块……依次类推
- 输入以下命令关闭PUIS:
第一块硬盘
第二块硬盘
第三块……依次类推
注:-s后面是零,不是字母O。
回显消息如下:
/dev/sda:
spin-up: setting power-up in standby to 0 (off)
/dev/sdb:
spin-up: setting power-up in standby to 0 (off)
HDIO_DRIVE_CMD(powerup_in_standby) failed: Input/output error
上述消息中,/dev/sda成功关闭;/dev/sdb关闭失败,因为该硬盘不支持PUIS。每台电脑的硬盘序号不一样。
如果没有上述消息,将命令中的/dev/sd?改为/dev/hd?,即:
- 退出。
另,直接以管理员身份运行“关闭硬盘PUIS(以管理员身份运行).cmd”亦可,批处理写得粗糙,嘿嘿
HDAT2方案:
- 下载hdat2,下载地址:
http://www.hdat2.com/download.html
有dos环境的下载HDAT2_50.EXE,放进你的dos环境支持的U盘里。
没有dos环境或者不知道怎么弄的,下载HDAT2ISO_50_LITE.EXE,运行后解压出hdat2_v50_lite.iso,用UltraISO将解压后的hdat2_v50_lite.iso写入U盘。 - 关机,从U盘启动
对于预装系统为win8的电脑,可能需要从“高级启动(Advance Starup)”里关机、关闭secure boot才能从U盘启动。 - 输入
或
解释:/W参数是Wake Up 唤醒的意思,即关闭PUIS。 - 修复完成后,将会列出当前的硬盘列表,按Esc退出,然后按电源键关机。
- 开机正常,修复结束。如开机仍不正常,请参考 手动关闭PUIS或 切换到IDE模式
(方案来源:Michal Kozal 发现:jjjian)
2014.12.10更新:
六、win10 禁用PUIS补丁:
通过系统更新安装kb3021937补丁,9879不会再无脑开启PUIS,彻底终结硬盘丢失故障。
更新补丁后,需要用hdparm/hdat2手动关闭PUIS一次。
9888无法安装此补丁(来源:小叉子)。
完结。
|
评分
-
16
查看全部评分
-
|