您的当前位置:首页正文

Ubuntu20.04双系统安装后重启电脑进入GRUB解决办法(亲测有效,踩空无数!!!)

2024-11-27 来源:个人技术集锦

这个界面就是GRUB界面

1.先手动进入Ubuntu

查找分区

输入以下命令来列出分区,确认 Ubuntu 根分区的位置(通常是 ext4 格式):

ls

你应该看到类似 (hd0,gpt1)、(hd0,gpt2) 等分区列表。

定位 Ubuntu 根分区

依次输入以下命令,查找包含 /boot 或 /vmlinuz 文件的分区。假设根分区为 (hd0,gpt4),请根据实际情况替换:

ls (hd0,gpt4)/

设置根分区和启动内核

输入以下命令,手动启动 Ubuntu 系统(假设根分区为 /dev/sda4,替换为你的实际根分区):

set root=(hd0,gpt4)
linux /vmlinuz root=/dev/sda4 ro
initrd /initrd.img
boot

进入 Ubuntu 后修复 GRUB
如果手动启动成功并进入了 Ubuntu 系统,按照以下步骤修复 GRUB 配置:

1.重新安装 GRUB

在终端中运行以下命令,确保 GRUB 正确安装到 EFI 分区:

sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu

2.更新 GRUB 配置

生成新的 GRUB 配置文件,确保所有引导项正确:

sudo update-grub

3.重启系统

运行以下命令重启,检查是否能够显示 GRUB 菜单:

sudo reboot

如果无法手动进入Ubuntu界面则手动进入

2.手动进入Ubuntu

2.1使用 Ubuntu Live USB 启动系统(选择“试用 Ubuntu”模式)。

1.打开终端,输入以下命令列出分区信息,确认 Ubuntu 的根分区(通常为 ext4 格式):

lsblk

2.检查并修复 Ubuntu 分区: 假设 Ubuntu 根分区为 /dev/sda4(请根据实际情况替换),运行以下命令检查分区:

sudo fsck /dev/sda4

2.2 挂载根分区并重新安装 GRUB

如果分区检查成功,可以手动挂载 Ubuntu 根分区,重新安装 GRUB:

1.挂载 Ubuntu 根分区: 假设根分区为 /dev/sda4(根据实际情况替换):

sudo mount /dev/sda4 /mnt

2.挂载 EFI 分区: 假设 EFI 分区为 /dev/sda2,将其挂载到 /mnt/boot/efi:

sudo mkdir -p /mnt/boot/efi
sudo mount /dev/sda2 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount --bind "$i" "/mnt$i"; done

4.进入 chroot 环境: 进入挂载的 Ubuntu 系统环境:

sudo chroot /mnt

5.重新安装 GRUB: 在 chroot 环境中,重新安装 GRUB 到 EFI 分区:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu
update-grub

6.退出 chroot 并重启: 输入以下命令退出 chroot 环境并重启系统(先别着急重启,看后面的)

exit
sudo reboot

另外的情况

如果已经进入了 Ubuntu 系统,但 lsblk 命令仍然没有显示 sda2 的挂载点 /boot/efi,说明 EFI 分区可能没有在系统启动时自动挂载。我们可以通过以下步骤来确保 EFI 分区被正确挂载:

sudo mount /dev/sda2 /boot/efi

验证挂载: 使用 lsblk 或 df -h 命令,确保 sda2 已经成功挂载到 /boot/efi。

2.将 EFI 分区添加到 /etc/fstab
为了确保 EFI 分区在每次启动时自动挂载,可以将它添加到 /etc/fstab 文件中:

获取 sda2 分区的 UUID:

sudo blkid /dev/sda2

这会输出类似于 UUID=“XXXX-XXXX” 的信息,记下这个 UUID。

3.编辑 /etc/fstab 文件

sudo nano /etc/fstab

修改efi的那一行

UUID=XXXX-XXXX  /boot/efi  vfat  defaults  0  1

将 UUID 替换为你在上一步获取到的值。
保存并退出编辑器(按 Ctrl + X,然后按 Y 确认保存,最后按 Enter)。

4.测试 /etc/fstab 配置: 运行以下命令测试 fstab 配置是否正确(这会重新挂载所有分区):

sudo mount -a

正常情况输入完之后没有任何报错。系统会安静地返回到命令提示符。这表示所有分区都成功挂载,没有错误。
5.验证挂载: 再次运行 lsblk 或 df -h,确认 sda2 已成功挂载到 /boot/efi。

配置GRUB

如果 sudo mount -a 成功挂载了 EFI 分区,并且你确认 /dev/sda2 已经挂载到 /boot/efi,接下来可以进行以下操作以确保系统的 GRUB 配置正常,保证系统能够正确引导:

sudo update-grub
  1. 检查 GRUB 安装位置(可选)
    如果之前 GRUB 安装到 /boot/efi 时出现过问题,可以再次确认 GRUB 是否安装在正确的位置:
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu
  1. 重启系统
    完成 GRUB 更新和安装后,重启系统,检查是否能够正常进入 GRUB 菜单并选择系统:
sudo reboot
显示全文