Ubuntu 17.04升级后,文件系统 EXT4错误

分享于 

8分钟阅读

ubuntu

  繁體

问题

我有一个Dell XPS 15 9550,在Ubuntu 16.10上运行了四个月,一直运行正常。

两天前,我升级到了Ubuntu 17.04,大约一个小时后,硬盘重新装入只读模式,当我跳转到tty屏幕时,出现以下情况:


[ 746.341551] EXT4-fs error (device nvme0n1p7): ext4_find_entry:1463: inode #525023: comm NetworkManager: reading directory iblock 0


[ 746.343318] EXT4-fs error (device nvme0n1p7): ext4_find_entry:1463: inode #524289: comm pool: reading directory iblock 0


[ 746.356125] EXT4-fs error (device nvme0n1p7): ext4_find_entry:1463: inode #11272213: comm systemd-udevd: reading directory iblock 0


[ 746.356139] EXT4-fs error (device nvme0n1p7): ext4_find_entry:1463: inode #11272210: comm systemd-udevd: reading directory iblock 0


[ 746.356332] EXT4-fs error (device nvme0n1p7): ext4_find_entry:1463: inode #11272193: comm systemd-udevd: reading directory iblock 0


[ 746.356338] EXT4-fs error (device nvme0n1p7): ext4_find_entry:1463: inode #11272825: comm systemd-udevd: reading directory iblock 0


[ 746.356400] EXT4-fs error (device nvme0n1p7): ext4_find_entry:1463: inode #11272210: comm systemd-udevd: reading directory iblock 0


[ 746.474632] EXT4-fs error (device nvme0n1p7): ext4_find_entry:1463: inode #524539: comm unity-settings-: reading directory iblock 0


[ 746.992814] EXT4-fs error (device nvme0n1p7): ext4_find_entry:1463: inode #5506108: comm BrowserBlocking: reading directory iblock 0


[ 746.304451] EXT4-fs error (device nvme0n1p7): ext4_find_entry:1463: inode #5506117: comm BrowserBlocking: reading directory iblock 0



以下是fdisk -l显示的内容:


Disk /dev/nvme0n1: 477 GiB, 512110190592 bytes, 1000215216 sectors


Units: sectors of 1 * 512 = 512 bytes


Sector size (logical/physical): 512 bytes / 512 bytes


I/O size (minimum/optimal): 512 bytes / 512 bytes


Disklabel type: gpt


Disk identifier: 3CD27380-DAC8-48DC-910A-D084CE857DA3



Device Start End Sectors Size Type


/dev/nvme0n1p1 2048 1026047 1024000 500M EFI System


/dev/nvme0n1p2 1026048 1288191 262144 128M Microsoft reserved


/dev/nvme0n1p3 1288192 487948287 486660096 232.1G Microsoft basic data


/dev/nvme0n1p4 972302336 973223935 921600 450M Windows recovery environmen


/dev/nvme0n1p5 973223936 998094847 24870912 11.9G Windows recovery environmen


/dev/nvme0n1p6 998094848 1000204287 2109440 1G Windows recovery environmen


/dev/nvme0n1p7 487948288 939046911 451098624 215.1G Linux filesystem


/dev/nvme0n1p8 939046912 972302335 33255424 15.9G Linux swap



Partition table entries are not in disk order.



我从头开始重新安装Ubuntu 17.04,然而,我仍然得到同样的问题。

我试图通过创建/forcefsck文件来运行fsck,以下是结果:


fsck.fat 4.0 (2016-05-06) 


Checking we can access the last sector of the filesystem


Boot sector contents: 


System ID"MSDOS5.0" 


Media byte 0xf8 (hard disk) 


 512 bytes per logical sector 


 4096 bytes per cluster 


 6206 reserved sectors 


First FAT starts at byte 3177472 (sector 6206) 


 2 FATs, 32 bit entries 


 508416 bytes per FAT (= 993 sectors) 


Root directory start at cluster 2 (arbitrary size) 


Data area starts at byte 4194304 (sector 8192) 


 126976 data clusters (520093696 bytes) 


63 sectors/track, 255 heads 


 2048 hidden sectors 


 1024000 sectors total 


Reclaiming unconnected clusters. 


Checking free cluster summary. 


/dev/nvme0n1p1: 212 files, 15526/126976 clusters 



我尝试从live USB引导,并运行e2fsck -p /dev/nvme0n1p7,没有错误。

我还试着运行smartctl -t long /dev/nvme0n1p7 但是,结果表明该工具不适用于特定SSD:


smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.10.0-19-generic] (local build)


Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org



=== START OF INFORMATION SECTION ===


Model Number: PM951 NVMe SAMSUNG 512GB


Serial Number: S29PNX0H611013


Firmware Version: BXV77D0Q


PCI Vendor/Subsystem ID: 0x144d


IEEE OUI Identifier: 0x002538


Controller ID: 1


Number of Namespaces: 1


Namespace 1 Size/Capacity: 512,110,190,592 [512 GB]


Namespace 1 Utilization: 254,982,533,120 [254 GB]


Namespace 1 Formatted LBA Size: 512


Local Time is: Mon Apr 17 17:45:48 2017 AEST


Firmware Updates (0x06): 3 Slots


Optional Admin Commands (0x0017): Security Format Frmw_DL *Other*


Optional NVM Commands (0x001f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat


Maximum Data Transfer Size: 32 Pages



Supported Power States


St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat


 0 + 6.00W - - 0 0 0 0 5 5


 1 + 4.20W - - 1 1 1 1 30 30


 2 + 3.10W - - 2 2 2 2 100 100


 3 - 0.0700W - - 3 3 3 3 500 5000


 4 - 0.0050W - - 4 4 4 4 2000 22000



Supported LBA Sizes (NSID 0x1)


Id Fmt Data Metadt Rel_Perf


 0 + 512 0 0



=== START OF SMART DATA SECTION ===


Read NVMe SMART/Health Information failed: NVMe Status 0x2002




答案1

这是已知bug

从bug报告中:

APST支持刚登陆最新的Zesty内核(4.10.0-14.16 )作为https://bugs.launchpad.net/ubuntu/source/linux/bug/1664602,在手动禁用APST之前,驱动器将死机,系统将在启动后20到40分钟内因I/O错误而崩溃。

在实现官方修复之前,推荐这种解决方法,添加一个内核参数:

请尝试nvme_core.default_ps_max_latency_us=5500 如果问题仍然存在,请尝试nvme_core.default_ps_max_latency_us=200

要添加内核引导参数,请编辑GRUB的配置文件:


sudo nano /etc/default/grub



找到开始GRUB_CMDLINE_LINUX_DEFAULT的行,并将boot参数添加到引号之间的其他行。例如,在这种情况下,您可能最终得到


GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvme_core.default_ps_max_latency_us=5500"



保存文件,并退出,然后使更改生效,运行

sudo update-grub


文件  ext  files  Ubuntu  EXT4