关于grub 损坏的问题
下午安装系统,发现了libssl.so版本信息与libpython.so的需求不符合的情形,结果就是打开vim等工具都是有两行
warnings输出,不爽,试图搞定,未果;
然后记得装系统时曾有过错误报出,于是想在win7下重装 Ubuntu 12.04 LTS。
但是,系统安装才进入拷贝文件阶段时,我手贱 强行关机,在开机,进入了伟大的 grub rescure模式;瞎了。
搞定之:
1, grub rescure$ ls
得到一堆的盘符,如 (hd0) (hd0,msdos1) (hd0,msdos2) ... (hd0, msdos11) 对于各个结果,依次测试:
2, grub rescure$ ls (hd0, msdosX)/boot/grub/
发现在我这里,msdos10下有货;再执行:
3,grub rescure$ set root=(hd0,msdos10)
grub rescure$ set prefix=(hd0,msdos10)/boot/grub/
注意没有空格啊。。。
4,想要进入normal模式,那得找到相应module并插入:
grub rescure$ insmod /boot/grub/normal.mod
但是我在之前 ls /boot/grub时就压根没见过normal.mod,应为我之前的安装系统不正常退出,损坏了grub这写文件,而不是简单的找不到的问题(因为就没有);于是,使用引导盘进入安装一个ubuntu
5,刻录了一个 U盘做引导盘,安装好了 ubuntu 11.10,这个,不是刻意要选择11.10,其他也可以;再次进入系统,又是 grub rescure模式;
6,重复2,3,4中的操作,在insmod时遇到这样的错误:
“invalid arch independent ELF magic”, 这个错误一开始让我比较迷茫,因为之前从未遇到过,遇到就解决吧;
还是使用之前的引导盘,不安装ubuntu,进入到引导盘上的那个体验用的系统中,打开terminal,执行下面几个简单的命令:
$sudo fdisk -lu /dev/sda //注,该命令查看你的linux OS或者win OS安装在哪个硬盘驱动器上了,以我的为例,设备在sda10上;
接下来就是装载(mount)设备:
(这里如果使用uefi安装而非pc,还需要执行 $sudo apt-get install grub-efi-amd64)
$sudo mount /dev/sda10
$sudo grub-install --root-directory=/mnt /dev/sda
提示说 一切进展顺利,没有问题,那接下来开始继续进入rescure 模式:
7,重启如果又是进入grub rescure 模式,执行2,3,4中操作,一路坦途,心情不错,执行
grub rescure$ normal
但是,对于我这台机器而言,开机就出现了正常的 grub的界面,选择进入win7系统,赶紧把ubuntu 12.04
重装了。。。。
8, 呜呼,七夕节快乐