Как восстановить файловую систему ubuntu
Перейти к содержимому

Как восстановить файловую систему ubuntu

  • автор:

Восстановление файловой системы Linux после сбоя

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

Для выполнения восстановления нам необходим любой современный LiveCD дистрибутив.
Загружаемся в LiveCD и заходим в терминал от имени суперпользователя.
Для восстановление файловой системы в linux используется консольная утилита под названием fsck. Её вызов очень прост даже для новичков в мире linux.

Последовательность действий:
1. Загружаемся с LiveCD дистрибутива linux, содержащего в себе драйвер для работы с вашей файловой системой (например ext4) и собственно утилиту fsck.
2. Заходим в терминал LiveCD под именем суперпользователя. Например, в той-же Ubuntu нужно просто набрать в основной консоли sudo su. В Debian есть отдельный пункт меню для вызова root консоли. В Gentoo вам вообще ничего не придется делать — после загрузки вы уже под именем root.
3. Если вы не помните путь до поврежденной файловой системы (/dev/sdx), то смотрите на вывод команды fdisk -l и ориентируясь на размер или другие параметры, запоминаете путь до файловой системы (например /dev/sda1).
4. Теперь осталось запустить утилиту восстановления файловой системы командой fsck -fy /dev/sdx , где sdx — имя раздела (например sda1). Опция -f (force) используется для принудительной выполнении проверки. Опция -y (yes) позволяет программе автоматически отвечать «да» на все вопросы в ходе работы.
Также стоит запомнить опцию -t которая задаёт тип файловой системы.
Вот так-бы выглядел запуск проверки диска у меня на ноутбуке:

fsck -fy -t ext4 /dev/sda1

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

Комментарии:
Автор: netf0x, дата: 06 сентября 2010 , время: 16:19:44 (MSK).
А зачем LiveCD? Есть же singlemode

Автор: Roman, дата: 06 сентября 2010 , время: 17:01:25 (MSK).
Полагаю дело в том, что система может не загрузится даже в single mode (что видимо и происходит при вышеуказанной ошибке).

Автор: Subsanek, дата: 06 сентября 2010 , время: 17:08:08 (MSK).
Ну так при крахе ФС консоль не открыть. ДЛя того и liveCD.

Автор: iken, дата: 07 сентября 2010 , время: 08:38:25 (MSK).
«. в той-же Ubuntu нужно просто набрать в основной консоли sudo su» — не кошерно. Правильнее sudo -i

Автор: marlock, дата: 07 сентября 2010 , время: 20:59:56 (MSK).
ещё -r неплохо бы добавить

Автор: Станислав, дата: 07 марта 2013 , время: 01:10:59 (MSK).
Спасибо, помогло, не знал, что делать, а тут ваш статья =) в закладки однозначно на всякий =)

Автор: A, дата: 10 марта 2013 , время: 01:45:39 (MSK).
Спасибо огромное!

Автор: Subsanek, дата: 05 октября 2013 , время: 15:06:19 (MSK).
Станислав, А, приятно слышать, что вам помогла моя статья.

Автор: Иван, дата: 24 января 2014 , время: 12:12:24 (MSK).
Очень полезно для начинающих. Спасибо большое. Сейчас буду пробовать, а то уже и не знаю что делать.

Автор: m0sk1t, дата: 25 июня 2014 , время: 10:47:11 (MSK).
Не рассказали про опцию -c «найти bad-блоки readonly тестом и перенести в inod bad-блоков». Не рассказали что LiveCD в принципе не особо нужен, ибо проверка во многих дистрибутивах проходит перед загрузкой (не всегда, а при определённых условиях), а также что можно перезагрузиться с помощью shutdown -Fr now и принудительно запустить проверку. Но в целом неплохо =)

Автор: vasilisc, дата: 18 сентября 2014 , время: 13:40:29 (MSK).
В Ubuntu через определенное количество монтирований жестких дисков (читай «перезагрузок компьютера») принудительно включается fsck для проверки жестких дисков. Многие знают, что с помощью tune2fs можно управлять интервалами проверок fsck.

Но иногда нужно проверить диск «здесь и сейчас». Если запустить fsck с указанием ваших дисков, то скорее всего они примонтированы и fsck предупредит, что это чревато для вас. Как быть? Отмонтировать, чтобы проверить? А как быть с корнем?

Самый простой вариант такой:
sudo touch /forcefsck
Команда sudo (после ввода пароля) даст вам права создать с помощью touch пустой файл в корне диска /forcefsck, который служит сигналом (флагом) для fsck, что нужно проверить диски.
Вам осталось перезагрузить компьютер и fsck примется проверять все жесткие диски, указанные в /etc/fstab.
http://vasilisc.com/tips_ubuntu#force_fsck

Автор: Subsanek, дата: 20 июля 2015 , время: 14:08:35 (MSK).
m0sk1t и vasilisc, спасибо за полезные дополнения!

Автор: Александр, дата: 07 февраля 2019 , время: 14:52:00 (MSK).
Спасибо! Помогло после того как Norton Ghost.ver.11 сломал загрузчик линукса при создании образов разделов.

Автор: Андрей, дата: 30 октября 2020 , время: 21:34:41 (MSK).
А что нужно вбивать когда после выполнения поверки такие последние строчки:*** journal has been regenerated ***
UBUNTU:***** FILE SISTEM WAS MODIFIED *****
UBUNTU: 44625/60669952 files(0,5% non-contiguous), 6921939/242661888 blocks
rot@ubuntu:/home/ubuntu# что вбивать сюда?

Восстановление повреждённой файловой системы

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

Иногда требуется восстановление, чтобы смонтировать или изменить файловую систему. Даже если проверка не сообщает о каких-либо повреждениях, файловая система все равно может быть помечена как «испорченная» на внутреннем уровне, что нуждается в восстановлении.

Проверить, не повреждена ли файловая система

  1. Откройте Обзор и откройте приложение Диски .
  2. Выберите диск, содержащий необходимую файловую систему, из списка устройств слева. Если на диске более одного тома, выберите том, который содержит файловую систему.
  3. На панели инструментов под разделом Тома нажмите кнопку меню. Затем нажмите Проверить файловую систему… .
  4. В зависимости от того, сколько данных хранится в файловой системе, проверка может занять продолжительное время. В появившемся диалоговом окне подтвердите начало действия. Данная операция не изменит файловую систему, но при необходимости отмонтирует её. Будьте терпеливы, пока проверяется файловая система.
  5. После завершения вы будете уведомлены о состоянии файловой системы. Обратите внимание, что в некоторых случаях, даже если файловая система не повреждена, её всё равно может потребоваться восстановить, чтобы сбросить внутренний маркер «испорченая».

При восстановлении возможна потеря данных

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

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

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

Восстановление файловой системы

  1. Откройте Обзор и откройте приложение Диски .
  2. Выберите диск, содержащий необходимую файловую систему, из списка устройств слева. Если на диске более одного тома, выберите том, который содержит файловую систему.
  3. На панели инструментов под разделом Тома нажмите кнопку меню. Затем нажмите Восстановить файловую систему… .
  4. В зависимости от того, сколько данных хранится в файловой системе, восстановление может занять продолжительное время. В появившемся диалоговом окне подтвердите начало действия. При необходимости, во время процесса файловая система будет отмонтирована. Средство восстановления пытается привести файловую систему в корректное состояние и перемещает поврежденные файлы в специальную папку. Будьте терпеливы, пока файловая система восстанавливается.
  5. После завершения вы будете уведомлены, можно ли успешно восстановить файловую систему. В случае успеха ей можно будет снова пользоваться обычным способом. Если файловая система не может быть восстановлена, создайте её резервную копию, сохранив образ тома, чтобы впоследствии иметь возможность восстановить важные файлы. Это можно сделать монтированием образа в режиме только для чтения или используя инструменты исследовательского анализа, такие как sleuthkit . Чтобы снова использовать том, его необходимо отформатировать с созданием новой файловой системы. Все данные при этом будут удалены.

Команда Fsck в Linux (восстановление файловой системы)

Команда Fsck в Linux (восстановление файловой системы)

f sck (проверка файловой системы) — это утилита командной строки, которая позволяет выполнять проверки согласованности и интерактивное исправление в одной или нескольких файловых системах Linux. Он использует программы, специфичные для типа файловой системы, которую он проверяет.

Вы можете использовать команду fsck для восстановления поврежденных файловых систем в ситуациях, когда система не загружается или раздел не может быть смонтирован.

В этой статье мы поговорим о команде fsck.

Как пользоваться fsck

Команда fsck принимает следующую общую форму:

fsck [OPTIONS] [FILESYSTEM]

Только root или пользователи с привилегиями sudo могут очистить буфер.

Если FILESYSTEM в качестве аргумента указано no, fsck проверяются устройства, указанные в файле fstab.

Никогда не запускайте fsckна смонтированных разделах, так как это может повредить файловую систему. Прежде чем пытаться проверить или восстановить файловые системы, всегда делайте unmountэто сначала.

Команда fsck является оболочкой для различных контроллеров файловой системы Linux ( fsck.*) и принимает различные параметры в зависимости от типа файловой системы.

Проверьте справочные страницы для получения дополнительной информации о конкретном контролере. Например, чтобы просмотреть доступные параметры fsck.ext4, введите:

man fsck.ext4

Восстановление поврежденной файловой системы

Простейший вариант использования команды fsck — восстановить поврежденную файловую систему ext3 или ext4 без полномочий root.

  1. Если вы не знаете имя устройства, использовать fdisk, df или любой другой инструмент, чтобы найти его.
  2. Размонтировать устройство:

sudo umount /dev/sdc1
sudo fsck -p /dev/sdc1
sudo mount /dev/sdc1

Восстановление корневой файловой системы

fsck не может проверить корневую файловую систему на работающей машине, потому что она не может быть размонтирована.

Если вы хотите проверить или восстановить корневую файловую систему, у вас есть несколько вариантов в вашем распоряжении. Вы можете настроить запуск fsck при загрузке, загрузить систему в режиме восстановления или использовать live CD.

Для запуска fsck в режиме восстановления:

  1. Войдите в меню загрузки и выберите «Дополнительные параметры»
  2. Выберите режим восстановления и затем «fsck».
  3. Когда будет предложено перемонтировать корневую файловую систему, выберите «Да».
  4. После этого возобновите нормальную загрузку.

Чтобы запустить fsck из живого дистрибутива:

  1. Загрузите живую раздачу.
  2. Используйте fdisk или, parted чтобы найти имя корневого раздела.
  3. Откройте терминал и запустите:

sudo fsck -p /dev/sda1

Проверьте файловые системы при загрузке

В большинстве дистрибутивов Linux fsck запускается во время загрузки, если файловая система помечена как грязная или после определенного количества загрузок или времени.

Чтобы увидеть текущий счетчик монтирования, проверить номер частоты, интервал проверки и время последней проверки для определенного раздела, используйте инструмент tune2fs:

sudo tune2fs -l /dev/sdc1 | grep -i 'last checked\|mount count'
Mount count: 292 Maximum mount count: -1 Last checked: Tue Jul 12 14:23:33 2018 Check interval: 0 ()
  • «Maximum mount count» — это количество монтирований, после которых будет проверяться файловая система. Значение 0 или -1 означает, что fsck никогда не будет работать.
  • «Check interval» — это максимальное время между двумя проверками файловой системы.

Если, например, вы хотите запускать fsck после каждых 25 загрузок (монтирования), введите:

sudo tune2fs -c 25 /dev/sdc1

Вы также можете установить максимальное время между двумя проверками. Например, чтобы установить один месяц, вы должны выполнить:

sudo tune2fs -i 1m /dev/sdc1

Чтобы заставить fsck работать во время загрузки на дистрибутивах SystemD, передайте следующие параметры загрузки ядра:

fsck.mode=force fsck.repair=yes

В старых дистрибутивах fsck будет работать при загрузке, если файл /forcefsck присутствует:

sudo touch /forcefsck

Параметры fstab

fstab это файл конфигурации, который сообщает системе, как и где монтировать разделы.

Файл /etc/fstab содержит список записей в следующем виде:

# [File System] [Mount Point] [File System Type] [Options] [Dump] [PASS] /dev/sda1 / ext4 defaults 0 1 /dev/sda2 /home ext4 defaults 0 2 server:/dir /media/nfs nfs defaults 0 0

Последний, шестой столбец ( [PASS]) — это параметр, который контролирует порядок, в котором проверки файловой системы выполняются во время перезагрузки.

  • 0 — Не проверяй.
  • 1 — Файловые системы должны проверяться первыми и по одному за раз.
  • 2 — Все остальные файловые системы, которые проверяются позже и, возможно, параллельно.

Корневая файловая система должна иметь значение 1, а все остальные файловые системы, которые вы хотите проверить, должны иметь значение 2.

Заключение

fsck является инструментом командной строки для проверки и при необходимости восстановления файловых систем Linux

Чтобы узнать больше о команде fsck, посетите страницу руководства fsck или введите man fsck в свой терминал.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Руководство по команде fsck для проверки и восстановления файловой системы

img

Утилита Linux fsck (File System Consistency Check — проверка согласованности файловой системы) проверяет файловые системы на наличие ошибок или нерешенных проблем. Инструмент используется для исправления потенциальных ошибок и создания отчетов.

Эта утилита по умолчанию входит в состав дистрибутивов Linux. Для использования fsck не требуется никаких специальных шагов или процедуры установки. После загрузки терминала вы готовы использовать функции инструмента.

Следуйте этому руководству, чтобы узнать, как использовать fsck для проверки и восстановления файловой системы на Linux-машине. В руководстве будут перечислены примеры того, как использовать инструмент и для каких вариантов использования.

Руководство по команде fsck для проверки и восстановления файловой системы

Когда использовать fsck в Linux

Инструмент fsck можно использовать в различных ситуациях:

  • Используйте fsck для запуска проверки файловой системы в качестве профилактического обслуживания или при возникновении проблемы с вашей системой.
  • Одна из распространенных проблем, которые может диагностировать fsck, — это когда система не загружается.
  • Другой — когда вы получаете ошибку ввода/вывода, когда файлы в вашей системе становятся поврежденными.
  • Вы также можете использовать утилиту fsck для проверки состояния внешних накопителей, таких как SD-карты или USB-накопители.

Базовый синтаксис fsck

Базовый синтаксис утилиты fsck следует этому шаблону:

fsck

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

Как проверить и восстановить файловую систему

Перед проверкой и восстановлением файловой системы необходимо выполнить несколько шагов. Вам нужно найти устройство и размонтировать его.

Просмотр подключенных дисков и разделов

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

Один из способов найти диск, который вы хотите просканировать, — это перечислить диски файловой системы с помощью команды df :

df -h

df -h

Инструмент показывает использование данных в вашей системе и файловых системах. Обратите внимание на диск, который вы хотите проверить, с помощью команды fsck .

Например, для просмотра разделов вашего первого диска используйте следующую команду:

sudo parted /dev/sda 'print'

sda — это то, как Linux относится к вашему первому SCSI-диску. Если у вас два, вторым будет sdb и так далее.

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

sudo parted /dev/sda

Имя диска здесь /dev/sda , а затем количество разделов отображается в столбце Number. В нашем случае это один: sda1.

Размонтировать диск

Прежде чем вы сможете запустить проверку диска с помощью fsck , вам необходимо отключить диск или раздел. Если вы попытаетесь запустить fsck на смонтированном диске или разделе, вы получите предупреждение:

aborting

Обязательно выполните команду размонтирования:

sudo umount /dev/sdb

Замените /dev/sdb устройством, которое вы хотите размонтировать.

Обратите внимание, что вы не можете размонтировать корневые файловые системы. Следовательно, теперь fsck нельзя использовать на работающей машине. Подробнее об этом в конце руководства.

Запустить fsck для проверки ошибок

Теперь, когда вы отключили диск, вы можете запустить fsck . Чтобы проверить второй диск, введите:

sudo fsck /dev/sdb

sudo fsck /dev/sdb

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

Код выхода, который возвращает утилита fsck , представляет собой сумму этих состояний:

Коды

Смонтировать диск

Когда вы закончите проверку и ремонт устройства, смонтируйте диск, чтобы вы могли использовать его снова.

В нашем случае мы перемонтируем SDB-диск:

mount /dev/sdb
Сделать пробный запуск с fsck

Перед выполнением проверки в реальном времени вы можете выполнить тестовый запуск с помощью fsck . Передайте параметр -N команде fsck , чтобы выполнить тест:

sudo fsck -N /dev/sdb

На выходе печатается, что могло бы произойти, но не выполняется никаких действий.

Автоматическое исправление обнаруженных ошибок с помощью fsck

Чтобы попытаться устранить потенциальные проблемы без каких-либо запросов, передайте параметр -y команде fsck .

sudo fsck -y / dev / sdb

Таким образом, вы говорите «да, попытайтесь исправить все обнаруженные ошибки» без необходимости каждый раз получать запрос.

Если ошибок не обнаружено, результат будет таким же, как и без опции -y.

Пропускать восстановление, но выводить ошибки fsck на выходе

Используйте параметр -n , если вы хотите проверить потенциальные ошибки в файловой системе, не исправляя их.

У нас есть второй диск sdb с некоторыми ошибками журнала. Флаг -n печатает ошибку, не исправляя ее:

sudo fsck -n /dev/sdb

sudo fsck -n /dev/sdb

Заставить fsck выполнить проверку файловой системы

Когда вы выполняете fsck на чистом устройстве, инструмент пропускает проверку файловой системы. Если вы хотите принудительно проверить файловую систему, используйте параметр -f .Например:

sudo fsck -f /dev/sdb

sudo fsck -f /dev/sdb

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

Запустить fsck сразу для всех файловых систем

Если вы хотите выполнить проверку всех файловых систем с помощью fsck за один раз, передайте флаг -A . Эта опция будет проходить через файл etc/fstab за один проход.

Поскольку корневые файловые системы нельзя размонтировать на работающей машине, добавьте параметр -R , чтобы пропустить их:

fsck -AR

Чтобы избежать запросов, добавьте параметр -y , о котором мы говорили.

Пропустить проверку fsck в определенной файловой системе

Если вы хотите, чтобы fsck пропустил проверку файловой системы, вам нужно добавить -t и no перед файловой системой.

Например, чтобы пропустить файловую систему ext3 , выполните эту команду:

sudo fsck -AR -t noext3 -y

Мы добавили -y , чтобы пропускать запросы.

Пропустить Fsck в подключенных файловых системах

Чтобы убедиться, что вы не пытаетесь запустить fsck на смонтированной файловой системе, добавьте параметр -M . Этот флаг указывает инструменту fsck пропускать любые смонтированные файловые системы.

Чтобы показать вам разницу, мы запустим fsck на sdb , пока он смонтирован, а затем, когда мы его размонтируем.

sudo fsck -M /dev/sdb

sudo fsck -M /dev/sdb

Пока sdb смонтирован, инструмент выходит без проверки. Затем мы размонтируем sdb и снова запускаем ту же команду. На этот раз fsck проверяет диск и сообщает, что он чистый или с ошибками.

Примечание. Чтобы удалить первую строку заголовка инструмента fsck «fsck from util-linux 2.31.1» , используйте параметр -T .

Запустить fsck в корневом разделе Linux

Как мы уже упоминали, fsck не может проверить корневые разделы на работающей машине, поскольку они смонтированы и используются. Однако даже корневые разделы Linux можно проверить, если вы загрузитесь в режиме восстановления и запустите проверку fsck :

1. Для этого включите или перезагрузите компьютер через графический интерфейс или с помощью терминала:

sudo reboot

2. Нажмите и удерживайте клавишу Shift во время загрузки. Появится меню GNU GRUB.

3. Выберите Advanced options for Ubuntu (Дополнительные параметры для Ubuntu).

Advanced options for Ubuntu

4. Затем выберите запись с (recovery mode — режим восстановления) в конце. Подождите, пока система загрузится в меню восстановления.

5. Выберите fsck в меню.

fsck

6. Подтвердите, выбрав Yes в ответ на запрос.

Yes

7. По завершении выберите resume в меню восстановления, чтобы загрузить машину.

Что делать, если fsck прерывается?

Вам не следует прерывать работу инструмента fsck , пока он работает. Однако, если процесс будет прерван, fsck завершит текущую проверку, а затем остановится.

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

Обзор параметров команды Linux fsck

Подводя итоги, ниже приведен список параметров, которые вы можете использовать с утилитой fsck Linux.

  • -а — Попробует автоматически исправить ошибки файловой системы. Подсказок не будет, поэтому используйте его с осторожностью.
  • -А — Проверяет все файловые системы, перечисленные в /etc/fstab.
  • -C — Показать прогресс для файловых систем ext2 и ext3.
  • -f — Заставляет fsck проверить файловую систему. Инструмент проверяет, даже если файловая система кажется чистой.
  • -l — Заблокирует устройство, чтобы другие программы не могли использовать раздел во время сканирования и восстановления.
  • -M — Не проверяет смонтированные файловые системы. Инструмент возвращает код выхода 0, когда файловая система смонтирована.
  • -N — Делает пробный запуск. В выводе печатается, что fsck будет делать без выполнения каких-либо действий. Также печатаются предупреждения или сообщения об ошибках.
  • -П — Используется для параллельного сканирования нескольких файловых систем. Это может вызвать проблемы, в зависимости от ваших настроек. Используйте с осторожностью.
  • -Р — Сообщает инструменту fsck, чтобы он не проверял корневые файловые системы при использовании параметра -A.
  • -р — Распечатать статистику устройства.
  • -t — Укажите типы файловых систем для проверки с помощью fsck. Обратитесь к странице руководства для получения подробной информации.
  • -T — Скрыть заголовок при запуске инструмента.
  • -у — Попытается автоматически исправить ошибки файловой системы во время проверки.
  • -V — Подробный вывод.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *