这是我所看到的:
GNU GRUB version 2.02~beta2-9ubuntu1
Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists possible device or file completions.
grub> _
我现在应该怎么做?
答案1
原因:启动过程找不到根分区
解决方案
请输入
ls
这将显示所有分区,然后输入单个
ls (hd0,1)/
ls (hd0,2)/
... 依此类推,直到找到
(hd0,1)/boot/grub
或者(hd0,1)/grub
对于 EFI,
(hd0,1)/efi/boot/grub
或者(hd0,1)/efi/grub
...现在相应地设置启动参数,只需输入您的号码即可
set prefix=(hd0,1)/grub
set root=(hd0,1)
insmod linux
insmod normal
normal
现在它将启动,请打开终端并输入此命令行
sudo update-grub
...下次它应该可以正确启动。如果没有,您必须再次执行这些步骤。在其他情况下,您可能需要再次修复或安装 grub,请看看这篇文章。
我的软件:Windows 10 和 Ubuntu 16.04 双启动
硬件:HP Pavilion 15t
答案2
您的引导程序有问题。您应该初始化内核。首先使用命令ls
,然后根据它调整以下命令。在 处hd0
写入您的磁盘并1
写入您的号码。
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> linux /vml
Tab
grub> initrd /in
Tab
仅限首次尝试grub> boot
答案3
这不是一个永久性的修复,但您只需退出即可继续:
grub> exit
这将转到 grub 菜单(如果您有双启动系统),您可以在其中选择要启动的操作系统,或者直接转到主操作系统。这是使用 UEFI 引导加载程序双启动系统时常见的问题。
答案4
我通过将 ubuntu 安装到外部 USB SSD 外壳上而进入此状态。安装程序已修改 /boot/efi/EFI/ubuntu/grub.cfg 中的文件以指向新驱动器。当我移除 USB 外壳时,机器将我带到 grub> 提示符。
根据此处的答案:我可以通过运行以下命令从 grub> 提示符启动旧驱动器:
set prefix=(hd0,gpt1)/boot/grub
set root=(hd0,gpt1)/boot
insmod normal
normal
您需要为您的机器选择正确的前缀/根(使用制表符自动完成)。
然后,我修改了 /boot/efi/EFI/ubuntu/grub.cfg 中的 search.fs_uuid 行以指向旧驱动器,然后它像以前一样启动。
search.fs_uuid 2cbadaa8-abad-4991-b99d-bbadbad99dbe root
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
我根据以下输出将 uuid 替换为:
lsblk -o NAME,SIZE,MOUNTPOINT,UUID