今天多亏n900帮我把笔记本引导起来了

今天升级fedora,从13升级到14.但是那个傻瓜yum,不知道为什么,把我的/boot/grub2/下的东西给我清理掉了。而且是把大部分mod删掉了。没有这些mod当然就无法启动啦,grub直接进了rescue mode。但是grub.cfg还给我留着,谢天谢地。

然后呢,如果现在是在公司,那么很好办,随便找个电脑刻一个usb启动盘就能把它救活。但是现在我在家里,除了n900什么都没有。

这个状况也比较囧。我想用chainloader引导win7,但是ntfs.mod和chain.mod都没有。内置的只认识ext3文件系统。于是我就想到了n900,还好我的n900有microSD卡,可以直接把microSD卡通过usb线导出给电脑。

于是,我就在手机上用mkfs.ext3把SD卡格式化成ext3,然后拿手机上http://mirrors.163.com,从cygwin目录下面下载了grub2的编译好的文件,主要是那些mod,企图用它来启动。可惜不行。后来就从fedora的目录下找,但是只有grub1没有grub2.然后就去ubuntu的目录下找,还好,这次有。
然后把deb包用wget下载到手机上,然后用deb -x 解压缩到存储卡上,然后用cp把那些mod文件移动到存储卡的根目录下,否则路径名太长,在grub2的rescue mode下输入那么长的东西很不方便。
然后我就用insmod (hd0,1)/normal.mod这样加载,结果还是不行。ntfs.mod可以加载,但是normal不行,说找不到文件。但是文件明明在啊,于是我想,肯定是依赖的mod没有找到。然后我就想起来prefix这个环境变量。
set prefix=(hd1)/
然后insmod normal就成功了。
然后进入普通模式
> normal
然后加载配置文件
> configfile (hd0,7)/grub2/grub.cfg
然后就是那个我很熟悉的界面了。可惜字体没有加载进来,不过这个无所谓啦

第一次启动,还是失败了,2.6.35的kernel在刚开始启动的时候就panic了。但是老的2.6.34的kernel 是没问题的。
所以我现在就可以打开firefox用电脑敲下这段教训了。
教训是: 升级完系统后,一定先仔细检查grub,重新更新一次grub2的配置文件是最保险的。然后再重启。

此博客中的热门博文

在windows下使用llvm+clang

少写代码,多读别人写的代码

tensorflow distributed runtime初窥