NVMe双盘环境下Ubuntu/Mint安装程序无法识别ADATA S40G磁盘的问题求助
问题描述
我目前遇到了一个棘手的问题:我的PC上装有两块NVMe硬盘——1TB的ADATA LEGEND 960V(上面安装了Windows 11)和500GB的ADATA S40G,我想在S40G上安装Ubuntu或Mint,但安装程序始终只能识别到LEGEND 960V,完全看不到S40G。
我尝试过把硬盘模式从AHCI切换到RAID,但没有任何效果;而且Ubuntu不支持Intel RST,Windows 11的安装程序却能正常识别两块硬盘,BIOS配置也完全一致。主板是MSI Z590 ACE,因为各种原因无法插拔或移除硬盘,想请教下为什么Debian、Mint和Ubuntu都识别不到这块S40G呢?
排查与解决建议
我之前也碰到过类似的NVMe盘在Linux安装环境中不识别的情况,给你几个可行的方向试试:
检查BIOS中的NVMe端口设置
有些Z590主板会对不同的NVMe端口做分组限制,比如某些端口在启用Intel RST的情况下会被隐藏,或者需要单独开启。你可以进入MSI Z590 ACE的BIOS,找到「Storage」相关选项,确认所有NVMe端口都处于启用状态,尤其是S40G插的那个端口。另外,看看有没有「NVMe RAID Mode」或者「PCIe Power Management」这类选项,尝试关闭PCIe电源管理的节能模式,有时候节能会导致Linux安装环境无法检测到盘。使用最新版本的安装镜像
老版本的Ubuntu/Mint内核对新NVMe盘的支持可能不够完善,ADATA S40G是比较新的型号,建议你下载Ubuntu 22.04 LTS或Mint 21.x的最新镜像,制作成启动U盘后再尝试。新内核通常会包含更多的NVMe驱动补丁,能解决兼容性问题。在安装环境中手动添加启动参数
如果你用的是较新的镜像还是识别不到,可以在安装启动界面按e进入编辑模式,找到以linux开头的那行启动参数,在末尾添加nvme_core.default_ps_max_latency_us=0,然后按F10启动。这个参数可以强制关闭NVMe的节能模式,很多时候能让Linux识别到原本被隐藏的盘。检查硬盘的分区表与健康状态
虽然Windows能识别,但有可能S40G的分区表存在异常,导致Linux无法读取。你可以在Windows中打开「磁盘管理」,确认S40G是不是处于未初始化状态,或者有没有设置成动态磁盘?如果是动态磁盘,Linux是不支持的,需要转换成基本磁盘(操作前务必备份数据)。另外,用ADATA官方的硬盘检测工具检查一下S40G的健康状态,排除硬件故障的可能。关闭Windows快速启动功能
即使你切换了RAID/AHCI模式,Windows的快速启动功能可能还在占用硬盘,导致Linux无法识别。进入Windows 11的「电源选项」→「选择电源按钮的功能」,点击「更改当前不可用的设置」,取消勾选「启用快速启动」,重启后再尝试Linux安装。
备注:内容来源于stack exchange,提问作者M Rednick

