双系统环境下启动Ubuntu 23.04后无法启动22.04的问题求助
双系统环境下启动Ubuntu 23.04后无法启动22.04的问题求助
看起来你遇到了双系统里GRUB引导配置被覆盖的典型问题,我来帮你一步步排查解决:
问题原因分析
你启动Ubuntu 23.04后,系统大概率自动更新了GRUB引导程序或者重新生成了GRUB配置,直接覆盖了原本由Ubuntu 22.04管理的引导设置。另外,23.04可能默认关闭了os-prober(用来检测其他系统的工具),导致无法识别22.04的分区;而GRUB外观和分辨率变化,是因为23.04的GRUB主题、显示配置和22.04不同,覆盖了原有设置。
解决步骤
1. 启用os-prober并重新生成GRUB配置(优先尝试)
这是最快捷的方法,先让23.04的GRUB检测到22.04:
- 打开终端,编辑GRUB默认配置文件:
sudo nano /etc/default/grub - 找到
GRUB_DISABLE_OS_PROBER这一行,如果值是true,改成false;要是没这行,直接添加:GRUB_DISABLE_OS_PROBER=false - 按
Ctrl+O保存,回车确认,再按Ctrl+X退出编辑器。 - 重新生成GRUB配置:
执行完注意看终端输出,如果出现类似sudo update-grubFound Ubuntu 22.04 LTS on /dev/sdaX的提示,说明已经检测到22.04,重启后就能在GRUB菜单里看到它了。
2. 手动挂载22.04分区后重新生成GRUB
如果上面的步骤没检测到22.04,可能是22.04的分区没被挂载:
- 先查看磁盘分区信息,找到22.04的根分区(通常是ext4格式,用
lsblk或fdisk -l命令查看,比如/dev/sda2):lsblk - 创建临时挂载点并挂载22.04分区:
sudo mkdir /mnt/ubuntu22 sudo mount /dev/sda2 /mnt/ubuntu22 # 替换成你实际的22.04根分区 - 再次执行
sudo update-grub,此时GRUB应该能检测到已挂载的22.04系统。
3. 修复GRUB并切换回22.04管理引导
如果前两步都失败,就得把GRUB引导权交还给22.04,用Ubuntu Live USB操作:
- 制作Ubuntu 22.04或通用的Ubuntu Live USB,从它启动进入试用模式。
- 打开终端,先挂载22.04的根分区:
sudo mount /dev/sda2 /mnt # 替换成你的22.04根分区 - 如果是UEFI启动模式,还要挂载ESP引导分区(通常是
/dev/sda1,fat32格式):sudo mount /dev/sda1 /mnt/boot/efi - 切换到22.04的系统环境:
sudo chroot /mnt - 重新安装GRUB到你的磁盘(注意是磁盘,不是分区,比如
/dev/sda):sudo grub-install /dev/sda - 重新生成22.04的GRUB配置:
sudo update-grub - 退出chroot并重启:
重启后应该就能回到熟悉的22.04 GRUB菜单,正常选择启动22.04了。exit sudo reboot
GRUB外观恢复
等你回到22.04系统后,重新执行一次sudo update-grub,就能覆盖23.04的GRUB配置,恢复原来的外观和分辨率。毕竟你本来就打算删除23.04,没必要在它上面折腾主题设置啦。
备注:内容来源于stack exchange,提问作者cetus
相关产品推荐
相关产品推荐

