找回密码
注册 登录
查看: 14898|回复: 6

(转)win10 9879开启PUIS导致机械硬盘丢失现象与修复汇总

[复制链接]

该用户从未签到

发表于 2014-11-30 21:14:20 | 显示全部楼层 |阅读模式
以下仅基于论坛上的截至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。


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:
    1. /dev/sda:
    2. spin-up: setting power-up in standby to 0 (off)

    3. /dev/sdb:
    4. spin-up: setting power-up in standby to 0 (off)
    5. HDIO_DRIVE_CMD(powerup_in_standby) failed: Input/output error
    复制代码

    上述消息中,/dev/sda成功关闭;/dev/sdb关闭失败,因为该硬盘不支持PUIS。每台电脑的硬盘序号不一样。
    如果没有上述消息,将命令改为下面一条:
    1. /dev/sda:
    2. ……
    3. ATA device, with non-removable media
    4.          Model Number:       Hitachi HTS545050B9A300                 
    5. ……
    6. Commands/features:
    7.          Enabled        Supported:
    8. ……
    9.            *        Advanced Power Management feature set
    10.                      Power-Up In Standby feature set
    11.             *        SET_FEATURES required to spinup after power up
    12. ……
    复制代码

    “Power-Up In Standby feature set”前有*表示开启了PUIS,无*表示关闭。
  • 重启reboot

(方案来源: http://answers.microsoft.com/en- ... 3-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, 下载次数: 73)
  • 以管理员身份运行命令提示符cmd,导航到hdparm解压的位置
  • (可选)输入以下命令查询硬盘型号:
    第一块硬盘
    1. /dev/sda:
    2. spin-up: setting power-up in standby to 0 (off)

    3. /dev/sdb:
    4. spin-up: setting power-up in standby to 0 (off)
    5. HDIO_DRIVE_CMD(powerup_in_standby) failed: Input/output error
    复制代码

    上述消息中,/dev/sda成功关闭;/dev/sdb关闭失败,因为该硬盘不支持PUIS。每台电脑的硬盘序号不一样。
    如果没有上述消息,将命令中的/dev/sd?改为/dev/hd?,即:
    • do hdparm -s0 /dev/hda


    • do hdparm -s0 /dev/hdb

  • 退出。
    另,直接以管理员身份运行“关闭硬盘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盘启动。
  • 输入
    • HDAT2_50 /w



    • HDAT2 /w



    解释:/W参数是Wake Up 唤醒的意思,即关闭PUIS。
  • 修复完成后,将会列出当前的硬盘列表,按Esc退出,然后按电源键关机。
  • 开机正常,修复结束。如开机仍不正常,请参考 手动关闭PUIS切换到IDE模式






上一篇:怎么制作这样打硬盘启动!!
下一篇:封装xp时驱动包放在哪个文件夹下呢
  • TA的每日心情

    5 天前
  • 签到天数: 2359 天

    [LV.Master]伴坛终老

    发表于 2014-11-30 21:44:00 | 显示全部楼层
    收藏备用,谢谢了!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-5-4 10:29
  • 签到天数: 816 天

    [LV.10]以坛为家III

    发表于 2014-12-2 21:05:18 | 显示全部楼层
    个人认为现在还不适合使用win10
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-1-15 11:19:35 | 显示全部楼层
    还好没试用。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-12-5 12:35:14 | 显示全部楼层
    我也遇到这种事了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-7-31 19:02:17 | 显示全部楼层
    1024
    回复

    使用道具 举报

    该用户从未签到

    发表于 2021-5-29 23:50:49 | 显示全部楼层
    遇到此问题了
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则