error: file '/boot/grub/i386-pc/normal.mod' not found解决办法

来源:互联网 发布:淘宝形象模特 编辑:程序博客网 时间:2024/05/01 05:53

1.收到命令行的方法:

先在grub rescue中输入ls,出现类似于

(hd0,msdos1)(hd0,msdos2)等等

然后你分别探测一下,看看咱们的linux在哪个分区下面。

[java] view plain copy
  1. ls    (hd0,X)/boot/grub  

这样试试。这是正常的情况下,如果你的磁盘的文件系统不太一样,直接ls (hd0,msdosx)即可。x指的是上面ls后出现的分区。

最后肯定会发现一个不一样的,我ls完了后显示ext4.这正是Linux的系统

[java] view plain copy
  1. grub rescue>set    root=(hd0,5)  
  2. grub rescue>set    prefix=(hd0,5)/grub  
  3. grub rescue>insmod     /grub/normal.mod  
[java] view plain copy
  1. grub rescue>normal  

这样一般就OK了。算是进系统了,但是没解决问题,因为只是手动进入了系统,但是grub还是坏的。

[java] view plain copy
  1. sudo   update-grub   
  2. sudo   grub-install   /dev/sda  

进系统后执行上面的命令。重新进行安装grub.

2.用工具进行修复。boot repair官网

上面的官网有介绍怎么使用。我稍微说一下。

首先下载.iso镜像,然后刻录到U盘里,开机U盘启动,然后就进去了,点XXsession进U盘系统进行修复。

3.上面如果都没有解决,那么就需要个Livecd,也就是找你的系统U盘,没有的话就自己再烧录。

开机U盘启动,按F5进去,就会进U盘里的系统。

在这里所有的命令都可以使用了,还可以操作咱们损坏的Linux的文件。如果你是不小心删除或者移动了,在这里都可以进行操作。说一下步骤

sudo mount /dev/sdb5 /mntsudo grub-install /dev/sdb --root-directory=/mnt

这样就可以了。其中,sdb5指的是你的系统所在的分区,刚才ls的时候已经探测出来了。

如果还没有解决,用下面的方法,目的是从U盘的root权限转移到原linux中进行操作。相当于临时进入原来系统

sudo -s#where sda1 is my root partitionmount /dev/sda1 /mntmount -t proc none /mnt/procmount -t sysfs none /mnt/sysmount -o bind /dev /mnt/dev mount -o bind /tmp/ /mnt/tmp# chroot into your ubuntu installationchroot /mnt# remove all those grub efi packagesapt-get remove --purge grub-efi-amd64 grub-efi-amd64-bin# and re-install grub with the bios (non-efi) packages onlyapt-get --reinstall install grub-common grub-pc os-prober# if there is an error repeat the setup via:grub-install --recheck /dev/sda

这个方法没用到,一般前面的方法就可以。

阅读全文
0 0
原创粉丝点击