Ubuntu 22.04.3 LTS与Windows 11双系统安装失败求助
Ubuntu 22.04.3 LTS与Windows 11双系统安装失败求助
兄弟我之前在HP的AMD锐龙本上遇到过完全一样的问题!新HP本的UEFI设置和Secure Boot经常搞事情,导致GRUB引导菜单不显示,直接跳Windows。给你几个亲测有效的解决步骤,按顺序来:
第一步:先检查并调整UEFI/BIOS设置
重启电脑时狂按F10(HP笔记本的BIOS默认快捷键)进入设置界面,重点改这几个地方:
- 找到「安全启动(Secure Boot)」选项,直接关掉!虽然Ubuntu 22.04号称支持Secure Boot,但HP的固件兼容性拉胯,这是最常见的诱因
- 找到「启动顺序(Boot Order)」,把「Ubuntu (UEFI)」或者带有EFI标识的Ubuntu选项移到最顶部;如果没看到这个选项,说明GRUB没装对,直接跳到第二步
- 关闭「快速启动(Fast Boot)」!这个选项会让电脑跳过引导选择,还会锁磁盘,导致GRUB根本写不进去
- 确认「Legacy Boot」是关闭状态,保持UEFI模式(因为你的Windows 11是UEFI安装的,双系统必须统一引导模式)
第二步:从Ubuntu USB启动修复GRUB
用你的Ubuntu安装U盘进入「试用Ubuntu」模式,打开终端(快捷键Ctrl+Alt+T),按以下步骤操作:
- 先识别你的ESP分区(EFI系统分区,Windows用来存引导的几百MB FAT32分区):
找Type列标注为「EFI System」的分区,比如sudo fdisk -l/dev/nvme0n1p1(因为你是SSD,大概率是nvme开头的设备名) - 创建挂载点并挂载ESP分区:
sudo mkdir /mnt/esp sudo mount /dev/nvme0n1p1 /mnt/esp # 替换成你找到的ESP分区路径 - 挂载你的Ubuntu根分区(就是那个180G的Linux分区,Type是「Linux filesystem」):
sudo mount /dev/nvme0n1p5 /mnt # 替换成你的Ubuntu根分区路径 - 挂载系统必要的虚拟目录:
sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys - 切换到Ubuntu的系统环境:
sudo chroot /mnt - 安装GRUB到磁盘(注意是磁盘名,不是分区!比如
/dev/nvme0n1,不要加p1):grub-install --efi-directory=/mnt/esp /dev/nvme0n1 - 更新GRUB配置,让它识别到Windows:
update-grub - 退出chroot并重启:
exit sudo reboot
第三步:如果还是不行,修复Windows引导后再重来
有时候Windows会强行覆盖ESP分区里的引导文件,你可以用Windows安装U盘进入修复模式,打开命令提示符,输入以下命令修复Windows引导:
bootrec /fixmbr bootrec /fixboot bootrec /scanos bootrec /rebuildbcd
修复完Windows后,再回到第二步重新修复GRUB,这次GRUB应该能正确识别并添加Windows到启动菜单里。
额外提醒
下次安装Ubuntu时,尽量选「其他选项」手动分区,把ESP分区挂载到/boot/efi,格式选FAT32,不要依赖自动的「与Windows并行安装」——自动安装有时候会误判ESP分区,导致GRUB装错地方。
备注:内容来源于stack exchange,提问作者DavidJ




