预先:
- 是否更新了 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),因此这些部分从ntfs
到ext4
。
- 一切顺利
- 做过
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=off
到GRUB_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,再次崩溃(在玩游戏时)。
新计划:在其他驱动器上重新安装,将使用希捷驱动器来保存文件而不是操作系统。