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可以直接打开。
如果需要确定,需要在驱动层做手脚了,那就超过今天讨论的范畴了。
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]