Ошибка EXT4-fs после обновления Ubuntu 17.04

18

У меня 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 с нуля . Однако я все еще получаю ту же проблему.

Я попытался запустить fsck, создав файл / forcefsck (я создал сценарий оболочки-оболочки, который добавляет -vфлаг и выводит stdout в файл). Вот результат:

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    

Я попытался загрузить с живого USB и запустить, e2fsck -p /dev/nvme0n1p7как предложено здесь ( /ubuntu//a/768813/679041 ). Это не дало никаких ошибок.

Я также попытался запустить, 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
Добро пожаловать в AskUbuntu! Похоже, что на вас может повлиять эта ошибка. Я рекомендую сообщить разработчикам, что эта ошибка также влияет на вас, и подпишитесь на нее, чтобы вы могли получать уведомления о прогрессе / разрешении.
Старейшина Гик
У меня точно такая же проблема на Lenovo Thinkpad X270 с твердотельным накопителем Toshiba "THNSF5256GPUK TOSHIBA". Я думаю, это приятно знать, что я не единственный.
Maeher
@ElderGeek, читая связанный отчет об ошибке, кажется, что пока проблема не будет устранена, временным решением будет отключение APST, однако из этого обсуждения мне неясно, как это сделать. Кажется, что способ сделать это был бы правильный ответ на этот вопрос.
Maeher
Спасибо за ваши комментарии, ребята :) С нетерпением я переустановил вчера вечером, однако на этот раз я явно отформатировал / dev / nvme0n1p7 и предварительно удалил / dev / nvme0n1p8 (я подумал, что, возможно, переустановка со всеми параметрами по умолчанию может не форматироваться, а вместо этого удаляйте только старые файлы перед установкой новых). Я все еще испытываю проблему после 4 часов непрерывного использования, однако только время покажет. Вы услышите мои рыдания по
Бен Б,
ОК, я могу подтвердить - я только что получил проблему снова, несмотря на полное форматирование раздела. Добавлю комментарий к ошибке, указанной выше
Бен Б

Ответы:

19

Как указано в комментарии старейшины Гика , это связано с известной ошибкой .

Из сообщения об ошибке:

Поддержка APST только что появилась в последнем ядре Zesty (4.10.0-14.16) как часть https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1664602 . Этот патч имеет причуду для некоторых 256-гигабайтных дисков Samsung, которые можно найти в ноутбуках Dell, которые плохо работают при включенном APST. Я испытываю те же симптомы с ноутбуком той же модели, за исключением Samsung 512 ГБ. Перед ручным отключением APST диск погибнет, и система загорится с ошибками ввода-вывода в течение 20-40 минут после загрузки.

До тех пор, пока не будет выполнено правильное исправление, предлагается обходной путь, который включает добавление параметра ядра :

Пожалуйста, попробуйте 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и добавьте параметр загрузки к другим уже между кавычками. Например, в этом случае вы, вероятно, в конечном итоге

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvme_core.default_ps_max_latency_us=5500"

Сохраните файл и выйдите, затем, чтобы изменения вступили в силу, запустите

sudo update-grub 
Бен Б
источник
1
Это исправление работает на вас? Кстати, ссылка на то, как установить параметры ядра для тех, кто может наткнуться на ваш ответ. Wiki.ubuntu.com/Kernel/KernelBootParameters
justmyfault
1
Я использую Ubuntu 16.04, и я постепенно обновлял пакеты до zesty, что я бы никому не рекомендовал, но делал это по необходимости. Последним пакетом был libc, что-то настолько неотъемлемое для системы, что если что-то пойдет не так, это произойдет при обновлении libc. При перезагрузке я увидел все ошибки EXT4, упомянутые в вопросе выше, но добавление параметра ядра, наконец, позволило мне перезагрузиться в покое и продолжить. Спасибо.
Люккампбелл
какие-либо обновления по этому поводу? Я страдаю от этой проблемы на моем стелсе с лезвием лезвия с ssung 512gb ssd
Лукас Занелла
Вышеупомянутый обходной путь работал для меня, но ошибка была исправлена ​​в пакете linux - 4.10.0-22.24. Если у вас все еще есть проблемы, вы должны открыть новый отчет об ошибках на панели запуска.
Бен Б
Я пробовал оба значения, но все равно не получилось. nvme_core.default_ps_max_latency_us = 0 работал для меня. Ядро 4.15.0-36-универсальный Ubuntu 16.04
Майк Шролл
0

Во-первых, я бы зашел на сайт поддержки Samsung и заверил, что у вас установлена ​​последняя версия прошивки для вашей модели SSD.

Тогда ваш fsck не имел особого смысла, так что сделайте это так ...

Чтобы проверить файловую систему на вашем разделе Ubuntu ...

  • загрузиться в меню GRUB
  • выберите Дополнительные параметры
  • выберите режим восстановления
  • выберите Root-доступ
  • в командной строке # введите sudo fsck -f /
  • повторите команду fsck, если были ошибки
  • тип reboot
heynnema
источник
1
Спасибо за ваш ответ! Я переустанавливал, но на этот раз я сначала явно отформатировал проблемный раздел (в случае, если процесс переустановки по умолчанию не форматировал). Надеюсь, теперь все в порядке, однако, если проблема не будет
Бен Б,
Эта проблема возникла снова, однако, как отметил старейшина Гик в комментариях под моим вопросом, это, похоже, связано с известной ошибкой ( bugs.launchpad.net/ubuntu/+source/linux/+bug/1678184 ).
Бен Б,
@BenB Вы когда-нибудь проверяли прошивку на своем SSD Samsung, как я предлагал ранее? В зависимости от модели у них было несколько обязательных обновлений, чтобы привод работал правильно.
Хейннема
Я не уверен на 100%, как это сделать. Я нашел здесь некоторые прошивки, но я не уверен на 100%, применимы ли они к моему конкретному SSD. В любом случае, отчет об ошибках не указывает на какие-либо проблемы, связанные с микропрограммой, поэтому на данном этапе я бы предпочел дождаться дополнительной информации от разработчиков, решающих проблему, прежде чем пытаться обновить микропрограмму (зная меня, я сделал бы это неправильно и потерять все мои вещи: P).
Бен Б,
1
fsck не показывает ошибок. Проблема не в какой-либо проблеме с прошивкой или повреждении SSD. Это связано с APST, который был включен в 17.04. Установка параметра ядра 'nvme_core.default_ps_max_latency_us = 5500' устранила проблему для меня, и другие сообщили, что отключение APST полностью решает эту проблему для них.
Бен Б
0

Один из возможных способов обойти известную ошибку, о которой я упоминал, которую я не могу протестировать, поскольку у меня нет соответствующего оборудования NVMe, - это попытаться загрузить текущий основной пакет ежедневной сборки ядра для вашей архетектуры, доступной здесь.

Подождите! прежде чем вы решитесь попробовать это, я должен подчеркнуть, что, если вы не уверены , что точно знаете , что делаете и как избавиться от непредвиденных последствий, настоятельно рекомендуется сделать резервную копию.

Если вы не знаете, что делаете, и у вас есть текущая резервная копия, вы можете найти больше информации о сборке вашего ядра здесь.

Примечание. Если вы прочитали первое предложение, этот ответ основан на исследовании, а не на тестировании. Если он сломается, восстановите резервную копию.

Старейшина Гик
источник