我安装了三星 Pro 960 SSD,它是 NVMe M.2 Gen 3.0 x 4 固态硬盘,但在 Ubuntu 16.04 中,它在尝试暂停和恢复时会冻结。它在 Windows 10 中运行正常。
lsblk 信息
$ lsdrv
NAME FSTYPE LABEL MOUNTPOINT SIZE MODEL
sda 931.5G HGST HTS721010A9
├─sda4 ntfs WINRETOOLS 450M
├─sda2 128M
├─sda5 ntfs Image 11.4G
├─sda3 ntfs HGST_Win10 /mnt/d 919G
└─sda1 vfat ESP 500M
nvme0n1 477G Samsung SSD 960 PRO 512GB
├─nvme0n1p5 ext4 NVMe_Ubuntu_16.0 / 44.6G
├─nvme0n1p3 16M
├─nvme0n1p1 ntfs 450M
├─nvme0n1p6 swap Linux Swap [SWAP] 7.9G
├─nvme0n1p4 ntfs NVMe_Win10 /mnt/c 414.9G
├─nvme0n1p2 vfat /boot/efi 99M
└─nvme0n1p7 ntfs Shared_WSL+Linux /mnt/e 9G
lspci 信息
$ lspci
00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 07)
00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Skylake Integrated Graphics (rev 06)
00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 07)
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)
00:1c.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #5 (rev f1)
00:1c.5 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #6 (rev f1)
00:1c.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #7 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)
01:00.0 3D controller: NVIDIA Corporation GM204M [GeForce GTX 970M] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GM204 High Definition Audio Controller (rev a1)
02:00.0 PCI bridge: Intel Corporation Device 1576
03:00.0 PCI bridge: Intel Corporation Device 1576
03:01.0 PCI bridge: Intel Corporation Device 1576
03:02.0 PCI bridge: Intel Corporation Device 1576
39:00.0 USB controller: Intel Corporation Device 15b5
3b:00.0 Ethernet controller: Qualcomm Atheros Killer E2400 Gigabit Ethernet Controller (rev 10)
3c:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)
3d:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5227 PCI Express Card Reader (rev 01)
3e:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a804
答案1
NVMe SSD 暂停/恢复是一个已知错误
此问题已报告于发射台和ArchLinux。解决方案是使用 powers 编辑/etc/default/grub
并sudo
找到以下行:
GRUB_CMDLINE_LINUX_DEFAULT="quiet kaslr acpiphp.disable=1 pcie_aspm=off nloglevel=3 udev.log-priority=3"
acpiphp.disable=1
您的选项将会有所不同,但请在双引号之间添加选项。
保存文件并运行sudo update-grub
重新启动然后暂停并恢复即可,除非是其他问题。
做什么acpiphp.disable=1
?
根据内核开发人员在 2013 年,这将禁用 ACPI 热插拔。但这并不意味着您的机器上的热插拔被禁用。例如,将 USB 线重新插入 Android 手机会调出 Nautilus 以正常查看文件。此外,通过 USB-C ThunderBolt 3 转 Displayport 转 HDMI 适配器对连接到笔记本电脑的第二台电视进行电源循环也会正常重新组织工作区中的窗口。
答案2
补丁https://patchwork.kernel.org/patch/10212201/将会正确修复此问题,它也应该会反向移植到旧内核,所以希望以后你的 NVMe 驱动器不需要任何变通方法,它也应该修复 USB-C 检测