关于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, 呜呼,七夕节快乐

原文地址:https://www.cnblogs.com/superniaoren/p/3255599.html