我使用 Ubuntu 14.04(单独使用,没有双启动),今天它安装了一个新内核(3.13.0-49)。出于某种原因,它无法很好地与我的系统配合使用,鼠标没有响应,我的网络也没有响应。所以我使用较旧的内核(3.13.0-37)启动,它运行良好。
但是每次启动时我都必须按下 shift 并选择工作内核,因此我研究了如何配置我的启动以便它加载前一个内核。
我不知道自己到底在做什么,我按照步骤进行操作此主题,基本上就是/etc/default/grub
在读取文件的位置GRUB_DEFAULT=0
进行编辑GRUB_DEFAULT=2
。然后sudo update-grub
在终端上运行。
然后我重启了电脑,结果只出现了 ASUS UEFI BIOS 实用程序。没有 Grub,没有 Ubuntu,什么都没有。按住 shift 或 c 没有任何反应。我用刚下载的 Ubuntu .iso 制作了一个 Live USB,现在我正在从 USB 驱动器运行 Ubuntu。但我无法恢复旧的 grub 文件(在弄乱它之前我确实备份了它)。我可以访问我的硬盘,有三个分区:sda1,我在其中思考(因为我对这些事情非常无知)我的电脑从 sda2(不确定它是什么)和 sda3 启动,我的大部分文件都在那里,但它在一个名为“crypto_LUKS”的文件系统中
我是通过阅读来自引导修复的 BootInfo 摘要。
我尝试用三种不同的方法解决这个问题:
使用 boot-repair 推荐的修复方法(例如这)——它说它找到了 /boot,说它正在修复,但启动后我只是回到我的 UEFI BIOS。如果我选择“高级选项”,我在“GRUB 位置”、“GRUB 选项”或“MBR 选项”选项卡下看不到任何内容。
下列的这些步骤(答案 #2)。尝试后
sudo mount /dev/sda1 /mnt 和
sudo grub-install --root-directory=/mnt /dev/sda
(使用 sda1 和 sda3),我得到
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.
- 将我的 sda3(现在在)中的 grub 文件编辑
/media/ubuntu/5810cd14-bf74-4b7d-a312-81129f4bc7aa/etc/default
回原来的样子,我设法使用它sudo su
(驱动器是只读的)——但是当我尝试运行时,sudo update-grub
它给了我以下错误消息:“/usr/sbin/grub-probe:错误:无法获取“/cow”的规范路径。”
我该怎么办?我真的不想重新安装 Ubuntu,我的所有文件似乎都完好无损,我所需要做的就是启动我的系统!我不敢相信我仅仅因为(愚蠢地)编辑了一个文件中的单个字符就陷入了如此混乱的境地。
编辑:
我结合了oldfred 的链接关于 UEFI 启动修复另一个我曾发布过有关加密分区启动修复的帖子,并让 grup-install 运行安装 grub-efi-amd64。
然后我收到一条错误消息,说我应该更改 /etc/default/grub 配置文件以包含行GRUB_ENABLE_CRYPTODISK=1
。我照做了,但没有成功。然后我看到了这里有一个错误,正确的行应该是GRUB_ENABLE_CRYPTODISK=y
。
照做了,结果又出现了一条我现在想不起的错误信息。两天后我受够了,用新格式重新安装了 Ubuntu。从那时起,一切运行良好,尽管从那时起启动时间稍长了一点。
答案1
如果您仍然可以访问 Linux,请尝试使用 Grub Customizer。 http://ubuntuhandbook.org/index.php/2014/04/install-grub-customizer-ubuntu-1404/ 看看你是否可以找到你的旧 Ubuntu 分区,把它放在列表顶部(它不一定非要放在列表顶部。我只是建议放在顶部,这样如果你在 10 秒内不按任何键它就会自动启动)并保存文件。