You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu安装于NVMe SSD后启动失败,提示UUID不存在并进入BusyBox shell

Ubuntu安装于NVMe SSD后启动失败,提示UUID不存在并进入BusyBox shell

看你的问题描述和日志,核心原因应该是两块完全相同的NVMe SSD出现了全局ID重复——启动日志里的nvme nvme1: globally duplicate IDs for nsid 1已经给出了明确提示。因为两块SSD品牌、容量都一样,系统启动时偶尔会搞混它们的设备命名(一会儿把Ubuntu盘识别成nvme0n1,一会儿又变成nvme1n1),导致GRUB里指定的UUID找不到对应分区,直接掉进BusyBox。

下面是一步步的解决办法,都是新手也能操作的:

解决步骤

1. 先正常进入Ubuntu系统

既然拔掉Windows所在的第二块SSD就能正常启动,先这么做,进入系统后再处理后续配置。

2. 修改GRUB配置,用PARTUUID替代UUID

UUID依赖系统正确识别磁盘,而磁盘命名混乱时,用更稳定的PARTUUID(分区唯一标识)会更靠谱:

  • 打开终端,编辑GRUB的默认配置文件:
    sudo nano /etc/default/grub
    
  • 找到GRUB_CMDLINE_LINUX_DEFAULT这一行,把里面的root=UUID=fa525e4b-5faa-46eb-bbfe-0c53dac962fa替换成你Ubuntu根分区的PARTUUID。从你成功启动后的blkid输出看,根分区的PARTUUID是11009117-55ca-4835-8ac3-4628878570db,替换后这行应该是:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash vt.handoff=7 root=PARTUUID=11009117-55ca-4835-8ac3-4628878570db"
    
  • 按Ctrl+O保存,回车确认,再按Ctrl+X退出编辑器。
  • 更新GRUB使配置生效:
    sudo update-grub
    

3. 修复initramfs(可选但推荐)

有时候系统初始化镜像里的磁盘信息会有缓存,更新一下确保它能正确识别磁盘:

sudo update-initramfs -u -k all

4. 同步修改fstab文件

检查系统挂载配置文件/etc/fstab,如果里面根分区用的是UUID,也替换成PARTUUID,避免开机挂载失败:

  • 打开fstab:
    sudo nano /etc/fstab
    
  • 找到根分区的那一行,把UUID=fa525e4b-5faa-46eb-bbfe-0c53dac962fa替换成PARTUUID=11009117-55ca-4835-8ac3-4628878570db,保存退出即可。

5. 进阶:给其中一块SSD修改Namespace ID(可选)

如果上面的方法还是偶尔出问题,可以尝试修改其中一块SSD的Namespace ID,从根源解决重复问题:

  • 先查看所有NVMe设备:
    sudo nvme list
    
  • 找到Windows所在的SSD(比如/dev/nvme1n1),执行以下命令修改它的nsid(操作前请备份重要数据,别搞错设备!):
    sudo nvme ns-rescan /dev/nvme1
    sudo nvme ns-create /dev/nvme1 --nsid=2 --size=$(sudo nvme id-ns /dev/nvme1n1 | grep 'nsze' | awk '{print $2}')
    

补充说明

为什么会出现这个问题?因为同型号的NVMe SSD可能默认使用相同的Namespace ID,系统启动时无法区分两块磁盘,偶尔会把Ubuntu盘的设备名搞反,导致GRUB找不到指定的UUID分区。用PARTUUID或者修改nsid,都是为了让系统能稳定识别到你的Ubuntu分区。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 10:58:15