RAID1阵列、NVMe M.2 SSD环境下Ubuntu/Windows双启动及GRUB引导故障咨询
您好,针对您遇到的「RST RAID-On模式下Ubuntu无法识别NVMe M.2盘、GRUB无法引导Windows」的问题,我整理了两种方向的解决方案,您可以逐步尝试:
一、尝试在Raid-On模式下让Ubuntu识别NVMe盘
您的lsmod显示nvme核心模块已加载,但可能缺少Intel RST(VMD)相关驱动支持,这是Raid-On模式下识别NVMe的关键:
加载Intel VMD模块
先手动尝试加载Intel RST的VMD模块,这是专门用于Raid模式下管理NVMe的驱动:sudo modprobe intel_vmd加载完成后,再执行
lsblk或lsscsi命令,看看是否能识别到NVMe设备。设置模块开机自动加载
如果手动加载后能识别到NVMe,为了每次开机都自动加载该模块,编辑/etc/modules文件:sudo nano /etc/modules在文件末尾添加一行:
intel_vmd,保存退出后更新initramfs:sudo update-initramfs -u重启系统后再检查NVMe是否能被识别。
检查BIOS/UEFI的NVMe单独设置
部分主板在Raid-On模式下,可单独设置NVMe磁盘的工作模式(不影响RAID1阵列)。比如您的戴尔XPS 8940,可以进入BIOS后找到「Intel RST Configuration」选项,查看NVMe盘是否被设为Non-Raid Disk(而非Raid成员),如果是Raid成员状态,修改为Non-Raid后保存退出,再重启Ubuntu检查识别情况。
二、替代双启动方案(无需依赖GRUB识别NVMe)
如果上述方法无法让Ubuntu识别NVMe,您可以选择以下两种无需GRUB的双启动方式:
直接使用BIOS/UEFI启动菜单
每次开机时按下主板对应的启动快捷键(戴尔XPS通常是F12),在弹出的启动菜单中直接选择「NVMe M.2 SSD(Windows)」或「SATA SSD(Ubuntu)」启动即可。这种方法无需额外配置,缺点是切换系统需要手动操作快捷键。安装独立引导管理器rEFInd
rEFInd是一款UEFI环境下的通用引导管理器,能自动检测所有可引导的系统分区,无需依赖GRUB识别Windows盘:- 在Ubuntu中安装rEFInd:
sudo apt update && sudo apt install refind - 执行安装配置命令:
sudo refind-install
该命令会自动配置EFI分区,重启后您会看到rEFInd的引导菜单,直接选择对应的Windows或Ubuntu选项即可启动,完全绕过GRUB的识别问题。
- 在Ubuntu中安装rEFInd:
您提供的系统信息参考:
lsblk输出(过滤loop设备):
micha@micha-XPS-8940:~$ lsblk | grep -v '^loop' NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 931,5G 0 disk ├─sda1 8:1 0 128M 0 part └─sda2 8:2 0 931,4G 0 part sdb 8:16 0 4,5T 0 disk ├─md126 9:126 0 4,5T 0 raid1 │ ├─md126p1 259:0 0 16M 0 part │ └─md126p2 259:1 0 4,5T 0 part └─md127 9:127 0 0B 0 md sdc 8:32 0 4,5T 0 disk ├─md126 9:126 0 4,5T 0 raid1 │ ├─md126p1 259:0 0 16M 0 part │ └─md126p2 259:1 0 4,5T 0 part └─md127 9:127 0 0B 0 md sdd 8:48 0 465,9G 0 disk ├─sdd1 8:49 0 200M 0 part /boot/efi ├─sdd2 8:50 0 195,3G 0 part /var/snap/firefox/common/host-hunspell │ / ├─sdd3 8:51 0 619,9M 0 part ├─sdd4 8:52 0 195,3G 0 part /home └─sdd5 8:53 0 74,5G 0 part [SWAP]
lsmod输出(过滤nv相关模块):
micha@micha-XPS-8940:~$ lsmod | grep nv nvme 49152 0 nvme_core 135168 1 nvme
备注:内容来源于stack exchange,提问作者Michael Gerloff




