Назад | Перейти на главную страницу

Причины внезапного массивного повреждения файловой системы? («Корневой индекс не является каталогом»)

У меня есть ноутбук под управлением Maverick (до вчерашнего дня очень хорошо) с SSD Patriot Torx; LUKS-шифрование всего раздела; один физический том lvm сверх этого; затем home и root в логических томах ext4.

Когда я вчера попытался загрузить его, он пожаловался, что не может смонтировать корневую файловую систему. Запуск fsck, в основном каждый inode кажется неправильным. И домашняя, и корневая файловые системы показывают похожие проблемы. Проверка резервного суперблока не помогает.

e2fsck 1.41.12 (17-May-2010)
lithe_root was not cleanly unmounted, check forced.
Resize inode not valid.  Recreate? no

Pass 1: Checking inodes, blocks, and sizes
Root inode is not a directory.  Clear? no   
Root inode has dtime set (probably due to old mke2fs).  Fix? no
Inode 2 is in use, but has dtime set.  Fix? no
Inode 2 has a extra size (4730) which is invalid
Fix? no
Inode 2 has compression flag set on filesystem without compression support.  Clear? no
Inode 2 has INDEX_FL flag set but is not a directory.
Clear HTree index? no
HTREE directory inode 2 has an invalid root node.
Clear HTree index? no
Inode 2, i_size is 9581392125871137995, should be 0.  Fix? no
Inode 2, i_blocks is 40456527802719, should be 0.  Fix? no
Reserved inode 3 (<The ACL index inode>) has invalid mode.  Clear? no
Inode 3 has compression flag set on filesystem without compression support.  Clear? no
Inode 3 has INDEX_FL flag set but is not a directory.
Clear HTree index? no
....

Бег strings в файловых системах я вижу, что там есть то, что похоже на имена файлов и пользовательские данные. У меня достаточно хороших резервных копий (прикоснитесь к дереву), поэтому не стоит копаться, чтобы извлечь отдельные файлы, хотя на всякий случай я мог бы сохранить образ незашифрованного диска перед восстановлением.

smartctl не показывает ошибок, как и журнал ядра. Запуск режима записи badblocks по свопу lv тоже проблем не находит. Так что диск может выйти из строя, но не очевидным образом.

Тут я в основном, как говорится, нафиг? Вернемся к переустановке, возможно, запуску плохих блоков на диске, а затем восстановлению из резервной копии? Кажется, не хватает даже данных, чтобы зарегистрировать значимую ошибку ...

Я не помню, чтобы эта машина разбилась в прошлый раз, когда я ее использовал.

На этом этапе я подозреваю, что ошибка или повреждение памяти привели к тому, что он записал мусор на диски при последнем запуске, или какой-то неявный режим отказа для SSD.

Как вы думаете, что могло вызвать это? Вы бы еще что-нибудь попробовали?

Похоже, ваш первый суперблок поврежден. Существует множество копий суперблока, так как это наиболее важная часть файловой системы. Можешь попробовать e2fsck с -b возможность проверить, содержит ли другая копия суперблока правильную информацию. Проверьте e2fsck (8) для получения дополнительной информации о -b вариант, и как определить расположение дополнительных суперблоков.

IIRC, есть только одна копия корневого каталога, поэтому, если она была повреждена, ее придется создать заново, пустую. Каталоги, изначально находящиеся в корневом каталоге, появятся в / lost + found, и вам придется переместить их оттуда.

Таблицы inode разбросаны по разделу. Вряд ли вы их все потеряете. Те, которые подлежат восстановлению, если их файлы не могут быть перемещены в их исходные каталоги, они также заканчиваются на / lost + found.

Я видел это раньше. Это как-то связано с Ubuntu 10.10. Я бы посмотрел на трекер ошибок, так как он был опубликован несколько раз. Чтобы быть уверенным, сделайте снимок диска, протрите его, а затем перенесите его во вторичную систему, чтобы увидеть, повторяется ли ошибка (чтобы исключить диск - маловероятный виновник).

Обновить: В конце концов я убедился, что проблема в каком-то сложном отказе SSD или, как я полагаю, во взаимодействии между ядром и SSD. Я заменил его магнитным диском, и снова проблем не было.