Я не уверен, что следующая ошибка - единственная ошибка в этой процедуре, но на нее обязательно нужно указать. Вы говорите, что использовали
e2fsck -c -c /dev/sda
но команда должна была быть
e2fsck -c -c /dev/sda1
или что-то подобное. Я понимаю, что в посте, на который вы ссылались выше, неясно, следует ли применять e2fsck
к одному разделу или ко всему диску, и, что гораздо хуже, Руководство добавляет эту путаницу, заявляя
конспект
e2fsck [-pacnyrdfkvtDFV] [-b суперблок] [-B размер блока] [-l | -L bad_blocks_file] [-C fd] [-j external-journal] [-E extended_options] устройство
но (по крайней мере) он быстро исправляет себя, заявляя:
устройство - это файл устройства, в котором хранится файловая система (например, /dev/hdc1).
Это также имеет смысл: файловая система не выходит за границы раздела: у вас может быть столько разных файловых систем, сколько у вас разделов.
e2fsck
на разделе, вы получите больше информации о поврежденных блоках, если таковые имеются. Если у вас действительно есть плохие блоки, эта статья объясняет, как их исправить. Я дам вам краткое изложение.
Во-первых, проверка файловой системы для любого раздела
sudo fsck.ext4 -v /dev/sda1
Если файловая система действительно повреждена, вы получите такой вывод:
fsck /dev/sda5
fsck 1.41.4 (27-Jan-2009)
e2fsck 1.41.4 (27-Jan-2009)
fsck.ext4: Group descriptors look bad... trying backup blocks...
fsck.ext4: Bad magic number in super-block while trying to open /dev/sda5
The superblock could not be read or does not describe a correct ext4
filesystem. If the device is valid and it really contains an ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
Найдите, где хранятся резервные супер-узлы:
mke2fs -n /dev/sda1
Вы получите длинный вывод, в конце которого вы найдете:
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
Настало время восстановить плохой суперблок из резервных копий,
e2fsck -b block_number /dev/sda1
где block_number - номер первого (нормального) резервного суперблока. Вы должны быть сделаны.
Помните: на данный момент не ясно, какой раздел имеет плохие суперблоки, вам придется запускать этот набор инструкций для всех разделов, пока не найдете тот, который содержит плохие суперблоки. Хотя вряд ли, их может быть несколько.