You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

双SSD分别安装Win11与Ubuntu时Grub引导Windows失败的修复求助

双SSD分别安装Win11与Ubuntu时Grub引导Windows失败的修复求助

Hi Priyansh,我之前在双盘装系统时也碰到过一模一样的问题,别慌,咱们一步步来搞定它:

首先得搞清楚为啥会出现「cannot find 'ntldr'」的错误——你手动添加的是Legacy BIOS时代的引导条目,但Win11现在默认用的是UEFI引导,ntldr是旧引导模式下的文件,自然找不到啦。接下来给你两种可行的修复方案:

方案一:让Grub自动扫描并生成正确的Windows引导条目

这是最省心的方法,步骤如下:

  • 启动到Ubuntu,打开终端(快捷键Ctrl+Alt+T)
  • 先找到Windows的EFI分区:执行命令 lsblk,你会看到类似nvme0n1p1这样的分区,后面标注了ESP(EFI System Partition),这就是我们要找的分区
  • 挂载这个EFI分区:假设你的EFI分区是/dev/nvme0n1p1,执行 sudo mount /dev/nvme0n1p1 /mnt
  • 更新Grub配置:执行 sudo update-grub,这个命令会自动扫描所有磁盘上的引导文件,包括Windows的UEFI引导项,然后生成正确的Grub菜单条目
  • 重启电脑,试试Grub里的Windows 11条目,应该就能正常启动了

方案二:手动添加UEFI模式的Windows引导条目

如果自动扫描没成功,咱们就手动写一个正确的条目:

  1. 先获取Windows EFI分区的UUID:执行 sudo blkid,找到刚才那个ESP分区对应的UUID="XXXX-XXXX"(格式是8位十六进制加连字符),把这个UUID记下来
  2. 编辑Grub的自定义配置文件:执行 sudo nano /etc/grub.d/40_custom
  3. 在文件的末尾添加以下内容,注意把XXXX-XXXX替换成你刚才记下的UUID:
menuentry "Windows 11" {
    insmod part_gpt
    insmod fat
    insmod search_fs_uuid
    search --fs-uuid --no-floppy --set=root XXXX-XXXX
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
  1. 保存并退出nano编辑器:按Ctrl+O,回车确认保存,再按Ctrl+X退出
  2. 最后更新Grub:执行 sudo update-grub
  3. 重启后选择新添加的Windows 11条目,应该就能顺利进入系统了

如果还是有问题,可以检查一下Windows的EFI分区有没有被误格式化,或者在Ubuntu里挂载后确认/EFI/Microsoft/Boot/bootmgfw.efi这个文件是否存在——要是这个文件丢了,可能需要用Windows安装盘修复EFI引导。

备注:内容来源于stack exchange,提问作者Priyansh Bhardwaj

火山引擎 最新活动