自从安装了Ubuntu 18.04之后,我就卡在了grub提示符下。我已经尝试了所有我能在网上找到的东西,但是我被难住了。
这是一次从U盘开始的Ubuntu 18.04的清洁安装。我已经安装了17.10,但在新的安装过程中选择了覆盖我的旧安装。我也有一个Windows 10分区,因为我是双启动。
安装过程很顺利,但现在当我启动机器时,我在 grub>
提示符下结束了。
如果我输入exit,Ubuntu就会启动,没有问题。
如果我从我的BIOS中手动选择装有Windows的驱动器,它的加载没有问题。
我试着用grub-rescue磁盘工具,但它说它不能运行,因为它不在EFI模式中。
从这个诊断程序的输出显示。
=================== Suggested repair
The default repair of the Boot-Repair utility would purge (in order to fix packages) and reinstall the grub-efi-amd64-signed of nvme0n1p7, using the following options: nvme0n1p1/boot/efi,
Additional repair would be performed: unhide-bootmenu-10s fix-windows-boot use-standard-efi-file
我试着用这个安装grub:
sudo grub-install --efi-directory=/dev/nvme0n1p1/
但我得到一个错误:
Installing for i386-pc platform.
grub-install: error: install device is not specified.
这是一个Nvmie驱动器。我有点困惑了。有什么想法,我还可以试试吗?
grub-rescue disk tool
项是什么?你是说 boot-repair
吗? 我通过从安装优盘启动,选择救援模式,并在/dev/sda上重新安装grub来解决我的问题(尽管我使用的是EFI而不是传统)。
要安装grub,你需要为 grub-install
命令指定正确的参数。
这是我大约一小时前在启动到提示符后重新安装grub的方法:
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader=ubuntu --boot-directory=/boot/efi/EFI/ubuntu --recheck
假设你把启动分区装到了/boot,把EFI分区装到了/boot/efi,考虑到EFI分区有足够的空间来安装grub,上述命令应该是有效的。
如果你要安装到U盘上,并且不想把grub安装到你的PC的EFI分区上,确保U盘上有一个EFI分区,并且该分区被挂载到/boot/efi而不是你的PC上。
关于你的安装是UEFI还是CSM(传统BIOS模式)的问题存在混淆。最近的评论显示是后者。使用这个 参考 :
注意: 只使用这个程序将UEFI模式的Linux安装转换到BIOS/CSM/遗留模式下启动。如果某些硬件在UEFI模式下不能正常工作,这样的转换可能是必要的。(显卡是一个常见的问题来源。)当Windows在UEFI模式下启动时,转换到BIOS/CSM/传统模式下启动会使启动过程更加尴尬--你需要使用计算机的内置启动管理器来切换操作系统,而有些计算机的启动管理器很差,这可能是不可能的。
如果Ubuntu安装在GPT磁盘上(你可以通过'sudo parted -l'命令来检查),使用Gparted在其磁盘的开始位置创建一个BIOS-Boot分区(1MB,未格式化的文件系统,bios_grub标志)。
启动 Boot-Repair,点击 "Advanced options",进入 "GRUB location "标签。
取消勾选 "Separate /boot/efi partition "选项
点击 "Apply "按钮。
设置你的BIOS,使其在Legacy模式下启动硬盘(见上文""在UEFI或Legacy模式下设置BIOS "段落)。
你试图将 grub
安装到你的根分区,但它需要进入EFI分区,该分区通常约为500MB。这里有完整的说明
基本上正确的语法是。
sudo grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB
$ sudo mkdir /mnt/efi $ sudo mount /dev/nvme0n1p1 /mnt/efi $ sudo grub-install --target=x86_64-efi --efi-directory=/mnt/efi -- bootloader-id=GRUB Installing for x86_64-efi platform. EFI variables are not supported on this system. EFI variables are not supported on this system. grub-install: error: efibootmgr failed to register the boot entry: No such file or directory.
试着用传统的启动模式来启动。当我的电脑无法找到启动设备时,我就是这样做的,让我的笔记本启动起来。 进入你的启动菜单(删除、输入或F12键)。 并选择 传统 ,而不是 EFI,安全启动 或 EFI,安全启动关闭 。
注意: 因为我不知道你的电脑是什么,进入启动菜单的指示可能不起作用。如果这些按键都不起作用,请在谷歌上搜索 "如何进入启动菜单"。
如果你的系统以传统模式启动,而GRUB是为EFI目标安装的,那么它就不能工作。
我建议如下。
如果你的 /boot
文件夹的设备已经正确挂载(或者与 /
相同),试试这个命令。
grub-install --boot-directory=/boot --target=i386-pc /dev/nvme0n1
假设 /dev/nvme0n1
是NVIDIA SSD磁盘(全部,不是一个分区)。请确保有一个数据的备份。
我的解决方案很简单! 我只是简单地用EFI重启了一下,然后就通过了,让我做了一个干净的Ubuntu重装。 问候