[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: SDHC 数据丢失,求助求助~!



Miracle Liu 写道:
我在这张卡上安装的是Debian sid,昨晚在apt-get dist-upgrade的时候,突然 断电了,重启后就发现无法访问这张卡了,发现不只是分区表错误,谁有经验帮 帮忙,里面有重要数据。

now i run -> #fdisk /dev/sdb               show:Unable to read /dev/sdb
#gpart /dev/sdb show:*** Fatal error: cannot get sector size on dev(/dev/sdb) #gpart /dev/sdb -s 63 show:*** Fatal error: failed trying to use sector size 63. #cat /dev/sdb | less show:cat: /dev/sdb: io error


谁能帮帮我~~
从直觉上看,应当是这个物理设备上面附带的关于物理设备参数的信息(例如物理 设备的扇区长度,磁道的最大扇区数,最大磁道数等等,当然,刚刚的例子是针对 硬盘等设备的)丢失。 如果这些信息还在,那么数据丢失无非就是大多数存在的数据失去了格式。我们可 以根据一些冗余和规则重建数据结构,从而找回数据。然而在硬件信息丢失的情况 下,除非你重新初始化这些硬件信息,否则是无法找回数据的。甚至你无法将存储 重新格式化,因为格式化也是基于而非重建这些信息。 对于硬盘,如果不在乎里面的数据,可以通过“低级格式化”的方法重建这些数据, 从而重新使用。而其他设备一般也都是通过厂商提供的低级工具来恢复或者重建这 些信息。不过根据我一般的经验,多数设备的这些硬件特性参数具有专有性。多数 情况下只能重建,很难恢复。也就是说,数据找不回来。

区分硬件信息丢失和软件数据丢失很简单,在加载正确驱动后直接读取裸设备。在 windows一般是\\.\PHYSICALDRIVE0之类,用 CreateFile可以直接打开。而linux 下则是/dev/sda之类的,用open可以直接打开。
如果需要确定,需要在驱动层做手脚了,那就超过今天讨论的范畴了。


Reply to: