上两周坏了一个硬盘。——这还是第一次把硬盘用坏。虽然此前20天备份过一次,可想到要重做这二十天的工,很是沮丧。好在经过两三天的尝试,全部恢复了。现记录如下。

前兆

大概两三个月前,有天晚上关机着急,没等主机关闭就关了点。结果导致固态C盘损坏。换盘,重装了系统。这跟今次硬盘损坏大概没有关系,存疑。

这次D盘损坏前大概两三周,一个正在操作的问题突然报出无法找到。到所在位置去看,文件夹打不开了。用win10自带的磁盘“差错”工具处理后,在根目录隐藏文件夹found.000中找到了恢复的文件夹和文件。

这大概就是一个前兆,但当时没太在意,没有备份文件。

磁盘崩溃过程

当天写笔记,编译为html时突然报刚才写的文件找不到,紧接着很多文件都无法找到。然后win10系统卡死,无法正常关机。

关电重启后报系统检查错误(具体记不清了),很久无进展。

再关电重启,停留在主板logo页面,下面的圈长久不停。

以上两种状态常交替出现。

拆下硬盘能正常启动

拆下D盘后能正常启动。

买了一个硬盘底座,连接后,用各种磁盘工具、数据恢复工具都无法处理,多半卡死。

硬盘底座有个硬盘对拷的功能,不知道工作原理,尝试了一下,很久没看到进展,就没敢再用。

用U盘Ubuntu制作启动盘

根据这个网页的提示,制作了一个U盘的Ubuntu系统。——这个网页推荐Knoppix LiveCD系统,但我不熟悉。

具体制作方法可以看这个简单教程。主要包括两步:

  1. 安装Rufus;
  2. 用一个U盘制作Ubuntu系统,也就是直接用U盘启动、运行,不需要安装的系统。Rufus很容易用,只看这里的设置就可以:

refus

启动Ubuntu,安装软件

做好后插在电脑上,准备启动。最好只留下问题盘和一张容量等于或大于问题盘的空磁盘(用于存储恢复的数据),sata连接,其余的全部拆除,以免误操作。

把启动时更改biso的引导顺序,通过刚才的U盘引导。启动后不要操作问题盘和存储数据用的盘,不要装载!以免出问题。

进入Ubuntu系统后先添加国内的程序源,以便安装程序。也就是在源文件/etc/apt/sources.list后添加源列表。比如阿里源:

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

然后更新系统:

sudo apt-get update
sudo apt-get upgrade

安装gddrescue。注意软件包名字前有个g,但是命令没有g,只是ddrescue

sudo apt-get install gddrescue

还可以安装通过图形查看进度的工具ddrescueview

sudo apt-get install ddrescueview

使用ddrescue复制、抢救数据

先查看磁盘列表:

lshw -C disk

或者:

fdisk -l

磁盘信息.jpg

磁盘通常显示为/dev/sda, /dev/sdb这样的格式。其下后还可能显示分卷,如/dev/sda1/dev/sda1下面处理时,应该操作整盘,而不是分卷。

这里是ddrecue的手册,详细解释了算法和处理过程,有助于你在漫长的等待过程中免于焦虑。

ddrescue有很多选项,但我们通常只需要两个步骤。

第一步,快速抓取大部分无错区域:

sudo ddrescue -n -f /dev/问题盘 /dev/存储盘 rescued.log

注意,选项-f意味着存储盘上的内容会被覆盖。

rescued.log是记录进度的文件。如果临时停止,重新开始后,ddrescue可以根据这个文件接着做。U盘系统重启后会丢失用户文件,所以这个文件应该通过在线邮箱等方式妥善保存。

可以使用ddrescueview查看进度(可以用-r 30s这样的选项来设置刷新间隔):

sudo ddrescueview rescued.log

效果如下:

图形信息.jpg

我的问题盘是1T容量,数据大概900G,完成第一步耗时近6小时。

结果信息.jpg

第二步,尝试从有错区域中“刮取”,也就是最大限度地恢复数据:

sudo ddrescue -r 1 /dev/old_disk /dev/new_disk rescued.log

选项-r 1表示重复次数。这个步骤很耗时,如果时间允许重复两三次也是可以的。这一步我只做了一小会儿。拆下来发现绝大多数已经恢复,就不再做了。

使用win10磁盘工具查错

复制得到的磁盘是有错误的,我使用win10磁盘工具查错后,在根目录的隐藏文件夹found.000中找到了很多恢复的文件、文件夹。再通过TC,过滤时间后,得到未备份的内容,加到备份中。 (可能ddrescueview有相应的除错工具,我没有注意到。)

后来使用文件时,发现个别文件看起来正常,但无法打开。所以,重要文件最好逐一打开看看。

赶紧买了个4T的硬盘,所有文件都备份在这里。还重新打开谷歌硬盘,把重要文件和最近正处理的文件备份到网上。问题盘暂时还留着,后面如果再发现问题,还可以更精细地处理。


给编辑朋友的正则表达式课程

2020-06-13 周六 by 黄复雄.

很多编辑只会用Word。有些编辑也会用WPS,不过他以为自己是在用Word。如果一个编辑希望稍微进一步学点“电脑知识”,我推荐学正则表达式。再搭配使用高效的文本处理工具,比如EmEditor、TextPro、VSCode、PowerGrep、Libreoffice Writer,以及一些文档管理工具,比如Total Commander、Everything,那你就可以说是编辑界的极客了。据说中华书局的很多青年编辑都会正则表达式,并自称为正则青年。其实每个人都能学会。

read...

Pygame Zero文档的思维导图和入门实例

2019-11-23 周六 by 黄复雄.

我认为Python + Pygame Zero + Thonny是最好的少儿编程入门技术路线。今天把Pygame Zero v1.2的文档,结合源码分析,整理成思维导图和入门实例,看起来真的很简单。又梳理API的详细用法,整理成一个“一文通”的示例。

read...

Python口头禅

2019-05-15 周三 by Tim Peters. 黄复雄.

《Python之禅》是2004年的Python改进提案。禅诗、偈颂的形式。

read...

小工具:分割文本文件

2018-12-15 周六 by 黄复雄.

如果你想以特定格式的行(用正则表达式表示)为界,把一批文本文件分割成小片段,比如每章节或每卷一个文件,可以使用下面的Python脚本。

read...

Audition技巧:半自动分切音频

2018-12-14 周五 by 黄复雄.

在做电子书时,我需要把几百个生字朗读音频逐字分切开,把课文朗读音频逐句分切成开;或者获取每个分切位置的时间标签。总之是根据停顿静音进行分切的。此类要求可以通过Audition的“诊断”功能实现。

read...

Audition技巧:使两段不同环境的录音协调一致

2018-12-14 周五 by 黄复雄.

在修补音频时,有时修补材料的录音环境有所改变,或者语音演播人改变了。如果变化不大,可以通过Audition分析、比较频率,然后根据差异调整均衡,使修补材料的音色更接近要修补的音频。调整后截取片段用于修补,能更为协调。

read...

小工具:从多文件中收集字符串

2018-12-12 周三 by 黄复雄.

如果你想从很多文本文件中把一定格式的字符串收集在一起,可以使用下面的Python脚本。

read...

奇技淫巧志

2018-11-07 周三 by 黄复雄.

本人琢磨教育学习技术问题,学习数字技术和尝试开发的日志。在这里写出来,有一点隐秘舞台的气氛,是默坐出神和盲动入迷之间的左顾右盼。

read...

静态网站生成器Pelican学习笔记

2018-10-14 周日 by 黄复雄.

不写是不行的。写微信、微博像在村头赤身裸体,彼此都尴尬。写博客是无中心的世界里守株待兔,带点暧昧情绪。尝试了几种静态文件生成器,基于Python语言的Pelican最简单、亲切。这是学习pelican 文档时随手所记的,备查。

read...
Fork me on GitHub