我遇到了一个非常奇怪的问题。我有一台安装了 Windows 10 的戴尔笔记本电脑。它有一个 1TB 的硬盘和一个 128GB 的 SSD 驱动器。我安装了 Ubuntu,/home
分区/swap
在硬盘上,但据我记得,Ubuntu 初始化程序在 SSD 上。我有 Ubuntu 18.04。
双启动一直运行良好。但是,有时我遇到了 Compiz 的一个已知问题(它会崩溃,然后你不得不通过按住电源按钮关闭笔记本电脑)。在寻找解决方案并尝试了一些命令后,问题显然解决了。
昨天又发生了这种情况(Compiz 崩溃了),但当我重新启动系统时,GRUB 丢失了。我收到消息No bootable devices found
。它无法加载,Ubuntu 也无法加载,Windows 也无法加载。我重新启动并进入 BIOS 设置。在启动顺序中,我仍然有 Ubuntu 和 Windows 作为启动选项,但显然它们不起作用。我尝试手动为 Windows 创建启动选项,但只成功了一次。
现在,我正在使用另一台笔记本电脑创建的可启动 USB 驱动器来运行实时 Ubuntu。我在不同的论坛和网页上寻找了许多不同的解决方案,但都没有奏效。附件是我的 fdisk 输出:
解决方案 1: boot-repair
软件
我尝试安装boot-repair
(使用实时 Ubuntu),但它没有给我“推荐修复”选项,只有“创建启动信息摘要”。
解决方案 2: grub-install
我尝试了以下顺序:
sudo mkdir /mnt/ubuntu
sudo mount /dev/sda4 /mnt/ubuntu
sudo grub-install --boot-directory=/mnt/ubuntu/boot /dev/sda
但出现以下错误:
Installing for i386-pc platform.
grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.
grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
grub-install: error: will not proceed with blocklists.
尝试了几次后,我意识到这可能是因为/dev/sda4
我的文件系统,而我的 Ubuntu 启动是在 SSD 驱动器上。问题是,在使用实时 USB Ubuntu 重新启动我的笔记本电脑几次后,fdisk
不再显示 SSD 驱动器(我认为它以前是sdb
,可能带有一些 EFI 名称)。它也没有出现在 GParted 上。我不知道为什么。
有人知道如何解决这个问题吗?
更新
由于某些未知原因,我重新启动了,现在 SSD 驱动器sdb
出现了。这是我的fdisk
输出:
我应该尝试解决方案 2上面使用相应的Linux分区sdb
?
这里是 gparted 关于 SSD 的打印信息sdb
:
答案1
经过多次尝试,我发现了一个简单的解决方案:
- 重启系统;
- 进入 BIOS 设置;
- 进入“启动顺序”;
- 创建路径为EFI\ubuntu\grubx64.efi的新启动选项;
- 将这个新选项移至第一位;
- 保存并退出。