查看: 6857|回复: 22
收起左侧

[分享] 【原创】移动硬盘插入“Windows 10”系统后出现数据还原或丢失的原因及分析。

[复制链接]
羊羔助手
发表于 2020-5-13 23:23:15 | 显示全部楼层 |阅读模式
本帖最后由 羊羔助手 于 2020-5-14 10:36 编辑

  最近,电脑上出现了一个灵异的现象,那就是把移动硬盘分别在多个系统上使用时,会莫名其妙的出现硬盘数据自动还原、丢失、文件路径位置改变等问题。甚至一个被重命名几次的文件,切换到另一个系统上后还能恢复它数月前的文件名。就连文件属性中的“修改时间”和“访问时间”也都恢复到了它上次使用的时间。详情内容如下文。


  本人在两块机械硬盘上各有一个系统,分别是一块儿老旧硬盘上的“Windows XP”系统和“Windows 7”系统;以及另一块儿新硬盘上的“Windows 10”系统。本人平时都在“Windows XP”或“Windows 7”系统上工作,只有休闲娱乐时才通过“BIOS”切换到“Windows 10”系统。除此之外,本人还有一块儿移动硬盘,一直连接USB线插在主机上通着电,并被这三个系统共同使用。


  但是最近出现了一个诡异的现象,当我今天(5月12日)从“Windows 7”系统上工作完后,切换到“Windows 10”系统时,移动硬盘上的数据居然全部都自动恢复到了我上一次(5月8日)在“Windows 10”系统上使用的状态,包括我这几天来重命名的文件、新写入的数据等等……也都统统恢复到我5月8日之前的状态了。例如我打开一个“TXT”文档后,里面的内容全部都是5月8日之前的内容,而我在5月9日到5月12日之间新编辑的内容全都没有了,而且我在这几日内新建的文档也全部都丢失了,但是移动硬盘的容量并没有因此而减少。


  首先,我没有开启系统还原,也没有安装冰点还原或影子系统这类还原软件。而且我这个移动硬盘很古老,是一个老旧的叠瓦式机械硬盘,自身也没有自动备份功能,但是为什么会出现类似“Ghost”这样的情况呢?


无标题0.png


  当我再次切换回“Windows XP”或“Windows 7”系统时,打开这个移动硬盘会弹出“磁盘未被格式化”的提示,并且磁盘格式会变成原始的“RAW”格式(未经加工格式)。使用“CHKDSK /F”对其修复后会显示“主控文件表(MFT)位图属性的错误”和“正在修复卷位图的错误”等分区表错误,修复完成后可以正常打开这个移动硬盘了,但是我这几天(5月9日到5月12日)在“Windows 7”系统上工作的数据大多都丢失了,部分新建的文件或文档被“CHKDSK”磁盘修复后也都变成了碎片文件“file0000.chk”,在隐藏的“found.000”文件夹目录下可以找到它们,但大多数“CHK”碎片文件即便通过某些“CHK文件恢复工具”恢复了扩展名后也无法正常使用。在磁盘上能够正常访问的数据只有5月8日在“Windows 10”系统上保存的文件。


无标题1.png


  仅仅切换了一下操作系统,被移动到别的位置的文件,居然还能回到它原来的位置;被重命名的文件,居然还能恢复它原来的文件名;甚至是被删除到回收站中的文件,它居然还能原封不动的自己恢复出来!这种问题已经不是一次、两次了,这到底是怎么回事?


  已知本人拥有三个系统,“Windows XP”系统、“Windows 7”系统、“Windows 10”系统。无论是任何系统,如果将移动硬盘一直保持在一个系统上使用,不会出现此问题。如果把移动硬盘进行三个系统轮换使用,则会出现此问题。


  经过反复测试,如果只把移动硬盘在“Windows 7”系统和“Windows XP”系统之间进行切换,不会出现此问题。随后硬盘坏道检测后也无任何问题。因此,排除了硬盘本身的问题。如果把移动硬盘在“Windows 10”系统和“Windows 7”系统或“Windows XP”系统之间进行切换,则会出现此问题。因此,经过排除法,基本可以确定问题根源出现在了“Windows 10”系统上。


  在网上查询后,发现不少网友也都出现了跟我类似的问题,而且他们使用系统也都是“Windows 10”系统。


案例一:


无标题2.png


案例二:


无标题3.png


案例三:


无标题5.png


案例四:

无标题5.png

案例五:

无标题8.png


  通过在“百度贴吧”的求助,一个名为“月下松321”的网友对此问题作出了解答。


无标题4.png


  “Windows 10”系统默认开启的“快速启动”是什么?它又是什么原理?经过吧友“月下松321”的指点迷津,我咨询了一下微软,官方给出的解释是这样的:


  【win10的快速启动是怎么实现的呢?说到底层细节,其实win10快速启动原理和休眠类似,但是所有用户进程(比如你开的记事本,浏览器之类的)都会被结束掉。结束后,内存里就剩下内核及系统相关的模块(诸如ntoskrnl,kernel32,ntdll……)还有一部分驱动了,这时候,把它们写到硬盘里的一个文件里,下次开机直接把它们读进来就好了,所以你就会觉得开机速度很快。

快速启动将一些本该关闭的内核对话全部保存到一个名为hiberfil.sys的磁盘文件中,下次开机时直接将这里的内容写回内存,从而提高系统启动速度。


  快速启动会关闭用户会话,但不再关闭内核会话,而是将其休眠。完全休眠包含大量正在由应用程序使用的内存页,相比之下内核会话休眠数据要小得多,这将大大降低写入磁盘所需的时间。


  快速启动开机速度之快的奥秘,就在于关机,直接的说就是关机的彻底程度,但是这样的话,我们会发现快速启动关机会比较慢,屏幕暗了之后,要过了好久电源才彻底关掉。这是由于系统在把下次开机需要的文件写入到硬盘中导致。】


  参考了一下这个“Windows 10”系统“快速启动”的原理,说白了它就是一个类似于数据还原的功能。在开启“快速启动”功能的情况下,当“Windows 10”系统第二次启动后便会把上次保存在磁盘特定空间“hiberfil.sys”中的数据释放到系统内存中,并将这些数据依据它们先前的路径和位置覆盖、替换到磁盘对应的簇中,以达到不用读盘就能快速访问各个磁盘数据的效果。然而这个行为也就等于对磁盘的数据进行了还原,会使移动硬盘在其它系统上改动的数据全部被覆盖和替换,从而间接性导致这些数据丢失!所以当我把从别的电脑上改动多次的移动硬盘插入到第二次启动的“Windows 10”系统上时,它所显示出来的信息只是“Windows 10”系统从上一次保存的内存数据(hiberfil.sys)中提取出来的信息,而并非是当前移动硬盘中的数据信息;因为本次“Windows10”系统启动后根本就没有对这个移动硬盘中当前的数据进行扫描和读取,所以就造成了切换“Windows 10”系统后移动硬盘出现了“数据还原”的假象,甚至数月前的数据都能被恢复读取出来!由于“Windows 10”系统的“快速启动”功能在恢复这些旧文件数据也改变了移动硬盘的主控文件表(MFT),因此当我再次切换回“Windows 7”系统或更老版本的系统上后,这些远古系统就会误认为这个被“Windows 10”系统“快速启动”功能恢复的移动硬盘在磁盘格式上出现了错误,或是被误判定为硬盘分区表遭到了破坏,便会提示我使用“CHKDSK”工具对磁盘进行修复。而当我使用“CHKDSK”命令进行修复之后,也就等于再次破坏了移动硬盘上的数据,随之这些被破坏的数据就会被当作失去目录结构的“孤立文件”被恢复到名为“found.000”的磁盘碎片文件夹里。


  也就是说,“Windows 10”系统的“快速启动”功能只是根据休眠文件“hiberfil.sys”中所保存记录的内容恢复还原了移动硬盘上的部分文件索引、文件标识和文件数据;而真正对硬盘数据造成破坏的是切换回“Windows 7”系统等远古系统后的磁盘修复工具“CHKDSK”。因为“CHKDSK”在修复文件系统的过程中必然会损坏数据。


  不得不说,“Windows 10”系统的“快速启动”,这真是一个坑人又装B的功能!第二次开机启动后不经检查移动硬盘上的文件有没有变动就直接把休眠文件“hiberfil.sys”中的数据对移动硬盘上的数据进行覆盖和替换,这绝对是“Windows10”系统“快速启动”功能上的一个BUG!而且“Windows10”系统对这个功能还是默认开启的。看来微软为了面向大众化,也开始跟风学着为用户提供一些逗B功能。可能对电脑小白来说,开启“快速启动”功能提高电脑开机速度是他们相互攀慕追求的。但是对于电脑工作者来说,这样的功能没有任何意义,反而还有负面影响!






预防方法:


  使用移动硬盘要养成即插即拔的好习惯,可以大大的避免此类问题的发生。在插入开启“快速启动”功能且曾经插入过的“Windows 10”系统时,如果第一次显示移动硬盘的数据被“还原”了,千万不要对移动硬盘上的数据做任何改动和访问,更不要使用“CHKDSK”等磁盘修复工具对移动硬盘进行修复,否则这些数据就有可能真正的被还原了。解决方法是拔掉移动硬盘再插入一次;因为第二次插入移动硬盘后“Windows 10”系统会重新扫描硬盘上的数据,而不会再像之前第一次那样从休眠文件“hiberfil.sys”中读取数据信息了。






解决方法:


  打开“Windows 10”系统的“控制面板”——“电源选项”——“选择电源按钮的功能”,点击一下“更改当前不可用的设置”,然后在“关机设置”中把“启用快速启动(推荐)”的“√”去掉,保存修改。


无标题6.png


  还有一种方法就是删掉C盘(“Windows 10”系统所在磁盘)目录下的“hiberfil.sys”文件。方法是在以管理员身份运行“命令提示符”,在其中输入:“POWERCFG-H OFF”(双引号去掉),届时C盘目录下的“hiberfil.sys”也会被删除。由于该文件还有可能会被“Windows 10”系统反复创建,所以将其删除后可以在其同目录下创建一个与“hiberfil.sys”同名的文件夹,利用“Windows”系统同目录下同名文件不能共存的原理使其无法再次生成。单纯的创建“hiberfil.sys”文件夹可能会被“Windows 10”系统在下次启动时删除,所以可以利用“DOS”命令在其目录下再创建一个文件名中存在非法字符的文件夹使“Windows”系统无法对其进行读取和删除,例如:“MD C:\hiberfil.sys\BUG..\”(双引号去掉)。这个方法会彻底废除“Windows 10”系统的“快速启动”功能,但同时“Windows 10”系统以后的“睡眠”功能或“休眠”功能也会受到影响。


  目前发现“Windows 10”系统“快速启动”功能导致移动硬盘数据还原、丢失的BUG版本号为:Windows 10 1809


  上文就是对【开启“Windows 10”系统“快速启动”功能可能导致移动硬盘数据还原或丢失!】的原因和分析。










计算机反病毒专家 —— 羊羔助手(LambAssistant)

评分

参与人数 4人气 +7 收起 理由
不知妻美刘强东 + 1 感谢支持,欢迎常来: )
weizxh11 + 3 感谢提供分享
峪飞鹰 + 1 加分鼓励
whf20 + 2 精品文章

查看全部评分

KingStation
头像被屏蔽
发表于 2020-5-13 23:27:37 | 显示全部楼层
欢迎楼主~感谢楼主分享~
mythnet
发表于 2020-5-13 23:37:27 | 显示全部楼层
哇,感谢楼主,最近被此问题困扰了很久,在两台WIN10电脑间频繁出现这一现象,导致丢失了不少数据 。
羊羔助手
 楼主| 发表于 2020-5-13 23:40:54 | 显示全部楼层
本帖最后由 羊羔助手 于 2020-5-13 23:55 编辑

  写到这里,我不得不骂一句,这个“Windows 10”系统的“快速启动”功能真是太贱了。默认自动开启不说,还给本人硬盘造成数据损失。要不是本人对“Windows 10”系统新功能不太了解,本次也不会造成这么大损失:

  本次“快速启动”功能给本人移动硬盘中造成的损失如下。

1:两张正在制作的魔兽地图损坏。
2:一部正在编辑的小说被数据还原,后续更新的4000字白写。
3:几个TXT文档被数据还原,文档内后续补充的日志、资料全部丢失。
4:一个Word文档在CHKDSK修复硬盘FMT表的过程中损坏。
5:数十张照片丢失,CHKDSK硬盘修复后虽然找回了部分照片,但是大多无法预览。

  这简直气死我了!“Windows 10”系统的“快速启动”功能简直比病毒给我带来的损失还大!如果我是“Windows 10”系统正版用户,微软这个严重的BUG是要吃官司的,必须要索赔!

  本人的做法是直接通过“hiberfil.sys”废除了“Windows 10”系统的“快速启动”功能,我希望你们也这样做!


mythnet
发表于 2020-5-13 23:53:52 | 显示全部楼层
我曾经关闭过快速启动功能,但系统每次更新后会恢复快速启动功能,很是头疼。
羊羔助手
 楼主| 发表于 2020-5-14 00:01:15 | 显示全部楼层
  版主能置顶本帖或将本帖推广至首页吗?至少目前这个帖子很有意义。
whf20
发表于 2020-5-14 00:32:16 | 显示全部楼层
本帖最后由 whf20 于 2020-5-14 00:35 编辑

前排围观,收藏备用。谜底揭露前就条件反射般想到Bug10了
hdx2016
发表于 2020-5-14 00:55:45 | 显示全部楼层
本帖最后由 hdx2016 于 2020-5-14 01:08 编辑

我只想说层主你胆子真大。。怎么敢用低版本系统去写高版本系统创建的NTFS文件系统磁盘,这不出问题有鬼啊。

NTFS文件系统一直都在更新的,并不是一开始就全部定型了,当然你在维基百科上只写到在Windows XP上NTFS版本是5.0

事实上根据微软的历史文档(Windows10 的NTFS版本说明还没找到)。
NTFS文件系统在 Windows Server 2008 对应桌面系统 Windows Vista 引入了 Transactional NTFS 和 Self-Healing NTFS
Windows Vista的NTFS已经和Windows XP的NTFS产生区别,如果Windows XP 里Windows Vista 创建的NTFS里写文件有概率造成文件错误。而且你用Windows XP chkdsk是检查不出错误,因为低版本Chkdsk 根本不支持Windows Vista所引入的带有新功能的NTFS文件系统,只有在Windows Vista的chkdsk才能检查出错误

再看看Windows7开始NTFS相对于Windows Vista修修改和引入的哪些功能,当然Windows Server 2008 R2 修改和引入的功能更多,但是懒得说了
这是主要变化(major changes):
  • Delete notification for solid state devices (SSDs) that support T10 Trim
  • New opportunistic locks (oplocks) semantics and introduction of oplock keys
  • Support for file system metadata defragmenting
  • Improvements in Volume Shrink
  • Ability to disable short names on a per-volume basis
  • Improved concurrency of read requests while flushing
  • Native VHD support
  • Chkdsk performance improvements
  • Robocopy performance enhancement
  • Local file copy improvements

然后Windows 8.1 NTFS又变了:
What’s new in NTFS for Windows Server 2012 R2[td]


Sparse file performance
Offline repair for volumes (spot fixing)
Memory changes


具体的就这样
总结来说就是在高版本系统创建的NTFS文件系统,不要用低版本系统去写任何数据或者执行任何操作,最好的方法就是一个系统一块硬盘,然后在低版本系统中把高版本所在的硬盘直接离线,然后在高版本中把低版本的系统所在的磁盘离线,两者写的数据各用各的磁盘,如果非要交叉使用,那么只能交叉读,不能交叉写入
另外chkdsk是找到丢失的删去并把丢失的扇区数据以文件的形式保存下来。你用低版本系统修改的数据写在高版本的NTFS文件系统上会造成NTFS文件系统里面的数据不符合高版本NTFS文件系统规范,而且从Windows 8开始NTFS就有了自行纠错的能力,当高版本NTFS驱动在校验系统所在的硬盘时发现数据不是按照当前版本系统NTFS规范时就会认为文件系统出错,并进行修复,导致数据丢失在所难免。

当然个人还认为有一个解决方案就是专门安装一个磁盘,然后用最低版本的系统进行格式化操作,然后三个系统所有的数据都用这个盘存储,应该是问题不大的

而且根据我的浅薄的工作经验在公司里无论是生产系统还是开发系统,或者文员用的电脑,一个真实机器只会安装一个系统。如果要多系统真实机器也只会安装一个系统,然后其他系统由KVM或者VMware或者微软Hyper-V作为解决方案。





羊羔助手
 楼主| 发表于 2020-5-14 03:18:51 | 显示全部楼层
本帖最后由 羊羔助手 于 2020-5-15 01:19 编辑
hdx2016 发表于 2020-5-14 00:55
我只想说层主你胆子真大。。怎么敢用低版本系统去写高版本系统创建的NTFS文件系统磁盘,这不出问题有鬼啊。 ...

  你的这个回帖就有点儿“怼”的意思了。

  我的移动硬盘的确是“NTFS”格式的,你8楼的回复还可以抨击一下。但是“exFAT”格式的移动硬盘呢?还有“FAT”格式的U盘,在插入第二次重启且开启“快速启动”功能的“Windows 10”系统后均出现了我1楼所说的数据还原和数据丢失的现象。但是关闭“Windows 10”系统的“快速启动”功能,或提前删除C盘目录下的“hiberfil.sys”就不会发生这个现象。

  移动硬盘插入“Windows 10”系统后被还原的过程是这样的:比如移动硬盘上有一个文件夹在“Windows 10”系统上的文件名为“0”,然后我拔下移动硬盘插在其它电脑上将该文件夹重命名为“1”,最后当我再次把移动硬盘插回那个“Windows 10”系统上后它的文件名就又变回“0”了……难道旧版“NTFS”文件系统不兼容新版“NTFS”文件系统还会导致文件夹名称被“还原”?我听说过“NTFS”文件系统损坏会导致数据丢失,还没听说过会导致数据还原的呢。

  另外我有两个“Windows 10”系统,实机一个,虚拟机一个。在开启“快速启动”功能的情况下把移动硬盘在两个系统之间来回切换也出现了数据还原和数据丢失的现象。莫非相同版本的“Windows 10”系统提供的“NTFS”文件系统版本还不一样?

  如果你不信,你可以找一个任何格式的移动硬盘在两台“Windows 10”系统的电脑之间试一下。

  另外,刨除“快速启动”功能BUG的问题。即便是“Windows 10”系统的“NTFS”文件系统版本过高写入数据后导致了老版本的“Windows”系统无法识别磁盘。那么它“Windows 10”作为一个新系统却不能兼容老版本“Windows”系统和老版本的磁盘文件系统也一样是一个严重性的BUG!全世界的人不可能都用“Windows 10”系统,全世界人的移动硬盘的“NTFS”文件系统版本也不可能都和“Windows 10”系统所支持“NTFS”文件系统版本对等。如果一个“Windows 10”系统报废一块儿老版本“Windows”系统的移动硬盘的话,那么微软可以倒闭了!不然的话就是微软为了推广“Windows 10”系统有点儿强买强卖了。但是以一个商人经商的角度上来讲,“比尔·盖茨”不可能这么做,否则就是在砸自己的饭碗。

  所以说你8楼的这个回答太片面。要是照你的意思来理解,《魔兽争霸III》升级到《魔兽争霸III重制版》之后是不是过去的“W3M”地图就不能使用了?使用《Microsoft Word 2007》编辑过的“DOC”文档再用《Microsoft Word 2003》打开后是不是就要变成乱码了?然而并不是这样!而且你8楼所说的这些内容,我早都想过并且测试过了。思考问题要慎密!在发表这个帖子之前,我把各种可能都在几台电脑之间测试了一个遍,最终确定问题后才发表的这个原创帖。
  此外,任何软件系统都是向下兼容的,你8楼说的那个情况是高级版本的“Windows”系统格式化硬盘后低级版本的“Windows”系统无法向上兼容。而我的移动硬盘是在低级版本的“Windows”系统中进行格式化过的老硬盘,我买那块儿硬盘的时候“Windows 10”系统还没出来呢,所以和你说的这个问题恰恰相反。

  我再科普一下,“NTFS”文件系统的确存在新老版本,但是这仅限于操作系统能否对其识别,而不影响数据写入,如果无法识别,打一个补丁就行了,比如“Windows XP”系统在打“KB955704”补丁之前也无法识别“exFAT”格式的磁盘。但是“Windows 10”系统“快速启动”功能改变的却是移动硬盘的主控文件表,说白了就是篡改了每个文件的索引,文件索引只有在读写时才会被改变。如果一个文件失去索引,那么这个文件将无法被正确标识出来。而这个时候磁盘修理工具“CHKDSK”的作用就发挥出来了,它会把这些失去索引的文件当作“孤立文件”恢复到碎片文件夹“found.000”中,并将它们重命名为“file0000.chk”之类的碎片文件,随后用户可以通过一些CHK文件恢复工具来修复它们的原文件扩展名。同样,比如你拖一个文件放入回收站删除,其实这个文件也并没有被删除,而是被改变文件索引后指向了另一个不可见的位置。即便当你在回收站中再把它删除后,也只是被去掉了它的文件索引,因此这时你依然还可以靠数据恢复软件来恢复它。但是当你在这个文件的位置上再写入其它数据时,那么这个文件才是真正的被彻底删除了,因为之前的数据被你新写入的数据覆盖了。而“Windows 10”系统修改的文件索引恰恰是根据它的休眠文件“hiberfil.sys”中的保存记录来修改的。比如我在别的电脑中删除了移动硬盘中的一个文件,当我再次把移动硬盘插入“Windows 10”系统后这个文件又如同幽灵般的被恢复了出来,但是文件大小却是“0 KB”。很显然,这是“Windows 10”系统的“快速启动”功能根据休眠文件“hiberfil.sys”中的保存记录重建文件索引的结果,显示“0 KB”是因为这个位置索引中的数据已经被我在其它电脑上删除了,所以“Windows 10”系统恢复它只是恢复了它的一个壳子。这就如同你在桌面上创建了一个没有任何内容的空文件一样,你把它改成任何后缀名都可以,因为那个后缀名就相当于一个指向读取对应文件关联的壳子的索引项。可见这和“NTFS”文件系统没有任何关系。

mythnet
发表于 2020-5-14 08:24:09 | 显示全部楼层
支持楼主,我出现的问题就是移动硬盘在两台相同版本WIN10电脑上进行数据处理出现的问题。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-7-3 18:02 , Processed in 0.141416 second(s), 20 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表