重新引导后,GRUB在命令行中启动


23

我在笔记本电脑上安装了Linux Mint以及预装的Windows10。打开计算机后,大多数时候会出现普通的GRUB菜单:

GRUB菜单

但是在引导Linux或Windows之后重新引导之后,I GRUB以命令行模式启动,如以下屏幕截图所示:

GRUB命令行

我可能会键入一个命令从该提示符启动,但是我不知道。起作用的方法是使用Ctrl + Alt + Del重启,然后反复按F12键,直到出现正常的GRUB菜单。使用此技术,它将始终加载菜单。在不按F12键的情况下重新启动总是在命令行模式下重新启动。

我认为BIOS已启用EFI,并且在/ dev / sda中安装了GRUB引导加载程序。

为什么会发生这种情况,如何确保GRUB始终加载菜单?

编辑

如评论中所建议,我尝试清除该grub-efi软件包并重新安装。这不能解决问题,但是现在当它以命令提示符模式启动时,GRUB会显示以下消息:

error: no such device: 6fxxxxx-xxxx-xxxx-xxxx-xxxxxee.
Entering rescue mode...
grub rescue>

在此处输入图片说明

我检查了blkid命令,这是我的Linux分区的标识符。也许这些额外的信息可以帮助您找出正在发生的事情?


IMHO Windows 10的更新破坏了这种安装程序(尽管可能是由于不称职)。您将需要通过提到的命令序列或实时CD进入Linux,并修复grub-efi软件包。尝试清除并重新安装grub-efi
111 ---

输出是cat /etc/default/grub什么?
Shashank Vyas

有时您只需输入单词“ exit”并按回车键,它将正确继续。
詹姆斯·摩尔

Answers:


31

引导过程找不到根分区(磁盘的一部分,其中包含用于启动系统的信息),因此您必须自己指定其位置。

我认为您必须看一下类似本文的内容:how-rescue-non-booting-grub-2-linux

简短:在此grub rescue>命令行类型中

ls

...列出所有可用的设备,然后您必须仔细检查每个设备,键入类似(取决于ls命令显示的内容)的内容:

ls (hd0,1)/
ls (hd0,2)/ 

...依此类推,直到找到

(hd0,1)/boot/grub   OR (hd0,1)/grub

如果是efi

(hd0,1)/efi/boot/grub OR (hd0,1)/efi/grub

...现在相应地设置启动参数,只需输入正确的数字并在每行之后按回车

set prefix=(hd0,1)/grub
set root=(hd0,1)
insmod linux
insmod normal
normal

现在它应该启动,并在启动命令行并输入后

sudo update-grub

...它应该在下次启动。否则,您必须再次执行以下步骤,可能必须再次修复或安装grub(请参阅此文章:https : //help.ubuntu.com/community/Boot-Repair
希望我正确理解您的问题,这就是您要寻找的


1
我将尝试这种方法,但是此答案不能解释为什么有时grub能够找到该分区,但是如果在加载前按F12键,则可以找到该分区。
Antoine Aubry,2013年

也许是BIOS更新/升级,您在ASUS网站上找到了什么吗?还是使用uefi /旧版引导(BIOS配置)-我不知道,是否必须在GRUB中对某些内容进行调整才能使用uefi?
eli

这对我没有用。ls得出:(hd0) (hd0,gpt2) (hd0,gpt1)等等,那么我想,ls (hdo)ls (hdo)/并得到了error: no server is specified。我试过:ls (hdo,gpt2)/并找到error: disk hdo,gpt2'。
user2205916

1
@ user2205916 ls为您提供(hd0) ...了一个像“ 01234”中那样的“ 0”,并且您写ld (hdo)/了一个像“ ..LMNOPQRS ..”中那样的“ o”-您必须使用数字0“ 0”
eli

4

这是许多使用Windows 10进行双重引导的PC发生的一件有趣的事情。最近发生在我和朋友身上。请注意,我不知道为什么,我只能推测这取决于某些Windows 10更新。就像有人说的那样,确实是由于引导过程由于某种原因找不到根分区,所以GRUB要求您通过CLI告诉他它在哪里。

这就是我得到的

无论如何,感谢您提出这个问题,我发现它试图解决我的问题,我创建这个帐户只是为了回答这个问题。解决方法非常简单:

  • 进入BIOS / UEFI
  • 检查启动分区:可以吗?还是太多?你认得所有人吗?删除不需要的。
  • 将启动顺序重置为默认值
  • 重新启动,您应该会看到通常的GRUB菜单

这正是我安装Manjaro时的情况。重新启动后,它将始终转到grub外壳,这很麻烦。问题在于,在UEFI引导选项中,硬铆钉的顺序为:1. Live CD(不再连接)。2. Windows引导管理器(实际进入grub外壳的那个)。3. Manjaro(实际上是Manjaro的g)。在将Manjaro置于UEFI引导顺序的第一位之后,计算机将启动并按照预期的方式运行至grub。
阿肯南

更改启动顺序对我有用:我在Dell笔记本电脑上安装了Windows 10,然后在外部SSD硬盘驱动器上安装了Ubuntu 16.04,但以某种方式最终在启动时出现了grub。我先将引导顺序更改为Windows,现在将其直接引导至Windows-我很高兴现在使用F12引导至Ubuntu。
WillC

2

Windows可能以UEFI引导模式安装,而Mint则以BIOS引导模式安装。这两种模式不兼容,您只能从UEFI / BIOS菜单进行双重引导,并且可能必须打开或关闭UEFI或BIOS引导设置。Grub只能以与引导grub相同的引导模式双重引导其他安装。您可以使用Boot-Repair来转换BIOS。


2

您可以通过Super Grub2磁盘引导linux系统,从此处下载iso 并创建可引导的USB。

成功启动kali linux后,grub-efi按以下步骤重新安装:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian --recheck --debug /dev/sda
update-grub

2

我遇到了同样的问题。而且我发现有时在Windows 10中启动时,启动顺序已更改。我的笔记本电脑中有两个SSD。一个安装了ubuntu和grub,另一个安装了Windows。Windows 10更新时,引导顺序有时会更改,并且将Windows SSD放在首位,从而导致系统始终引导到Windows中。最近它随机更改了它,我开始看到系统启动进入grub提示符。在BIOS中更改引导顺序后,grub菜单将正常加载。


1

在装有Windows 10和Linux Mint 19的Dell笔记本电脑上也发生了同样的问题。所以发生的事情是我在Windows操作系统下工作,突然从磁盘列表中丢失了HDD。窗口工作正常,因为它在ssd驱动器上。困惑了一段时间后,我想确定硬盘是否正常运行,所以完成后我从BIOS上运行了诊断程序,然后重新启动了计算机,并恢复了grub的状态。


1

我突然发现,在进行一些更新后,Windows已将“快速启动”选项设置为“启用”。这导致了我的ubuntu引导问题))快速引导选项可以在您的BIOS /引导设置中找到



0

试试这些命令

对所有列出的分区重复此操作,直到找到包含initrd.img -... vmlinuz -...甚至/ grub之类的结果。找到包含Linux Mint引导映像的分区后,将运行以下步骤:

您应该初始化内核

grub> set root=(hd0,1) grub> linux /vmlinuz-4.4.0-38-generic grub> initrd /initrd.img-4.4.0-38-generic grub> boot

grub> set root=(hd0,[partition number you found])/boot grub> insmod linux grub> linux (hd0,[partition number you found])/boot/vmlinuz-[image name] grub> initrd ((hd0,[partition number you found])/boot/initrd.img-[image name] grub> boot

一旦引导到Linux Mint安装程序,而不是应急磁盘,或者如果您发现GRUB缺少Windows,则需要执行以下步骤:

sudo os-prober \\ If you see your Windows Partition then you can run the next step sudo grub2-mkconfig sudo update-grub


-1

我希望这有助于您更好地理解外观。我对您和其他linux初学者来说非常简单。请随便将它付清。这些人在这里很聪明,但他们需要记住他们曾经是初学者

注意我们的系统如何启动。众所周知,这可能是其他人可能发现的不同问题。因此,有一段历史,我像袜子一样走遍Linux发行版。我穿了很多不同的袜子。我有一个完整的安装,没有双重引导,这是此笔记本电脑的提示。但是,这里的踢腿。在保存数据(家庭/用户)时,我通常没有任何问题,但是这次grub表示不会安装。我丢失了可能的数据,并得知自己能够亵渎自己,我从来不知道自己有过……反正Gurb表现得像是没有安装,但确实如此。然后...有人在更新过程中摔落了我的笔记本电脑.... inirsmfs也恢复了我需要的笔记本,但是接下来发生了什么

电源按钮-> Grub 2.02:

如果您第一次启动,并且在安全启动方面有一个红色菜单,等等。但这让您单击“确定”(模糊,因为在Windows中标题为3个单词,在单击确定之前,我认为可能有6个单词(哈哈,如果我计数错了,抱歉)。 。您启动进入grub。

以我为例,请检查古尔以确认您可以输入cmpath = hd0(以我为例)。然后prefix =(hd0,.gpt2)...结尾于insmod normal Normal

和启动

因此,尽管如此,但我检查了我的boot / efi / EFI目录ls.-al

d。鹦鹉d。的Ubuntu

我重新启动以查看该死的BIOS所说的内容,并了解以下内容:

(hd0,gpt2)启动/ grub鹦鹉... ubuntu作为启动优先

所以我尝试了这个。

进入BIOS,现在妖魔化我与否,我实际上正在提供帮助。Indont声称自己是专家,但我和所有人都应该得到尊重,不要无知和无法解决此问题的人的评论。由于EFI-NOW这是推测性的,因此会发生问题。请免费发表评论。

Fom Grub键入exit->输入BIOs进行引导。注意引导操作:-PARROT-您可能会看到hd0,gpt2)/ grub / boot在我的情况下,Urgh是疯狂的ubuntu,因此您可以嘲笑我,哈哈。

现在禁用安全启动(如果适用)并且如果申请人选择custome

如果您能找到很好的话,那就是世界的尽头!!!

哈哈,但是认真检查一下您的启动优先级...您可能会看到Parrot Hd0,gpt2哈哈,而我看到了Ubuntu。

现在禁用显而易见的---> FOR ME UBUNTU

保存并重新启动...然后变得快乐

亲切地付款。这些弊端有时会忘记人们不应该受到的欺负。

仅供参考:我的名字不是怎么说。它的埃里克·舒普


-1

安装Linux Mint 19.1之后,系统将仅引导至grub rescue>提示符,并在其上方显示一个错误,指示找不到hd0。多亏了该线程,我才能访问BIOS,并在“存储/存储选项”下将SATA仿真从AHCI RAID更改为纯模式IDE,现在系统启动至正确的菜单,使我可以选择Linux发行版并继续成功启动。


-1

我将kubuntu 19.10分区从hd复制到SSD,以使系统运行更快,并且不想重新安装所有内容。我想保留原始分区作为备份,因为我想尝试使用davinci resolve。因此,我使用Gparted更改了UUID。然后我得到了Grub 2.02“ Mineral BASH-like line edit ...”错误。我所做的就是引导进入安装程序并更改了引导顺序以进行修复。现在,我在sda11上看到Kubuntu 19.10,在sda1上看到Windows,在sdb2上看到kubuntu 19.10。希望对您有所帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.