V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Belmode
V2EX  ›  Linux

关于 NVMe 固态安装 Linux 的疑问

  •  1
     
  •   Belmode · 2019-02-14 10:32:29 +08:00 · 18471 次点击
    这是一个创建于 2143 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问题是这样的。前段时间,发现自己的老固态太小了,装的 win10 都快不够了。所以就买了一块 Asguard 的 240/256G 的固态,来替换之前的小的 128G 的固态。一直使用 Linux 当生产力的,Win 辅助。以前的 Deepin 配置好了,开发使用了好久,但是在机械里,有时候还是有写卡顿,所以就准备在新固态里,腾 50G 出来安装下 Deepin 或者 Ubuntu。但是问题出来了,用 Deepin 官方的 U 盘制作工具将 Deepin 写入 U 盘,或者用 rufus 将 Ubuntu 写入 U 盘,都是可以进入临时的系统的,但是找不到固态盘,只有机械盘。原来电脑的固态是厂家送的奇葩的 m.2+SATA 通道的,安装系统和普通 SATA 机械没区别。这个是 m.2 PCIe NVMe 的,需要 NVMe 协议支持,我是明白的。win10 就是用原版镜像+Intel Rapid 驱动才能识别硬盘的( PE 注入 NVMe 协议搞很久没成功)。我在网上找了找,都说现在 Lniux 内核支持 NVMe 固态的,但是却没有找到,如何安装系统的。(或者是我不懂,没明白大神的意思)

    我尝试过,改 BIOS 设置,将硬盘模式改成 ACHI,安装器可以找到固态硬盘,但是,开机后无法进入系统,我的电脑直接进入 BIOS 的内存测试去了。

    对了,我的电脑是 Dell 游匣 G3 3579 GTX 1050。

    请教 V 站的朋友们,能指导我一下,如何在 NVMe 固态中安装 Deepin 或者 Unbuntu,万分感谢!

    第 1 条附言  ·  2019-02-14 23:21:36 +08:00
    非常感谢大家的回复。我已经找出了问题所在了是 Dell 的 BIOS 设置,硬盘开启了 Rapid ON 模式后,在任何 Linux 中,就是无法识别 NVMe 固态硬盘的。我百度了 XPS 系列如何安装 Linux 后,发现了这个问题。
    第 2 条附言  ·  2019-02-14 23:25:01 +08:00
    必须将硬盘模式切换到 AHCI 模式,也是是使用 SATA 协议,才能识别 nvme 硬盘。但是在 RpaidON 模式下安装的 Win10 是无法使用的,必须切换回去才可以使用。

    至于,为什么我一开始在 ACHI 模式下安装后,启动系统,出现 “ BIOS 内存检测”,我觉得这是个 BUG。
    第 3 条附言  ·  2019-02-14 23:30:24 +08:00
    我知道在 Leagacy+ACHI 模式中肯定可以使用 Linux 和 Windows 的,我以前也曾用过。但是,用着 NVMe 的固态,却用低效的模式,我觉得发挥不出这硬盘和电脑该有的优势。或许是我的强迫症吧。
    第 4 条附言  ·  2019-11-23 22:13:31 +08:00
    之前好多地方打错了,Dell 的 BIOS 硬盘模式有两种新的,一个是 AHCI,一个是 RAID。最好使用 AHCI,是单硬盘模式,而 RAID 是阵列模式,会在物理逻辑上拼接多个硬盘。win 完全支持 RAID,但是 linux 部分发行版支持的不是很好。两种模式只是用途不同,没有太大优劣。RAID 服务器用的多,个人 PC 最好使用 AHCI,安装系统都方便。

    题外话:如果你有台 DELL 笔记本,或者是在 RAID 模式下安装的 win,要切换为其他模式,win 是会蓝屏的。具体百度“win 修改硬盘模式”即可解决。
    26 条回复    2019-10-07 16:20:29 +08:00
    HYisen
        1
    HYisen  
       2019-02-14 11:17:19 +08:00
    我的 Win10 是怎么装在 SM961 上的?只要使用较新的镜像,Windows 能自己解决几乎所有的驱动问题。
    Linux 支持 NVMe 接口,与 SATA 的区别在于文件名不一样了(还记得吗?万物皆文件的哲学)。
    像是我的就有一个是 /dev/nvme0n1p1 ,一个是 /dev/sda1。如果系统的安装精灵不适配的话,前者就很有可能不被识别为硬盘而不能被使用。
    最好的解决方案是自己改安装精灵的代码,并提交 PR 给其开发者帮助它改进产品。
    其次就是不用这个安装精灵了,你可以试试其他 destro 的,或是干脆像 Arch, Gentoo 或是 LFS 一样自己完成安装精灵的工作。实际上就我自己的手动安装经历来看,无非是正确编写 fstab 处理自动 mount 的问题。如果你愿意学习的话,去研究完一个手动安装教程( e.g., [Arch 的]( https://wiki.archlinux.org/index.php/Installation_guide))就知道问题出在哪里,应该怎么做了。如果是小白的话,大概在乎的只是 DE,那么可以试一下 manjaro 的 deepin edition,它会比较像 Deepin,或者是 Gnome edition,会有一点像 Unbuntu。现在我去试一下前者的 live CD 能否识别我的 SM961,过会儿(也许 1hr )给结果。
    或者你也可以考虑使用 LVM 绕过这个问题,假如安装精灵的 LVM 配置和 fstab 配置不是一个过程的话,也许也行。
    podel
        2
    podel  
       2019-02-14 11:17:24 +08:00
    nvme 设备文件不再是 /dev/sda,b,c 了 而是 /dev/nvme0,1,2 然后还要对 nvme 设备创建命名空间啥的。然后才可以分区当做硬盘设备使用。 相应的教程网上都有。可以自己搜一下。
    kokutou
        3
    kokutou  
       2019-02-14 11:44:16 +08:00 via Android
    /dev 下面的名字不一样。

    你 win10 也要额外驱动是因为 Dell 默认磁盘控制器模式是 raid,这个比较新的电脑确实不自带。。。

    改了后进不去系统,这个要分情况讨论,有 2 种情况,处理方法不一样。
    反正新电脑,改了 AHCI 后重装一下就行了。
    kokutou
        4
    kokutou  
       2019-02-14 11:46:20 +08:00 via Android
    没仔细看。。如果是 m2 sata 盘,那名字还是 sdx

    保险点把磁盘控制器模式改成 AHCI,然后用内核比较新的装就没问题。
    HYisen
        5
    HYisen  
       2019-02-14 11:54:35 +08:00
    我试了一下,manjaro deepin edition 可以识别出我的 SM961,不折腾的话,换用这个版本就可以获得和 Deepin 一致的体验并解决问题。
    https://manjaro.org/download/deepin/
    Osk
        6
    Osk  
       2019-02-14 11:57:08 +08:00
    如楼上所说, NVMe 的盘设备路径是: /dev/nvme${X}p${Y}.

    我是 ArchLinux + Intel 的傲腾盘(就是一个 PCIe x2 的 NVMe 设备), 直接安装.

    但我的主板不支持从 nvme 启动, 所以我把内核和 initrd 放 SATA 盘里启动的.
    hymzhek
        7
    hymzhek  
       2019-02-14 12:13:50 +08:00
    boss 把 intel rst 关了 Windows 要处理一下才行 或者 重装
    hymzhek
        8
    hymzhek  
       2019-02-14 12:14:28 +08:00
    boss >bios
    niceshell
        9
    niceshell  
       2019-02-14 12:54:20 +08:00
    sm961 opensuse 和 fedora 貌似都能识别
    styx
        10
    styx  
       2019-02-14 13:52:49 +08:00
    主流发行版的内核应该都有 NVMe 驱动的,听起来好像是你从 U 盘进入安装步骤后识别不到 NVMe 的硬盘?如楼上所说,你可以在安装系统的时候手动进入 Rescue Shell,看看 /dev/ 下 有没有 nvmeX 的设备。

    如果确实没有这个设备,应该有几点可能
    1. AHCI 模式对应的就是 SATA 模式,你应该去找 /dev/sdX ; NVMe 模式对应的是 /dev/nvmeX
    2. 不确定你的笔记本的启动模式是 EFI 还是 Legacy,有可能你是用 Legacy 模式启动了 U 盘——但是你的 BIOS 没有支持 Legacy 模式下的 NVMe。因此可以把启动模式改成 EFI 试试(拷安装盘的时候也注意一下 rufus 的启动模式)
    bmos
        11
    bmos  
       2019-02-14 13:58:25 +08:00
    ubuntu 18.04 金士顿 nvme,直接装。
    styx
        12
    styx  
       2019-02-14 14:01:11 +08:00
    还有就是看起来你先装了 windows 再装 Linux。emmm,这样经常会出现 windows 的 bootloader 和 grub 冲突的情况。Windows 用的是 Legacy 模式下的 CSM 来支持 EFI 启动,通常不会分一个 EFI 分区;而 grub 往往需要一个 EFI 分区来启动 EFI。当然你全都改回 Legacy BIOS + AHCI/SATA 的模式按理说应该是可以的。。。
    yuzh
        13
    yuzh  
       2019-02-14 14:18:50 +08:00
    我的西部数据 nvme 固态安装 deepin Ubuntu 需要加上 nvme_core.default_ps_max_latency_us=5500 启动参数才行
    IdontWanToBeBan
        14
    IdontWanToBeBan  
       2019-02-14 21:20:18 +08:00
    楼主你真是....
    Lniux 内核支持 NVMe 固态的.... ---------> Linux 内核支持 NVMe 固态的....
    安装 Deepin 或者 Unbuntu,万分.... ----------------> 安装 Deepin 或者 Ubuntu,万分....
    Belmode
        15
    Belmode  
    OP
       2019-02-14 23:38:48 +08:00
    @HYisen 感谢回复,问题已解决。你说的这些,我也略懂。只是,我的问题结症是在于“安装器”无法识别 NVMe 硬盘,不是后续的安装。要是真的自己搞,还得手动加载 NVMe 驱动,然后才是引导安装。
    @podel @Osk @hymzhek @niceshell 感谢回复,问题已解决。
    @kokutou 感谢回复,新型电脑没有 Rapid ON 这种模式了吗,我不是很清楚。Dell 游匣 G3 也是 2018 年出的。
    @styx Dell 的 BIOS 需要关闭 Rapid,linux 安装器才能检测出硬盘
    @yuzh 这个我知道,不过这个参数不是休眠策略吗,是为了避免系统假死和卡顿设置的
    @IdontWanToBeBan 不明白,你重复这个的意思,还望明说。
    JxQg597
        16
    JxQg597  
       2019-02-14 23:49:00 +08:00
    @Belmode #15 单词拼错了
    @IdontWanToBeBan #14 这么长看的都这么细致,佩服
    Belmode
        17
    Belmode  
    OP
       2019-02-15 00:00:07 +08:00
    @JxQg597 还有 ACHI -> AHCI。我确实不少敲错的,,,手冷。。。
    ZhaoXiRui
        18
    ZhaoXiRui  
       2019-03-30 12:23:16 +08:00 via iPhone
    兄弟,我有台机器跟你是一样的 Dell G3-3579.自己换了个浦科特 512Nvme 固态,一直想安装 Linux 总是不成功,求指点一下,能详细介绍下吗?或者发我一份教程到我邮箱 [email protected] 谢谢你了
    Belmode
        19
    Belmode  
    OP
       2019-03-31 13:30:50 +08:00 via Android
    @ZhaoXiRui 没有难度。就是在 BIOS 里把硬盘模式改成 AHCI,就可以了。然后 win10 让他自动修复一下,就好。
    ZhaoXiRui
        20
    ZhaoXiRui  
       2019-03-31 18:38:54 +08:00 via iPhone
    装了 linux 启动的时候直接就跳 Windows 了,都不进入修复引导了,怎么解决请指点
    Belmode
        21
    Belmode  
    OP
       2019-04-06 13:34:01 +08:00 via Android
    @ZhaoXiRui 你 q 多少,这边消息我看不到
    ZhaoXiRui
        22
    ZhaoXiRui  
       2019-04-09 16:26:14 +08:00 via iPhone
    Q: 2753769043
    AlynxZhou
        23
    AlynxZhou  
       2019-05-15 22:29:53 +08:00
    ……解决方法很简单的,默认 Dell 用了 Intel 那个 RST 技术,设置的是 Raid On 模式,这个模式会导致 Linux 下面读不到盘,然后 Windows 下面驱动也是一堆 Bug。如果你直接在 BIOS 里面改,Windows 重启之后是不会自动重新检测硬件刷新驱动列表的,也就导致它读不到硬盘重启回 BIOS 了。第一步是设置 Windows 下次开机进安全模式(安全模式下会加载全部驱动,自然能认出这个变化),第二步在重启进安全模式之前进 BIOS 改成 AHCI,第三步进了安全模式以后重启回普通模式,然后想怎么搞就怎么搞了。
    AlynxZhou
        24
    AlynxZhou  
       2019-05-15 22:30:48 +08:00
    PS Win10 当然支持 NVMe,不需要 Intel RST 也行,RST 有很多 Bug 会导致固态掉速的……
    Belmode
        25
    Belmode  
    OP
       2019-05-16 02:09:31 +08:00 via Android
    @AlynxZhou 嗯嗯,我已经弄明白了!感谢!
    gadmyth
        26
    gadmyth  
       2019-10-07 16:20:29 +08:00
    @Belmode 的确, 硬盘模式改下就出来了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4019 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 05:16 · PVG 13:16 · LAX 21:16 · JFK 00:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.