拯救造富机上的宝贵数据

昨天造富机硬盘崩掉,我用一整晚的时间尝试拯救它,但是终究以失败告终,它大概是真的没救了——当然,也可能是我学艺不精,技术不到位。

pc-5737958_960_720.jpg
(图源 :pixabay)

在京东提交了售后申请(维修),但其实SSD可能没啥维修价值,大概率它们取走后会给我发个新的。

这其实很让人纠结,他们发新的SSD过来,我还敢用吗?这已经是同类型的SSD坏掉的第二块了,而且还并没有暴力使用,相反的是几乎都没有怎么用过,就坏了。

另外一个让人纠结的问题是,我造富机的一些代码还在这块SSD上,我必须考虑把数据拯救出来,否则前段时间的工作岂不是就白干了?

拯救数据

smartctl -HA /dev/sdd测试结果显示这块SSD硬盘危在旦夕,说24小时内就会坏掉。

image.png

其实这么说纯属多余,因为不用24小时,现在就已经坏掉啦。倒是它提醒我保存数据,这个倒是有些必要。相比于SSD本身,数据才是最宝贵的资产呀。

经过了大半天的折腾,我总算磕磕绊绊地把数据弄了出来,这说起来也就是三五句话的事情,但是这期间我走了很多弯路,折腾了许久呀。

拯救数据的主要思路就是将SSD整盘数据复制到一个文件中去,然后再从这个文件中尝试恢复数据。

执行以下指令(注意对应设备文件的名字以及留有足够空间):

sudo dd if=/dev/sdd of=/backup/test/image_file.img bs=1M

等待一段时间后,返回如下信息:
9bc4c0f3850e69a5523d97d6c9f51f2.png

这表示,我们已经成功地将SSD上整盘RAW数据复制到数据文件中。

使用如下指令查看这个数据文件:

sudo fdisk -l /backup/test/image_file.img

可见复制的很成功,还有相应的分区呢:
2a294f741f616342c26fd9a51ffe3d3.png

根据第二个分区的起始位置,计算出偏移量,然后使用losetup将数据文件绑定到loop设备:

sudo losetup --offset=1128267776 /dev/loop9 /backup/test/image_file.img

其中--offset=1128267776是由以下数据相乘求得:

起始扇区Start = 2203648
扇区大小Sector size (logical/physical): 512 bytes / 512 bytes

所以,偏移量就是2203648*512 ,即:
1731918174291.png

操作成功后,我们便可以在sudo fdisk -l中看到相应设备
1731918262043.png

然后再将设备mount到对应目录即可:

sudo mount /dev/loop9 media

再进入到media目录,就可以看到原本造富机上熟悉的数据啦:
1731919447353.png

这样以来,把数据复制出来倒是不急了,因为数据已经不在原本的SSD里,而是在一个文件中啦,随时可以去访问和处理。

这步骤是是不是看起来很简单,但是实际却耗费我大半天的时间,期间遇到无数问题,用血和泪的惨痛教训趟出来的

遇到的错误举例:

wrong fs type, bad option, bad superblock on /dev/loop9, missing codepage or helper program, or other error.

mount: special device /dev/loop9 does not exist (诡异的是我明明能看到它)

cannot open /dev/loop9p2: No such file or directory (尝试将文件整体挂载)

offset计算错误的问题

"ext2fs_open2: Bad magic number in super-block"

总之,一堆问题,我甚至怀疑我重新做一遍的话,能不能把数据读出来,因为没准这期间哪个胡乱的操作其实起做用呢,谁知道呢?!

清理数据

因为京东要回收旧硬盘,所以还有个重要的事情是要把磁盘数据清理干净,造富机里有很多重要数据,不容有失。

清理数据我同样使用的是dd指令:

sudo dd if=/dev/zero of=/dev/sdd bs=1M status=progress

一开始速度嗷嗷快:
7212f7584f5898abc51689ab7c8d2ff.png

20多G以后,那速度就没法看了
3e2e33cb5512ce32bee6878025e6873.png

折腾了大半天才写入80多个G,不过想必重要数据都被覆盖了吧?
1731919927117.png

京东小哥来去硬盘,我告诉他我在清理数据,他又重新帮我约的明天来取,真是善解人意呀。

其实出了dd可以用于擦除外,Linux下还有很多指令可以做这件事,大家自己去搜索就好,就不一一介绍了。

题外话

折腾了一整提天没去看股票,刚刚去看了一眼,今天又被暴击,已经连续三个交易日被暴击了。呜呜呜,这三个交易日亏掉的钱,能换数百块这款SSS硬盘了。

不过貌似不折腾SSD,一样也会赔钱,呜呜呜。把钱还给我,我不玩了。

相关链接

Sort:  

否极泰来!!!!接下去都是好事发生!!

加油!加油!加油!明天会更好!

造富机器👍🏻👍🏻👍🏻

我感觉O哥你这是受到了双重暴击啊,挺住,黎明就在眼前。

希望这造富机能让O哥暴富!