说是修复,其实也没有做什么实际上的工作。这台电脑生产日期是 2010 年,硬盘中的文件最后修改日期停留在了 2016 年。我记得在家里曾经是有这样一台(其实是两台)电脑,但后面因为某种原因坏掉了,买了新电脑之后也没有想去修复。那时候我对电子设备还不甚了解。此次翻找尘封旧物的时候意外发现,就顺手修一下,看看里面有什么数据吧。
开机
其中一台电脑的硬件基本完好,显示器偏色严重,开机后能够正常进入 BIOS,鉴定为有修复价值。BIOS 的校验和没过,曾经似乎设置了密码,但随着 CMOS 的过度放电一切都成为了未知数。进入 BIOS 清除所有设置后,能够检索到硬盘上面的 Windows 引导。
理论上讲这样就可以了,下一步要做的就是进入系统,但实际上并不可以。这个 Windows 系统并不能正常启动,会在进入桌面后立即关机,或者在启动时蓝屏。我尝试了安全模式,但没能解决问题。自动修复一如既往地不起作用。由于缺少设备,我暂且暂停了修复,将其带回家中准备进一步工作。
另一台电脑开机后仅有指示灯亮起,屏幕没有输出,也没有蜂鸣器响声。最好猜测是屏幕损坏,需要进一步鉴定。值得注意的是两台电脑都设置了上电即开机。

进一步修理
第一个工作就是提取数据。状况较差的电脑使用 HDMI 或者 VGA 连接外部显示器均没有反馈,于是直接拆机取出硬盘。硬盘是希捷制造的 250GB 机械硬盘,5400RPM,SATA 接口。不得不说老款 ThinkPad 的设计真的很有美感,后盖贴心地给 CPU、内存和机械硬盘设计了一个盖板,不需要拆除整个后盖即可拆装硬盘。卸除硬盘后,连接电脑读取其中信息,一切完好。这应该得益于保存的地点遮光、密闭且足够干燥。
对于还能正常进入引导的电脑来说,我认为直接拆除硬盘有些可惜(虽然最后还是拆了),因此决定尝试用其它方法排除故障。正巧,我手里有一个 Kali Linux 的 Live USB,可以使用这个 Live 系统探探虚实。
进入 BIOS 选择启动项后,成功识别了 GRUB 引导,并且正常启动了 Kali,甚至没有用到兼容性模式。我以只读方式挂载了磁盘,万一 NTFS 驱动有个什么闪失说不定这块陈年老盘就要寄了。目录结构也都完好,我开了个 samba 共享,依靠局域网传递了磁盘中有价值的文件。
拆机
第二天早上起床,开机时发现 BIOS 的校验和又没过。这下可以确定是 CMOS 电池彻底挂了,于是启程前往便利店买电池。买电池的过程中顺便买了一个新 U 盘,后续需要制作 Windows 安装媒介,而我不想失去我的 Live USB。
(理论上讲,这台电脑有光驱,我可以自行刻录一个光盘来做真正的“Live CD”。)
回到家中后,一边制作 Windows 7 的安装媒介,一边彻底拆机来更换 CMOS 电池。
按照这篇教程,我成功拆卸了大部分部件,暴露出 CMOS 电池。但问题在于 CMOS 电池整个被胶带(我只能猜测这是胶带)包裹起来,使用某种胶粘在主板上,引出了两根导线连接主板供电。我本来以为会像是台式机一样使用一个便捷的插口,看来是我想的太美好了。把旧 CMOS 电池拆除后,利用电工胶带将新 CMOS 电池和引出导线的触点缠在一起,然后粘回主板上。
在装回的过程中我有了一个想法。反正另一台电脑已经彻底 down 了,不如把内存条拆下来。虽然电脑型号一样,但两条内存的品牌却不同,应该是在某个时刻换了供应商。混用不同品牌的内存条不是明智的选择,但修复这台电脑也没明智到哪去,不是吗?
最后,我将这台电脑的硬盘也拆走了,换上一个空的 500GB 机械硬盘。如果我没记错,这个空硬盘来自另一台损坏的 ThinkPad E550,有点艺术成分在的。 组装完成后,成功上电开机。看起来 CMOS 电池的更换还是比较成功的,或者说我没犯什么错误。
请问您今天要来点 Kernel Panic 吗?
不,谢谢,但我们遇到了更多的蓝屏。事情从这时候起就变得奇怪了。无论是 Windows To Go 还是安装介质,或者在其它硬盘上安装好的 Windows 系统,都无法在这台电脑上启动。但奇怪的是 Linux 可以正常启动,甚至运行安装程序并安装到硬盘。我询问了 ChatGPT 究竟为什么会这样,而 ChatGPT 表示这可能是一个 ACPI 问题。损坏的 BIOS 可能一并破坏了一部分 ACPI 设备,导致 Windows 加载时出现问题,而 Linux 忽略了这些问题。
我并不了解 ACPI 之类相当底层的问题,所以按照它的指示进行了排查,贴出日志后 ChatGPT 希望我更新 BIOS。但很遗憾的是刷写 BIOS 的程序运行在 Windows 下,而我无法启动 Windows。理论上这里有一个 ISO 的光盘版本,但我不清楚要怎么将它刻录进 U 盘。我尝试了 Rufus 或者 dd,前者将 ISO 识别为不可引导的镜像,启动后只有跳动的光标,没有日志也没有输入;后者则根本无法启动,BIOS 直接跳过了引导进入 PXE 环节。
就在这时我想到了一个品牌名:软碟通。刻录光盘和可引导 USB 驱动器真的是一个东西吗?事实上并不是。使用软碟通,我终于得以启动这个 BIOS 刷写光盘。然而,启动的光盘需要进入 DOS 环境,而 DOS 似乎也一样遇到了这个诡吊的 ACPI 底层问题,导致系统无法启动,刷写也不能进行。
我们还有最后一个办法?
似乎还有能够直接从 Linux 下提取固件并刷写的程序(FlashROM),但我既没有原始的固件,这台电脑也不允许我直接进行刷写。因此,最终我决定放弃启动 Windows。更何况对于老电脑来说精简过的 Linux 系统可能更轻松一些,后面我还有更多事情要做。

大部分 Live USB 都包含安装程序,可以直接把 Linux 安装到本地机器的硬盘上。启动安装程序后就是漫长的等待,这块硬盘是全空的,因此可以放心地把它留给安装程序重新分区并摧毁所有数据。
等到安装完成后,我们成功进入了一个现代的 Kali 桌面环境。而且,我们有几乎所有的必备驱动:触控板(虽然不是精确式触控板)、小红点(指点杆,随你怎么说)、无线网卡。
事实上,这让我再次想到了一个问题:Linux 桌面环境的体验到底怎么样?它确实为这台老电脑带来了希望,可惜我不能放弃我的 Windows 设备。
光盘驱动器
在我小时候,光盘还是一个流行的介质。英语书后面会附有光盘,市场上能看到卖光盘的音像店,游戏也有光盘发行的版本。现在则只会在主机市场看到光盘游戏,而其它光盘介质已经几乎看不到了。
这衍生出了一个有趣的问题,即我已经找不到任何设备播放家里曾经有的光盘了。其中刻录了一部分珍贵的视频影像,还有一些可能已经成为失传媒体的电视剧(骗你的,我在 B 站找到了)。这台旧电脑恰巧有一个可用的光驱,允许我从中提取视频。
我本来的想法是将光驱卸除后连接到现在的电脑来读取数据,因为我查找光驱型号,发现接口理论上是 SATA,应当可以使用我的 SATA 转 USB 线。但问题在于这个 SATA 接口是阉割过的,标准尺寸的 SATA 线根本连接不上。可能光盘也确实无法跑满为了机械硬盘设计的 SATA 接口吧。因此,问题又回到了如何使用这台旧电脑访问光驱。
我从来没有尝试过从光驱中读取数据,或者说我早就忘记了这个操作在 Windows 下是怎样的,更别提 Linux 了。挂载光驱后,我确实发现了一部分可读的文件,但这部分文件不包含任何视频或者音频。我尝试着通过 dd 将整个光盘导出为 ISO 文件,但 dd 命令会立即失败。询问 ChatGPT 得知这是由于光盘大概率存在坏块,dd 读取到坏块就会失败,此时应当使用 ddrescue 复制光盘内容。
ddrescue 确实起作用了,但复制速度简直慢的离谱。我承认光盘存在很多坏块,但也不至于这么慢吧。所幸我终于想起来一些可能的线索:曾经播放光盘的设备不仅仅是电脑,还有 VCD 机——既然划伤的光盘很多时候都能正常播放,我没理由需要提取整个光盘的数据。这些设备被设计为记录视频,那么我只要找个视频播放器来就行了。最常见的视频播放器是什么呢?
使用 apt 安装 VLC 后,我成功打开了光盘,经由 VLC 播放了其中的内容。利用 HDMI 线连接正常的显示器后,我们成功看到了尘封已久的光盘。VLC 还帮我导出了光盘的视频内容,这样我能够将其传输到现在的电脑上。
后续?
整个修复流程远远没有结束,能做的事情还有很多。或许我可以考虑更换屏幕排线乃至屏幕本身,可以重新购买电池,可以使用编程器尝试重刷 BIOS。但是这一切值得吗?这台电脑的处理器非常老旧,除了手感绝佳的键盘之外实在没有什么值得我留恋的地方。屏幕和电池的更换加起来要近两百块钱——一台二手 ThinkPad E550(哈哈)也只要三百块。我想,或许这就是它最好的归宿。就像一位心愿未了的鬼魂被重招人间,完成了它的任务之后终于能够安静地逝去一样。
