开机出现grub rescue 的修复(Error:no such device)或者找不到启动项

 

一、开机出现grub rescue 的修复或者硬盘装系统找不到启动项

 

    针对以下方法 主要是针对window10系统,当时出现这种情况,是因为我在磁盘管理手动删除其他分区,导致分区表混乱,无法正常启动,我的是双系统,Windows一启动就就进入grub> 界面,但是ubuntu 正常启动。安装以下方法正常操作即可。

开机出现grub rescue ,然后就进不了系统了,一开机就提示:
Error:no such device :56156a74-8dd0-4c5b-afef-16egc5afbc1a
grub rescue >
        我看到“grub rescue>”,这里应该可以输一下命令,可是不论我输什么命令或重装XP系统都是没有反映。后来经过百度才知道,我的引导文件grub坏了。
 

然后在网上查找很多关于grub rescue的修复,比如ls命令查看

                用 ls (hd0,msdos1)/  一个一个的的尝试  当出现有grub字眼是 就说明 找到了 正确的引导分区 你可以用ls (hd0,msdosX)/grub  继续查看里面的具体内容等等方法都不成功。曾经尝试重装系统,这风险太大,可能把原来的文件擦除或者丢失了。最后制作一个Ubuntu的启动盘

 

下面有很详细的步骤:

    1.首先下载一个ubuntu的iso镜像文件

    2.下载universal usb installer

    3.运行installer 將u盘制作成启动盘(移动硬盘不行)

    4.设置电脑的加载顺序,“先启动usb设备”。重新启动

    5.直接启动ubuntu,打开terminal。

 

             输入 :sudo apt-get install lilo

 

    6.sudo fdisk -l 查看有哪些bootx选项下有*号 

 

            如sda1 * XXXXXX 

    7.然后 sudo lilo -M /dev/sda mbr

    8.重启,修改加载顺序,一切正常~~~

 

 

 

 

 

二、重装grub到启动项(ubuntu)

        PC安装ubuntu和 Windows双系统,将ubuntu添加windows到启动菜单;

然后启动之后,重启就只有windows了。所以第一步就是做一个linux启动盘。但是一直进入Grub>

好在用以下方法可以进入ubuntu系统,方法如下:

1、使用ls命令,找到Linux的安装分区: 
 grub rescue>ls 
 会罗列所有的磁盘分区信息:
(hd0,msdos13),(hd0,msdos12),(hd0,msdos11),,,,,,(hd0,msdos5),(hd0,msdos1)
注:有可能你的hd0后面不是msdosX,以下的操作就把msdosX换成自己硬盘的标号


2、然后依次调用如下命令:msdosX表示某个分区,X代表数字且msdos与数字之间没有空格 
grub rescue>ls (hd0,msdosX)/boot/grub 
如果都找不到的话,直接ls(hd0,msdosX)/grub(我的笔记本是这种格式,(hd0,msdos11)/grub)


其实,还可以用“ls (hd0,msdosX)/”,看grub文件夹在那个盘符下
注:“/”不可省略


3、假设找到(hd0,msdos11)时,显示了文件夹中的文件,则表示Linux安装在这个分区。
 
4、调用如下命令,设置变量: 
grub rescue>root=(hd0,msdos11) 
grub rescue>prefix=(hd0,msdos11)/boot/grub (注:我的就是>prefix=(hd0,msdos11)/grub)
grub rescue>insmod /boot/grub/normal.mod 


5、然后调用如下命令,就可以显示出丢失的grub菜单了。 
grub rescue>normal

 

进入ubuntu系统之后,但是重启之后,又进入Grub>界面,所以按照以上方法进入系统,

1、sudo fdisk -l

2、sudo mkdir /media/temp

3、找出原来linux盘 sda8(就是boot安装的分区)

4、mount /dev/sda8 /media/temp

5、grub-install --root-directory=/media/temp /dev/sda

        但是有的是grub-install --local-directory=/media/temp /dev/sda

6、当出现“Installation finished.No Error Reported.”的时候,就表示操作成功了

 

三、 开机,黑屏,显示unknown filesystem,然后换行显示grub rescue。让人不知所措。


解决方案:
1、输入ls
显示(hd0,msdos10)(hd0,msdos9)(hd0,msdos6)······
2、然后输入 ls (hd0,10)/boot/grub
注意:这儿如果grub不是在此分区中,会找不到文件,如果在此分区中,会出现文件夹中文件列表。挨个试就行。
我的在msdos6中。
3.分别输入如下命令。
set root=(hd0,msdos6)
set prefix=(hd0,msdos6)/boot/grub
insmod /boot/grub/normal.mod
normal
备注:此处如果显示找不到normal.mod。
insmod /boot/grub/normal.mod可以该为insmod /boot/grub/i386-pc/normal.mod

我的文件就是在这个文件夹中。
4、进入linux系统,我的是linuxdeepin。
输入如下命令,进行grub修复。
sudo update-grub
sudo grub-install /dev/sda
如果提示如下,
/usr/sbin/grub-setup:警告: Your core.img is unusually large.  It won't fit in the embedding area..
/usr/sbin/grub-setup:警告: 无法嵌入。在此次安装中 GRUB 只能通过使用块列表安装。但是块列表是不可信赖的,不推荐使用。.
重启后问题依旧,输入一下指令,强制写入。
sudo grub-install --force /dev/sda
会出现以下2报警,不用管他。
/usr/sbin/grub-setup:警告: Your core.img is unusually large.  It won't fit in the embedding area..
/usr/sbin/grub-setup:警告: 无法嵌入。在此次安装中 GRUB 只能通过使用块列表安装。但是块列表是不可信赖的,不推荐使用。.
Installation finished. No error reported.
重启后正常。

 

 

当你的Linux无法正常启动时,可能会出现GR Rescue的情况。GRUB(GRand Bootloader)是一款常用的引导加载,用于加载操作系统。GRUB Rescue是一个命令行界面,用于修复引导问题。 在Linux开机启动时,通常会先加载BIOS或UEFI,然后加载GRUB引导程序。如果GRUB引导程序出现问题,可能会导致系统无法正常启动,此时就会进入GRUB Rescue模式。 在GRUB Rescue模式下,你可以使用一些命令来尝试修复引导问题。以下是一些常用的命令: 1. ls:列出当前可用的硬盘和分区。 2. set:查看当前的GRUB环境变量。 3. insmod:加载指定模块。 4. lsmod:列出已加载的模块。 5. root:设置根文件系统。 6. prefix:设置GRUB的安装路径。 7. normal:尝试正常启动系统。 修复GRUB Rescue问题的具体步骤可能因情况而异,但通常包括以下几个步骤: 1. 确定引导分区:使用ls命令列出可用的硬盘和分区,到包含/boot/grub目录的分区。 2. 设置根文件系统:使用set命令设置根文件系统,例如set root=(hd0,1)。 3. 设置GRUB安装路径:使用prefix命令设置GRUB的安装路径,例如prefix=(hd0,1)/boot/grub。 4. 加载正常模块:使用insmod命令加载正常模块,例如insmod normal。 5. 启动系统:使用normal命令尝试正常启动系统。 如果以上步骤无法解决问题,可能需要进一步检查引导配置文件、修复文件系统或重新安装GRUB等操作。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值