清洁安装18.04靴子到Grub提示

自从安装Ubuntu 18.04后我就陷入了grub提示。 我已经尝试过所有可以在网上找到的东西,但我很难过。

这是一个从USB棒开始的Ubuntu 18.04的干净安装。 我安装了17.10但选择在新安装期间覆盖旧的安装。 我双启动时也有一个Windows 10分区。

安装很顺利,但现在当我启动我的机器时,我最终在grub>提示符下。

如果我输入退出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驱动器。 我有点难过。 还有什么我可以尝试的想法?

通过从安装拇指驱动器启动,选择救援模式,并在/ dev / sda上重新安装grub,我能够解决我的问题(虽然我使用的是EFI而不是传统)。

在CSM / Legacy模式下重新安装Ubuntu

您的安装是UEFI还是CSM(传统BIOS模式)存在混淆。 最近的评论表明它是后者。 使用此参考 :

将Ubuntu转换为Legacy模式

注意:仅使用此过程将UEFI模式Linux安装转换为在BIOS / CSM / legacy模式下引导。 如果某些硬件在UEFI模式下无法正常工作,则可能需要进行此类转换。 (video卡是常见问题的根源。)在Windows / UEMI模式下启动时转换为BIOS / CSM /传统模式启动可能会使启动过程更加尴尬 – 您需要使用计算机的内置启动管理器在操作系统之间切换,有些计算机的启动管理器很差,这可能是不可能的。

  1. 如果Ubuntu安装在GPT磁盘上(您可以通过’sudo parted -l’命令检查它),请使用Gparted在其磁盘的开头创建BIOS-Boot分区(1MB,无格式文件系统,bios_grub标志)。

  2. 启动Boot-Repair,单击“Advanced options”,转到“GRUB location”选项卡。

  3. 取消选中“Separate / boot / efi partition”选项
  4. 单击“应用”按钮。

  5. 设置BIOS以便在传统模式下启动硬盘驱动器(请参阅上面的“在UEFI或传统模式下设置BIOS”段落)。


原答案如下

您正在尝试将grub安装到根分区,但它需要进入EFI分区,通常大约为500 MB。 这里有完整的说明

基本上正确的语法是:

 sudo grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB 

尝试使用旧版启动模式启动。 这就是我在计算机无法找到启动设备时启动笔记本电脑所做的工作。 进入启动菜单(删除,输入或F12键)并选择Legacy而不是EFI,安全启动EFI,安全启动

注意:因为我不知道您的计算机是什么,所以进入启动菜单的说明可能无效。 如果没有任何按键操作,请在Google上搜索“如何进入启动菜单”。

如果您的系统在传统模式下启动并且为EFI目标安装了GRUB,则它将无法运行。

我建议如下:

如果已正确装入/boot文件夹的设备(或与/相同),请尝试以下命令:

 grub-install --boot-directory=/boot --target=i386-pc /dev/nvme0n1 

假设/dev/nvme0n1是NVIDIA SSD磁盘(ALL,而不是分区)。 确保备份数据。

要安装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。

如果要安装到USB驱动器并且不想将grub安装到PC的EFI分区,请确保USB驱动器上有EFI分区,并且该分区安装在/ boot / efi而不是PC上。