首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >双重引导UEFI安装上的Grub问题-在grub控制台上启动,引导修复没有帮助

双重引导UEFI安装上的Grub问题-在grub控制台上启动,引导修复没有帮助
EN

Ask Ubuntu用户
提问于 2020-07-06 19:31:33
回答 1查看 6.1K关注 0票数 1

在问题发生之前

最近,我在我的工作电脑上安装了Kubuntu20.04,带有窗口的双引导。这台计算机有SSD和HDD。SSD在开头包含一个EFI分区,然后是windows系统分区,然后是我的linux根分区。HDD包含一个windows "data“分区和我的linux /home。

安装是复杂的,因为计算机启动UEFI。无论我尝试了什么,我都无法访问grub菜单;但是我发现,当我激活UEFI时,我在windows上启动;当我禁用UEFI和启动激活遗留模式时,我在linux上启动(但没有任何通道到grub菜单)。

问题所在

今天早上,在没有对Kubuntu进行任何更改或前一天启动的情况下,我在一个没有鼠标指针的黑暗屏幕上启动。苦恼的是,我试着用我的Kubuntu USB键进行引导修复。它没有工作,甚至是最糟糕的:现在,当使用UEFI启动时,我在一个grub控制台上(“支持最小的类似BASH的行编辑.”);在遗留系统上引导时,我最终会出现一个引导错误(file / boot /grub/i 386-pc/Normal.mod)。

以任何可能的方式使用引导修复都不起作用;无论是重新安装内核,还是在引导修复中使用任何高级选项。什么都没变。

我能够使用以下链接顶部帖子中的指令通过grub控制台;但随后我在一个忙碌的Box控制台上着陆,在那里我哪里都找不到。

现在,我已经到了绝境,我非常希望能有任何改善这种情况的建议,至少可以访问窗口或Kubuntu。

EN

回答 1

Ask Ubuntu用户

发布于 2020-07-08 18:58:13

我终于修好了。那是一段漫长的旅程。

我认为(虽然我不确定)这是由几个问题造成的:

  • 同时安装为UEFI和Legacy引导的Grub
  • 损坏的Grub,它不会完全卸载,并且会在每次更新时生成错误的配置文件。
  • 修正计划导致的损坏的EFI分区
  • 在我的/boot文件夹中损坏的内核头

以下是我为修复一切所做的一切:

优先:确保计算机以UEFI模式(bios设置)启动!

  1. 使用安装USB密钥进入Kubuntu会话
  2. 通过Live安装USB删除现有的EFI分区
  3. 在另一台计算机上的windows 10安装上创建Windows恢复驱动器
  4. 锁定计算机并在恢复驱动器上启动并进入命令提示符
  5. 按照此链接上的说明创建一个新的EFI分区,并通过C:上的windows文件来恢复它。此后恢复了对窗口的访问。
  6. 回到了Kubuntu现场会议
  7. 在活动环境的控制台中使用以下命令来挂载和访问我的Kubuntu安装所在的分区
代码语言:javascript
复制
sudo mount /dev/nvme0n1p4 /mnt # nvme0n1p4 is the partition with my linux install
sudo mount /dev/nvme0n1p5 /mnt/boot/efi # nvme0n1p5 is the newly created EFI partition
sudo mount --bind /dev /mnt/dev
sudo mount --bind /sys /mnt/sys
sudo mount --bind /proc /mnt/proc
sudo mount --bind /run /mnt/run
sudo chroot /mnt
  1. 重命名一个脚本,防止用
代码语言:javascript
复制
sudo mv /etc/kernel/postrm.d/zz-update-grub /etc/kernel/postrm.d/zz-update-grub.bad
  1. 彻底清除和重新安装grub
代码语言:javascript
复制
sudo apt-get purge grub grub-pc grub-common grub-efi
sudo mv /boot/grub /boot/grub_backup
sudo mkdir /boot/grub
sudo apt-get install grub grub-pc grub-common grub-efi
sudo grub-install /dev/nvme0n1p5 #nvme0n1p5 is the newly created EFI
sudo update-grub 
  1. 使用命令确定将文件安装在/boot文件夹中的包。
代码语言:javascript
复制
dpkg -S /boot
  1. 重新安装所有的软件包
代码语言:javascript
复制
sudo apt-get install --reinstall <packages names separated with spaces>
  1. 运行更新-grub
  2. 搞定了!一切都应该正常。如果不是,使用开机修理最后一次清除并重新安装grub。

感谢@oldfred的耐心和明智的建议!

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1256897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档