ddif 发表于 2014-7-12 15:33:30

这是一个复杂(可能对自个来说)而怪异同时又很有趣的硬盘案例,有兴趣可以进来探讨下

本帖最后由 ddif 于 2014-7-12 15:32 编辑

(1)硬盘名:HD0:ST9500325AS(466GB)容量:465.8GB型号:ST9500325AS序列号:2S3WNHD5
参数:60801 柱面   255 磁头   63 扇区.   扇区总数:976773168

前个星期收到大学同学的一块坏盘单单看(1)这个硬盘复杂不了哪里去,,大家先来了解一下具体情况吧。

复杂情况:A、笔记本2.5机械硬盘,原来先装win7,接着在win7下装了黑苹果(苹果系统),这里ghost备份win7,最后还装了linux的ubuntu 系统,因为这是在mac os安装盘前面再压缩分出空间安装,导致MAC os 无法使用,于是他ghost还原。还原99%卡,直接强制关机...
                     
        重新开机,你们猜怎么样?:1、开机正常进入系统安装;
                                    2、开机,无法安装;
                                      3、......
结果却是,开机直接开在自检界面(提示F2进bios,F12快捷菜单)

由于同学能装多系统,多少对电脑还是有点基础的,于是他打算进pe重装,结果不难预料,卡自检哪里,无法进入,按F2,也无法进入bios,于是求救于我。
               
思路:电脑问题无非就是软件问题,硬件问题,或者是两者兼备,那就来个最小系统法,逐一排除。(1)软件:bios故障;(2)硬盘故障;由于bios涉及到主板芯片,以及是笔记本电脑,考虑操作难易性问题。拆硬盘总比拆主板纽扣电池(重置coms)容易, 于是果断选择拆硬盘。

操作:拆了硬盘,自检过了,bios可以进入,pe也可以进入(49: 因为他还有一个硬盘,把没有问题硬盘装上,可以自检,pe下可以发现硬盘可以分区,再次证明电脑没有问题。 好了,进pe(pe下工具多 )挂上坏的硬盘,靠,居然磁盘工具没有个可以识别的,除了winhex,可以看到466G,但是一点打开winhex救闪退,ptdd更加坑爹,直接就是毫无反应。看来是分区表坏了吧。但是分区表坏了能导致进不了bios吗?这个我就不知道了。这个可怎么办?
       
由于朋友是经常出差以及用到电脑,硬盘就拿过来给我折腾了。经过我研究,有难度(对我来说)。于是往后的探讨将由我和各位看官完成--->>
拿到硬盘,但是放到硬盘盒挂到我的电脑,开机,居然也是卡自检。进入win再挂硬盘,结果还是没有能找到可以检测到硬盘的工具,换了几个PE还是同样的结果。
放弃吗?但是硬盘加电转动声音和正常硬盘启动时候对比,无异常啊,再加上,挂上硬盘救无法卡bios,说明硬盘可以检测得到吧?如果检测不到应该就有提示的。就因为这样,很是不死心啊。好,找百度娘子去,结果看到奶牛的博客—》安装linux后用ghost还原windows失败,硬盘分区表被破坏无法进入PE跟DOS系统的解决方法,有思路,开动。
1.先进入linux系统,你可以用U盘启动或者光盘启动,进入任意一个linux系统。我们这里就以ubuntu系统的live-cd为例。
进入live-cd ,执行命令
sudo su
fdisk -l
确定自己的硬盘分区为sda还是hda。然后根据具体情况来执行下一条命令清空分区表,其中的sda要根据fdisk的结果来判断。
dd if=/dev/zero of=/dev/sda bs=1 skip=446 count=66
2.引导进入PE系统,然后用工具PTDD分区表医生来交互式查找,应该可以找回大多数分区。保存,重启。
3.看看开机是否可以进入系统,如果不能进入,继续该还原的还原,该备份的备份。

结果:挂硬盘,开机,卡自检啊。好,先开机,挂硬盘,还没有打开超级终端救卡死,我去又一次要强制关机,没事,这刚好可以证明能读硬盘。既然能读硬盘是吧,来开机,打开终端,sudo su,连 fdisk -l 也输入好,挂硬盘,不断执行命令,读到了。

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x07a607a5

   Device Boot      Start         End      Blocks   IdSystem
/dev/sdb1   *      2048    62918655    31458304    7HPFS/NTFS/exFAT
/dev/sdb2      62920702   976766975   456923137    fW95 Ext'd (LBA)
/dev/sdb5      62920704   272637951   104858624    7HPFS/NTFS/exFAT
/dev/sdb6       272640000   482357247   104858624    7HPFS/NTFS/exFAT
/dev/sdb7       482359296   692078528   104859616+   7HPFS/NTFS/exFAT
/dev/sdb8       692078592   870338496    89129952+   7HPFS/NTFS/exFAT
/dev/sdb9       901792773   927247364    12727296   83Linux
/dev/sdb10      895796282   912567353   8385536    7HPFS/NTFS/exFAT
/dev/sdb11      918575104   976766975    29095936    7HPFS/NTFS/exFAT
/dev/sdb12      870338560   895793151    12727296   83Linux
/dev/sdb13      895796282   912567353   8385536    7HPFS/NTFS/exFAT
/dev/sdb14      918575104   976766975    29095936    7HPFS/NTFS/exFAT
/dev/sdb15      870338560   895793151    12727296   83Linux
/dev/sdb16      895796282   912567353   8385536    7HPFS/NTFS/exFAT
/dev/sdb17      918575104   976766975    29095936    7HPFS/NTFS/exFAT
/dev/sdb18      870338560   895793151    12727296   83Linux
/dev/sdb19      895796282   912567353   8385536    7HPFS/NTFS/exFAT
/dev/sdb20      918575104   976766975    29095936    7HPFS/NTFS/exFAT
/dev/sdb21      870338560   895793151    12727296   83Linux
/dev/sdb22      895796282   912567353   8385536    7HPFS/NTFS/exFAT
/dev/sdb23      918575104   976766975    29095936    7HPFS/NTFS/exFAT
/dev/sdb24      870338560   895793151    12727296   83Linux
/dev/sdb25      895796282   912567353   8385536    7HPFS/NTFS/exFAT
/dev/sdb26      918575104   976766975    29095936    7HPFS/NTFS/exFAT
/dev/sdb27      870338560   895793151    12727296   83Linux
/dev/sdb28      895796282   912567353   8385536    7HPFS/NTFS/exFAT
/dev/sdb29      918575104   976766975    29095936    7HPFS/NTFS/exFAT
/dev/sdb30      870338560   895793151    12727296   83Linux
/dev/sdb31      895796282   912567353   8385536    7HPFS/NTFS/exFAT
/dev/sdb32      918575104   976766975    29095936    7HPFS/NTFS/exFAT
/dev/sdb33      870338560   895793151    12727296   83Linux
/dev/sdb34      895796282   912567353   8385536    7HPFS/NTFS/exFAT
/dev/sdb35      918575104   976766975    29095936    7HPFS/NTFS/exFAT
/dev/sdb36      870338560   895793151    12727296   83Linux
/dev/sdb37      895796282   912567353   8385536    7HPFS/NTFS/exFAT
/dev/sdb38      918575104   976766975    29095936    7HPFS/NTFS/exFAT
/dev/sdb39      870338560   895793151    12727296   83Linux
/dev/sdb40      895796282   912567353   8385536    7HPFS/NTFS/exFAT
/dev/sdb41      918575104   976766975    29095936    7HPFS/NTFS/exFAT
/dev/sdb42      870338560   895793151    12727296   83Linux
/dev/sdb43      895796282   912567353   8385536    7HPFS/NTFS/exFAT
/dev/sdb44      918575104   976766975    29095936    7HPFS/NTFS/exFAT
/dev/sdb45      870338560   895793151    12727296   83Linux
/dev/sdb46      895796282   912567353   8385536    7HPFS/NTFS/exFAT
/dev/sdb47      918575104   976766975    29095936    7HPFS/NTFS/exFAT
/dev/sdb48      870338560   895793151    12727296   83Linux
/dev/sdb49      895796282   912567353   8385536    7HPFS/NTFS/exFAT
/dev/sdb50      918575104   976766975    29095936    7HPFS/NTFS/exFAT
/dev/sdb51      870338560   895793151    12727296   83Linux
/dev/sdb52      895796282   912567353   8385536    7HPFS/NTFS/exFAT
/dev/sdb53      918575104   976766975    29095936    7HPFS/NTFS/exFAT
/dev/sdb54      870338560   895793151    12727296   83Linux
/dev/sdb55      895796282   912567353   8385536    7HPFS/NTFS/exFAT
/dev/sdb56      918575104   976766975    29095936    7HPFS/NTFS/exFAT
/dev/sdb57      870338560   895793151    12727296   83Linux
/dev/sdb58      895796282   912567353   8385536    7HPFS/NTFS/exFAT
/dev/sdb59      918575104   976766975    29095936    7HPFS/NTFS/exFAT
/dev/sdb60      870338560   895793151    12727296   83Linux

Partition table entries are not in disk order

正在感叹这是什么的时候,再度卡死系统,除了强制关机,就等到电池没电吧。这卡死也太厉害了,好百度Partition table entries are not in disk order 却解决不了。这次直接dd if=/dev/zero of=/dev/sdb bs=1 skip=446 count=66 ,因为上面我也知道,我的盘是sbd。

好,各位看官注意了,接下来将是见证奇迹的时候了:
电脑桌面猛猛的弹弹弹窗,嘻嘻,不是广告也不是病毒,linux下病毒基本上等饿死吧。是什么呢,那是失散多年的分区啊,一个个窗口弹出来。不过发现很多是重复的,难道这就是分区重复吗?这也很奇怪,为什么不卡死呢?趁这是不卡死,赶紧备份了一下数据先,这是发现,分区里面的东西可读可写。

备份完能备份的数据,继续按奶牛的博客往下走,结果走不下去,不知道之前他的情况和我的一不一样。这块硬盘挂上,还是卡自检哪里,无法进入,bios、pe,进入系统也读不到。只能会linux下操作,尽管我对linux操作,边学边做。直接操作:
fdisk /dev/sdb

先执行dd if=/dev/zero of=/dev/sdb bs=1 skip=446 count=66 几次为了不卡死

再执行 fdisk /dev/sdb
fdisk: unable to read /dev/sdc: Inappropriate ioctl for device
百度fdisk: unable to read /dev/sdc: Inappropriate ioctl for device 我解决不了。

正是因为能扫描的到(卡死我至今找不到原因),执行命令之后,能打开分区读写文件,但是却不知道怎么修复,最终这样的复杂(对我而言),出于这样怪异的现象,暂时我也找不到思路,方案去去解决。所以我才发上来和大家探讨探讨。

大家有什么高见的,还有什么猜想,尽可以提出,我可以测试验证的尽量去实验验证,把研究报告以及成果发上来,大家共同讨论》》》》

ddif 发表于 2014-7-12 15:33:31

留位贴图

ddif 发表于 2014-7-12 15:46:39

留位贴图

alexlzg 发表于 2014-7-12 16:03:11

就是硬盘有问题,搞这么复杂。。。

alexlzg 发表于 2014-7-12 16:05:05

本帖最后由 alexlzg 于 2014-7-12 16:08 编辑

补充一句,是硬盘的HW或FW有问题。。
卡BIOS自检的硬盘是分区软件能够解决得了的吗。。?
不论你是哪个系统,Linux或Windows。。。

ddif 发表于 2014-7-12 19:04:21

alexlzg 发表于 2014-7-12 16:05
补充一句,是硬盘的HW或FW有问题。。
卡BIOS自检的硬盘是分区软件能够解决得了的吗。。?
不论你是哪个系 ...

如果说是硬盘问题,可在linux下通过命令却可以打开一些分区,并能读写,这样难道不怪异吗?

sunyinzi 发表于 2014-7-12 19:33:09

写的太复杂了。

hawkyuan 发表于 2014-7-12 20:57:38

硬件故障吧,搞这么复杂,如果真是逻辑故障,挂工具上把硬盘给清零了就行了

网开一面 发表于 2014-7-12 21:41:12

典型的硬盘逻辑锁,用MHDD清除55AA即可,《数据重现》里有详细叙述。

alexlzg 发表于 2014-7-12 22:14:12

本帖最后由 alexlzg 于 2014-7-12 22:16 编辑

ddif 发表于 2014-7-12 19:04
如果说是硬盘问题,可在linux下通过命令却可以打开一些分区,并能读写,这样难道不怪异吗?

楼主这贴长长一大篇,
简而言之,就是一句话:
硬盘不过自检,但有时又能读出数据。
知道是硬盘有问题就行了,我说你非要搞清楚问题原因啊。。
系统崩溃可能有一千种现象,有必要每个都搞清楚吗。。
你这个现象再怪异,本质还是硬盘有问题。。
喜欢钻研是好事,那叫执着。。
但是如果方向错误,那么必将无功而返,那叫执拗。且会陷入自我纠缠的深渊。。
页: [1] 2 3
查看完整版本: 这是一个复杂(可能对自个来说)而怪异同时又很有趣的硬盘案例,有兴趣可以进来探讨下