File system with errors linux

Check and Repair Filesystem Errors With fsck Command in Linux

Linux systems come with a command line utility fsck to check for file system errors. Learn how to use it.

Sometimes bad things happen to good systems.

Fortunately, you’re a Linux user and you have fsck (file system check) to help with a potentially corrupted filesystem. This utility is used for checking and (optionally) repairing the file system.

There are several scenarios where you may want to use fsck. Typically, you would want to run this command if your system will not boot, a device (external drives or storage media) is not functioning properly, or if you have seen evidence of file corruption.

Fsck is a actually a «front-end» for a number of file system specific checkers like fsck.vfat, fsck.ext2, etc. These do not need to be specified, but you may be able to find more advanced options in the man pages of these more precise commands.

Introduction to the fsck command

The fsck command follows a pattern similar to most Linux commands.

If you do not specify a filesystem, the system will analyze your fstab file ( /etc/fstab ) for the devices to scan.

You will need to run the command either as root user or use it with sudo.

You can use fdisk or df command to list the hard drive in Linux. This way, you can specify which device to be checked with fsck command.

Disk /dev/nvme0n1: 238.49 GiB, 256060514304 bytes, 500118192 sectors Disk model: THNSN5256GPUK NVMe TOSHIBA 256GB 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: 014A45DC-22A2-4FC0-BEEA-25A6F2406380 Device Start End Sectors Size Type /dev/nvme0n1p1 2048 1050623 1048576 512M EFI System /dev/nvme0n1p2 1050624 98563270 97512647 46.5G Linux filesystem /dev/nvme0n1p3 98564096 500117503 401553408 191.5G Linux filesystem

Unmount the device before running fsck

Do not run fsck on a mounted device, you will need to unmount the target first to avoid damage to your files.

If you try running fsck on a mounted device, you should see an error like this:

[email protected]:~$ sudo fsck /dev/sda3 fsck from util-linux 2.34 e2fsck 1.45.5 (07-Jan-2020) /dev/sda3 is mounted. e2fsck: Cannot continue, aborting.

Running fsck on a normal, healthy drive looks like this:

[email protected]:~$ sudo fsck /dev/sda2 fsck from util-linux 2.34 fsck.fat 4.1 (2017-01-24) /dev/sda2: 5 files, 1967/1972 clusters

While fsck accepts a device name like /dev/sda , you may elect to enter the UUID to avoid confusion with mounting and unmounting devices. The UUID is a fixed value assigned to your device and will not be affected by these system changes.

Читайте также:  Настройка нескольких мониторов linux mint

Understanding exit codes for the fsck command

This is a list of the codes that may be returned from fsck after inspecting a disk. Your exit code will be a sum of these codes if you analyze one disk. If you are using fsck on multiple devices, it will return the bit-wise OR of the two sums.

  • 0 — No errors
  • 1 — File system errors corrected
  • 2 — System should be rebooted
  • 4 — File system errors left uncorrected
  • 8 — Operational error
  • 16 — Usage or syntax error
  • 32 — Fsck canceled by user request
  • 128 — Shared library error

You can check the exit code of the last run command using echo $? command.

Practical usage of the fsck command

Now that you are a tad bit familiar with the fsck command, let’s see practical use cases of this command.

Repair a USB disk and other removable devices

For our purpose, let’s assume that you have already identified the problematic device /dev/sdb .

First, you need to make sure that the drive has been unmounted:

Check the output for any errors. If none displayed, check the exit code with echo $? .

There are also some option flags that we can add to allow some automated correction. These commands aren’t standardized though, and you should verify the filesystem type and compare documentation from that specific man page.

Despite that, generally you can use -p to allow fsck to automatically apply repairs.

Similarly, -y will apply corrections to any detected filesystem corruption.

Repair the root file system

You cannot unmount the root partition while the system is active. If you suspect your main file system is corrupted, you have to use a different approach here.

There are actually a few different options that you can use. You can run fsck at boot time, in rescue mode, or use a recovery-themed live cd.

Many Linux distributions will automatically force fsck at start up after a certain number of failed boot attempts. If you prefer to take matters into your own hands, you can schedule the system to do this ourselves.

Читайте также:  Передача файлов через ftp linux

Most modern Linux versions feature a tool called tune2fs.

Presuming your root device is dev/sda , this is the command you would enter.

Now, what’s actually happening is that you’re changing the system settings so that fsck is run every n number of boots (1 in the example). You could also set this to a standard time interval. The options are days, weeks, or months.

Let’s say that you want fsck to run any time that you boot if there hasn’t been a check in a week. You could use -i to specify the interval and the command would look like this.

If you’re using systemd, you can force run fsck at your next boot by entering the following:

fsck.mode=force fsck.repair=yes 

You can always turn to the man-pages for more information. Just use man fsck in the terminal.

I hope you learned something new about the fsck command. If you have any comments or questions, please leave them below.

Источник

Исправляем ошибку: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY

Исправляем ошибку: UNEXPECTED INCONSISTENCY RUN fsck MANUALLY

Недавно столкнулся с ситуацией, когда сервер, работающий под Ubuntu перестал загружаться, просто зависал на сообщении random: crng init done
Далее я попытался загрузиться в Recovery Mode и увидел вот такую ошибку:

fsck from util-linux 2.26.2
/dev/sda1 contains a file system with errors, check forced.
/dev/sda1: Inodes that were part of a corrupted orphan linked list found.
/dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options)
fsck exited with status code 4
The root filesystem on /dev/sda1 requires a manual fsck
Busybox v1.22.1 (Ubuntu 1:1.22.0-15ubuntu1) built in shell (ash)
Enter ‘help’ for a list of built-in commands.
(initramfs) _

Предварительные действия

Хорошим решением будет перед следующим пунктом — сделать клон диска с данными (например с помощью clonezilla live cd), чтобы в случае, если команда fsck отработает неверно — иметь возможность их как-нибудь восстановить. И осуществлять все описание ниже действия уже с клонированным диском, чтобы с случае проблем, просто вернуть на место старый диск или же передать его тому, кто сможет восстановить данные.

Решение проблемы

Как видно из текста ошибки, проблема в том, что команд fsck не смогла корректно отработать в автоматическом режиме. Для устранения ошибки, необходимо запустить эту команду в ручном режиме. Для этого в консоли набираем:

/dev/sda1 — это тот раздел, проблемы с которым показаны в тексте ошибки «The root filesystem on /dev/sda1 requires a manual fsck»
После запуска этой команды, будут выводится различные предложения с исправлением обнаруженных ошибок, на каждом пункте необходимо будет нажать клавишу y на клавиатуре. Либо один раз нажать клавишу a и тогда все обнаруженные ошибки будут автоматически исправлены. После окончания работы fsck, необходимо попробовать перезагрузить компьютер и проверить, что ошибок больше нет и все функционирует как следует.

Читайте также:  Чем занят файл линукс

Источник

При запуске linux пишет что то непонятное

/dev/sda1 contains a file system with errors, check forced.
/dev/sda1: Inodes that were part of corrupted orphan linked list found. /dev/sda1: UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY.
(i. e., without -a or -p options)
fsck exited with status code 4
The root filesystem on /dev/sda1 reuires a manual fsck

Экранный снимок вывода при загрузке

Не особо шарю так что помогите исправить эту проблему.

Прочитайте сообщение и сделайте что там написано. И впредь делайте это до того, как просить о помощи.

Если перепечатаешь текст с картинки (для поисковика), то подробно расскажу, что произошло и что делать.

fsck /dev/sda1 потом нажимаешь Y и если повезет то это дело закончится и после перезагрузки можно пользоваться системой дальше

2 ответа 2

Давайте построчно разберём, чего же от нас хочет Linux:

/dev/sda1 содержит файловую систему с ошибками; инициирована проверка.
/dev/sda1: были найдены inod-ы, являющиеся частью повреждённого связного списка.

/dev/sda1: НЕОЖИДАННАЯ НЕСОГЛАСОВАННОСТЬ ДАННЫХ: ЗАПУСТИТЕ fsck ВРУЧНУЮ. (т. е. без ключей -a и -p)
fsck завершила работу с кодом возврата 4
Корневая файловая система на /dev/sda1 требует ручного вызова fsck

В первых трёх строках нам сообщают, что на /dev/sda1 имеются повреждения файловой системы. Однако они не настолько страшны (inode — это заголовок файловой записи). Единственное, что потеряется при восстановлении — уникальный номер и, как результат, путь до соответствующего файла; так что он будет помещён в папку lost+found в корне /dev/sda1 . Главное, чтобы это не оказался какой-нибудь системный файл, ожидаемый во время загрузки ОС по конкретному пути.

Самой последней строкой вывода является (busybox) . Это приглашение командной строки минимальной версии консоли, внутрь которой вшит минимальный набор команд. Вариант аварийный, но его будет достаточно для «починки» раздела и перезагрузкив обычный режим.

Для «починки» введите команду:

Первая часть (аналог Windows-ского chkdsk ) выполнит проверку и безусловное (ключ -y ) исправление ошибок; вторая выполнит перезагрузку сразу же по окончании этой операции.

Кстати, вы не обесточивали компьютер прямо во время работы? Не выдёргивали диск, не отмонтировав его? Если нет, значит жёсткий диск начал «сыпаться», и по окончании проверки вам стоит как можно скорее скопировать всё его содержимое в другое место, пока ещё чего-нибудь не повредилось.

Источник

Оцените статью
Adblock
detector