我有一台很古老的IBM ThinkPad笔记本,900MHZ的CPU,512MB内存,30GB硬盘,想必现在的小朋友都只在书里看到过吧。这个本基本放着吃灰,偶尔通上电开起来缅怀下,不过它的硬盘实在太老旧,有不少坏区,双系统之一的XP(是的你没看错,30GB也双系统)已经进不去了,只能进debian,勉强作为命令行工具(然而并不会)。

昨天晚上拿螺丝刀拆了一把,十年了所有的螺丝还能拧得动,确实佩服。CPU的硅胶还有一丢丢,风扇里倒是满是灰。把硬盘拆了出来,尝试换块新硬盘上去。因为光驱已经完全不能读盘了,而这个老古董也没有U盘启动,没办法装系统。我想是不是可以用另外一台笔记本,在安装debian系统的时候,选择外置的USB硬盘,等做好系统以后,再装到老古董里,说不定可以启动起来?也许会有些个驱动缺失,但也算是个可能吧。

好在另一台笔记本的光驱还能读盘,把移动硬盘挂上去,重启后进入光驱安装,选择外置USB移动硬盘sdb,一切顺利。所有安装完毕后,debian问我,要装MBR吗?我看到你装了win7和ubuntu,要是不装MBR的话就引导不了了哦。

看到MBR我踌躇起来了。这玩意搞不好就要进不去系统了。简单想了想,我装的是外置移动硬盘,那么,MBR是装到这个盘上去的吧?这样第一不影响笔记本2,第二插老古董上还能启动,就是没有win7没有ubuntu,至少还有debian呀。

我还是太年轻了。重启笔记本2,BIOS过后Grub跳了跳,提示说,Grub找不到UUID=XXX的设备,启动失败,进rescue咯。对呀我已经把USB移动硬盘插到老古董上去了,肯定找不到。看来装MBR的时候,还是装到sda上去了。其实也没错,因为它不知道我是给别人装的硬盘,对于笔记本2来说,不管操作系统装到哪个盘的哪个分区,MBR总是装到第一块盘没错。

没办法,只好看看怎么能从Grub rescue模式里恢复了。于是我又拿出了一台笔记本(对,家里有四五台笔记本),Google了下,在豆瓣上找到一个帖子,大致过程就是先加载normal.ko,然后从rescue模式进到grub正常模式,再然后linux/initrd启动就进系统了。

grub rescue>set root=(hd0,5)
grub rescue>set prefix=(hd0,5)/boot/grub
grub rescue>insmod /boot/grub/normal.mod

但是在我这里,我在/boot/grub/i386-pc里找到了normal.ko,但是insmod normal的时候,提示“grub_term_pool_usb”。Google找不到相关信息。

好吧,我认输。光盘还在,进光盘的rescue shell可以吗?只要能进系统,grub-install重装就好了呀。像ubuntu论坛里的这篇文章说的,grub-install /dev/sda即可。

然而我还是太年轻了。debian的应急shell没有grub-install命令,倒是有个grub-installer,长得差不多,但后者用法不一样,install报错,WTF.

难道只能重装了吗?好吧听说suse挺漂亮我玩玩。打开官网,Enterprise Desktop 60天免费评估版是什么情况。。是红帽那套吗难道。

这个时候,突然又看到了USB移动硬盘,对了,刚不是报说找不到这个盘grub不给启动吗,插回去不就行了吗?哦你问我为什么又看到移动硬盘了,因为虽然我一个螺丝不少的把老古董装了回去,但是它启动时BIOS就报了个ERROR 0175: BAD CRC, STOP POST TASK的错误,WTF AGAIN。

好了接下来就很简单了,移动硬盘插回去,进到debian,两条命令搞定。

    sudo update-grub
    sudo grub-install /dev/sda

重启后又可以愉快的玩耍了。可是,花了一晚上的时间,除了把老古董搞的操作系统进不去了,好像,没做成别的什么事。