三星 NVMe SSD 上的 18.04 或 19.04 → 总线错误

三星 NVMe SSD 上的 18.04 或 19.04 → 总线错误

预先:

  • 是否更新了 BIOS(MB:华硕 Z390-F
  • 已更新 NVMe SSD 固件(三星 970 EVO Plus,500G)
  • 运行了memtest86几个小时(问题发生后:没问题)
  • CPU 是英特尔 i5-9400提供超高清显卡 630
  • UEFI 启动
  • 不超频
  • BIOS 全部为“优化默认值”,除了 LAN 唤醒(开启)、“下载并安装 Armory Crate”(关闭)
  • MB(主板)没有其他东西(没有 CD,没有显卡......)

Ubuntu 安装(该 SSD 本来应该专用于 Ubuntu 18.04)

  • 安装全新 Ubuntu 18.04.3
  • 选择“安装时更新”+“安装第三方驱动程序...”
  • 进行了手动分区,全部为 ext4(然后还尝试了“擦除磁盘并安装”)
  • → 安装时出现“崩溃”,提示“抱歉”,“点击重新启动”

因此,再次尝试,整个过程没有“安装时更新”和“安装第三方驱动程序......”(删除了网络以确保)

  • 这次它通过了
  • 然后apt update ; apt upgrade
  • 重启
  • 过了一会儿,使用 Ubuntu GUI,突然出现了一页又一页的

编辑,dmesg摘录:

[  109.632452] pcieport 0000:00:1d.0: AER: Corrected error received: 0000:00:1d.0
[  109.632466] pcieport 0000:00:1d.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
[  109.632474] pcieport 0000:00:1d.0:   device [8086:a330] error status/mask=00000001/00002000
[  109.632479] pcieport 0000:00:1d.0:    [ 0] RxErr                 
[  134.215214] pcieport 0000:00:1d.0: AER: Corrected error received: 0000:00:1d.0
[  134.215219] pcieport 0000:00:1d.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
[  134.215222] pcieport 0000:00:1d.0:   device [8086:a330] error status/mask=00000001/00002000
[  134.215224] pcieport 0000:00:1d.0:    [ 0] RxErr                 
[  144.288685] nvme nvme0: controller is down; will reset: CSTS=0xffffffff, PCI_STATUS=0x10
[  144.320962] print_req_error: I/O error, dev nvme0n1, sector 111572600 flags 80700
[  144.344627] nvme 0000:03:00.0: enabling device (0000 -> 0002)
[  144.344951] nvme nvme0: Removing after probe failure status: -19
[  144.369035] print_req_error: I/O error, dev nvme0n1, sector 127856976 flags 801
[  144.369062] print_req_error: I/O error, dev nvme0n1, sector 332338688 flags 801
[  144.369075] EXT4-fs warning (device nvme0n1p8): ext4_end_bio:323: I/O error 10 writing to inode 16253466 (offset 0 size 233472 starting block 41542393)
[  144.369079] Buffer I/O error on device nvme0n1p8, logical block 70080
[  144.369099] Buffer I/O error on device nvme0n1p8, logical block 70081
[  144.369103] Buffer I/O error on device nvme0n1p8, logical block 70082
[  144.369106] Buffer I/O error on device nvme0n1p8, logical block 70083
[  144.369110] Buffer I/O error on device nvme0n1p8, logical block 70084
[  144.369113] Buffer I/O error on device nvme0n1p8, logical block 70085
[  144.369116] Aborting journal on device nvme0n1p5-8.
[  144.369118] Buffer I/O error on device nvme0n1p8, logical block 70086
[  144.369121] Buffer I/O error on device nvme0n1p8, logical block 70087
[  144.369124] Buffer I/O error on device nvme0n1p8, logical block 70088
[  144.369127] Buffer I/O error on device nvme0n1p8, logical block 70089
[  144.369136] EXT4-fs error (device nvme0n1p5) in ext4_reserve_inode_write:5901: Journal has aborted
[  144.369140] Buffer I/O error on dev nvme0n1p5, logical block 3178496, lost sync page write
[  144.369144] JBD2: Error -5 detected when updating journal superblock for nvme0n1p5-8.
[  144.369164] Buffer I/O error on dev nvme0n1p5, logical block 0, lost sync page write
[  144.369169] EXT4-fs (nvme0n1p5): I/O error while writing superblock
[  144.369173] EXT4-fs (nvme0n1p5): Remounting filesystem read-only
[  144.369245] EXT4-fs warning (device nvme0n1p5): ext4_end_bio:323: I/O error 10 writing to inode 1311005 (offset 0 size 0 starting block 31736)

无法显示。必须重置 PC。

最初,我看到的是一块不好的 NVMe SSD,但是......

Windows 10 试用安装。所以我安装了 Windows 10(免费 ISO)来确认问题出在 SSD 上(三星仅支持 Windows)

  • 占用整个磁盘,
  • 创建与 Ubuntu 一样多的分区
  • 微软是否进行了更新
  • 对所有分区进行了压力测试,一遍又一遍地复制文件,填满分区
  • 重启多次
  • → 任何地方都没有错误,智能日志中没有任何内容(三星魔术师)

因此,似乎很难将责任归咎于SSD。

Ubuntu 19.04 安装。然后,在 Windows 中创建的数据分区(Windows 所在的分区除外)上,我安装了 Ubuntu19.04(不是 18.04),因此这些部分从ntfsext4

  • 一切顺利
  • 做过apt update && apt upgrade
  • 重启
  • 使用 Ubuntu,
  • → 然后和以前一样,一页又一页的信息与上面相同
  • → 重启:进入 Grub“shell”

启动(从 BIOS)到 Windows 没问题。Ubuntu 启动进入 grub shell。

不知道下一步该怎么做 ...

  • 可能是 Ubuntu 升级会影响 Grub(由于 NVMe SSD)?
  • 可能是 SSD 有问题,但那样的话为什么 Windows 没有问题呢?
  • 18.04.3 和 19.04 都使用内核 5.0.x,这与问题有关吗?


⇒ 编辑 ⇒

它似乎 问题 發生许多,并且主要在三星 NVMe 驱动器上。

按照这些页面上的建议,我安装了 Ubuntu(18.04.3,内核 5.0.0.19),并将该选项添加nvme_core.default_ps_max_latency_us=0到 Grub Linux 启动命令→就可以了。

然后重新启动,将相同的选项添加到命令→fine。并确认 APST 已禁用

# nvme get-feature -f 0x0c -H /dev/nvme0

Autonomous Power State Transition Enable (APSTE): Disabled

然后做了(同一会话)

# apt update
# apt upgrade

几秒钟后...错误消息又回来了,覆盖了屏幕,GUI 被锁定,甚至侵入了其他CtrlAlt Fx控制台...(实际上它是在一段时间后发生的,而不仅仅是因为命令是apt

不确定这是否是 Linux 的错误,或者是三星忽略了 Linux,但我被困住了!


编辑+7小时

  • 删除了三星,
  • 插入(SATA)“经典”SSD,
  • 安装了 Ubuntu 19.04,进行了所有更新,执行了find / -ls和其他命令,使用了图形,重启了几次
  • → 有效!

我的下一步是将三星替换为明天要购买的 SanDisk NVMe(几个月来一直在装有 Ubuntu 的笔记本电脑上安装,完全没有问题)

将保持页面更新!

答案1

我通过禁用 ASPM 解决了这个问题。

添加pcie_aspm=offGRUB_CMDLINE_LINUX_DEFAULT文件/etc/default/grub并运行sudo update-grub

答案2

我的情况和英特尔 ssd 660p 系列 512gb 完全一样。

我已经尝试了很多参数nvme_core.default_ps_max_latency_us,许多内核版本等等。

答案3

自从使用以下选项更新 grub 以来,我再也没有遇到过失败:nvme_core.default_ps_max_latency_us=6000

现在已经过去两天了,我一直在活跃地玩游戏,通常会在 30 分钟内出现这个 bug。

它在 0 时失败,在 3000 时仍然失败,但 6000 运行良好。而且我不需要更换驱动器。

编辑:它仍然崩溃。我在 xfce4 中“没问题”,我切换回 plasma,它就崩溃了。我再次重新启动 xfce,再次崩溃(在玩游戏时)。

新计划:在其他驱动器上重新安装,将使用希捷驱动器来保存文件而不是操作系统。

相关内容