Błąd EXT4-fs po aktualizacji Ubuntu 17.04

18

Mam Dell XPS 15 9550 . Używam Ubuntu 16.10 na nim od czterech miesięcy bez żadnych dramatów.

Dwa dni temu zaktualizowałem system do Ubuntu 17.04 . Około godziny po aktualizacji mój dysk twardy ponownie zamontował się w trybie tylko do odczytu. Kiedy przeskoczyłem do ekranu tty, pojawiło się:

[ 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

Oto, co fdisk -lpokazuje:

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.

Uruchomiłem się ponownie i co godzinę pojawiał się błąd. Ponownie zainstalowałem Ubuntu 17.04 od zera . Jednak nadal jestem pojawia się ten sam problem.

Próbowałem uruchomić fsck, tworząc plik / forcefsck (utworzyłem skrypt powłoki otoki, który dodaje -vflagę i wyprowadza standardowe wyjście do pliku). Oto wynik:

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    

Próbowałem uruchomić się z Live USB i uruchomić e2fsck -p /dev/nvme0n1p7zgodnie z sugestią tutaj ( /ubuntu//a/768813/679041 ). Nie dał żadnych błędów.

Próbowałem także uruchomić, smartctl -t long /dev/nvme0n1p7jednak wyniki wydają się wskazywać, że narzędzie nie działa z moim konkretnym dyskiem 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

Masz pojęcie, dlaczego ten problem może występować i jak mogę go rozwiązać? Dzięki! :)

Ben B
źródło
1
Witamy w AskUbuntu! Wygląda na to, że ten błąd może dotyczyć. Zalecam powiadomienie deweloperów, że ten błąd wpływa również na Ciebie i zasubskrybowanie go, abyś mógł zostać powiadomiony o postępie / rozwiązaniu problemu.
Elder Geek
Mam dokładnie ten sam problem na Lenovo Thinkpad X270 z dyskiem SSD Toshiba „THNSF5256GPUK TOSHIBA”. Chyba dobrze wiedzieć, że nie jestem jedyny.
Maeher,
@ElderGeek czytając połączony raport o błędach, wydaje się, że dopóki problem nie zostanie rozwiązany, tymczasową poprawką byłoby wyłączenie APST, jednak z dyskusji tam nie wiem, jak to zrobić. Wydaje się, że sposobem na to byłaby prawidłowa odpowiedź na to pytanie.
Maeher,
Dziękuję za komentarze chłopaki :) Z niecierpliwością wczoraj ponownie zainstalowałem ponownie, jednak tym razem wyraźnie sformatowałem / dev / nvme0n1p7 i usunąłem / dev / nvme0n1p8 wcześniej (myślałem, że być może ponowna instalacja ze wszystkimi domyślnymi opcjami może się nie sformatować, a zamiast tego usuwaj tylko stare pliki przed instalacją nowych). Mam problem jeszcze po 4 godzinach nieprzerwanego użytkowania, jednak tylko czas pokaże. Jeśli to zrobię, usłyszę szloch w całym Pacyfiku :)
Ben B
OK, mogę potwierdzić - problem znów się pojawił, pomimo całkowitego sformatowania partycji. Doda komentarz do powyższego błędu
Ben B

Odpowiedzi:

19

Jak wskazano w komentarzu Starszego Geka , jest to spowodowane znanym błędem .

Z raportu o błędzie:

Wsparcie APST właśnie wylądowało w najnowszym jądrze Zesty (4.10.0-14.16) jako część https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1664602 . Ta poprawka ma dziwactwo dla niektórych dysków Samsung 256 GB znalezionych w laptopach Dell, które nie zachowują się dobrze po włączeniu APST. Te same objawy występują na tym samym modelu laptopa, z wyjątkiem 512 GB Samsunga. Przed ręcznym wyłączeniem APST dysk zginie, a system zapali się z błędami We / Wy w ciągu 20 do 40 minut od uruchomienia.

Dopóki nie zostanie zaimplementowana odpowiednia poprawka, sugerowane jest obejście, które obejmuje dodanie parametru jądra :

Spróbuj nvme_core.default_ps_max_latency_us=5500, jeśli problem będzie się powtarzał, spróbuj nvme_core.default_ps_max_latency_us=200.

Aby dodać parametr rozruchowy jądra, edytuj plik konfiguracyjny GRUB:

sudo nano /etc/default/grub

Znajdź początek linii GRUB_CMDLINE_LINUX_DEFAULTi dodaj parametr rozruchowy do pozostałych już między cudzysłowami. Na przykład w tym przypadku prawdopodobnie skończysz z

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvme_core.default_ps_max_latency_us=5500"

Zapisz plik i wyjdź, a następnie, aby zmiana była skuteczna, uruchom

sudo update-grub 
Ben B
źródło
1
Czy ta poprawka działa dla Ciebie? BTW link, jak ustawić parametry jądra dla tego, kto może się potknąć na twojej wiki wiki.ubuntu.com/Kernel/KernelBootParameters
justmyfault
1
Korzystam z systemu Ubuntu 16.04 i uaktualniam pakiety częściowo do zesty, czego nie poleciłbym nikomu poza robieniem z konieczności. Ostatnim pakietem był libc, coś tak integralnego z systemem, że jeśli coś pójdzie nie tak, będzie to podczas aktualizacji libc. Podczas ponownego uruchamiania widziałem wszystkie błędy EXT4 wspomniane w powyższym pytaniu, ale dodanie parametru jądra w końcu pozwoliło mi na ponowne uruchomienie w spokoju i kontynuowanie. Dziękuję Ci.
lukecampbell
jakieś aktualizacje na ten temat? Mam ten problem z ukrywaniem się razer blade przy użyciu Samsung SSD 512 GB
Lucas Zanella
Powyższe obejście działało dla mnie, ale błąd został naprawiony w pakiecie linux - 4.10.0-22.24. Jeśli nadal masz problemy, otwórz nowy raport o błędach na starterze.
Ben B,
Próbowałem obu wartości, ale wciąż się zawiesił. nvme_core.default_ps_max_latency_us = 0 działało dla mnie. Jądro 4.15.0-36-ogólne Ubuntu 16.04
Mike Schroll
0

Najpierw odwiedzę witrynę pomocy technicznej firmy Samsung i zapewniam, że masz zainstalowane najnowsze oprogramowanie układowe dla twojego modelu SSD.

Zatem twój fsck nie miał większego sensu, więc zrób to w ten sposób ...

Aby sprawdzić system plików na partycji Ubuntu ...

  • uruchom menu GRUB
  • wybierz Opcje zaawansowane
  • wybierz tryb odzyskiwania
  • wybierz Dostęp root
  • po znaku zachęty # wpisz sudo fsck -f /
  • powtórz polecenie fsck, jeśli wystąpiły błędy
  • rodzaj reboot
heynnema
źródło
1
Dzięki za twoją odpowiedź! Ponownie zainstalowałem, ale tym razem najpierw sformatowałem problematyczną partycję (na wypadek, gdyby domyślny proces ponownej instalacji nie sformatował). Mam nadzieję, że teraz jest OK, ale jeśli problem będzie się powtarzał, uruchomię fsck i opublikuję wyniki (chociaż powiedziałbym, że jeśli problem będzie się utrzymywał na świeżo sformatowanej partycji, może to być poza możliwościami fsck)
Ben B
Problem pojawił się ponownie, jednak, jak wskazał Starszy Geek w komentarzach poniżej mojego pytania, wydaje się, że jest to spowodowane znanym błędem ( bugs.launchpad.net/ubuntu/+source/linux/+bug/1678184 ).
Ben B
@BenB czy kiedykolwiek sprawdzałeś oprogramowanie wewnętrzne na dysku Samsung SSD, jak zasugerowałem wcześniej? W zależności od modelu mieli kilka bardzo obowiązkowych aktualizacji, aby dysk działał poprawnie.
heynnema
Nie jestem w 100% pewien, jak to zrobić. Znalazłem tutaj trochę oprogramowania układowego , ale nie jestem w 100% pewien, że któreś z nich dotyczy mojego konkretnego dysku SSD. Raport o błędach i tak nie wskazuje na żadne problemy związane z oprogramowaniem, więc w tym momencie wolę poczekać na więcej informacji od twórców zajmujących się błędem przed próbą aktualizacji oprogramowania (znając mnie, zrobię to źle i stracę wszystkie moje rzeczy: P).
Ben B
1
fsck nie pokazuje błędów. Problemem nie jest żaden problem z oprogramowaniem układowym ani uszkodzenie dysku SSD. Wynika to z APST, który został włączony w 17.04. Ustawienie parametru jądra „nvme_core.default_ps_max_latency_us = 5500” naprawiło dla mnie ten problem, a inni zgłosili, że wyłączenie APST całkowicie je naprawia.
Ben B
0

Jednym z możliwych obejść znanego błędu, o którym wspomniałem, którego nie jestem w stanie przetestować, ponieważ nie mam odpowiedniego sprzętu NVMe, jest próba uruchomienia obecnego codziennego pakietu kompilacji jądra dla twojej dostępnej tutaj wykładu .

Czekać! zanim spróbujesz tego spróbować, muszę podkreślić, że jeśli nie jesteś pewien , że dokładnie wiesz , co robisz i jak wyjść z niezamierzonych konsekwencji, zdecydowanie zaleca się kopii zapasowej.

Jeśli nie wiesz, co robisz i masz bieżącą kopię zapasową, możesz znaleźć więcej informacji na temat budowania jądra tutaj.

Uwaga: W przypadku przejrzenia pierwszego zdania odpowiedź jest oparta na badaniach, a nie na testach. Jeśli się zepsuje, przywróć kopię zapasową.

Starszy Geek
źródło