Ubuntu программа исправления ошибок

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

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

Немного теории

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

Современные файловые системы делятся на два типа — журналируемые и нежурналируемые. Журналиуемые файловые системы записывают в лог все действия, которые собираются выполнить, а после выполнения стирают эти записи. Это позволяет очень быстро понять была ли файловая система повреждена. Но не сильно помогает при восстановлении. Чтобы восстановить файловую систему linux необходимо проверить каждый блок файловой системы и найти поврежденные сектора.

Для этих целей используется утилита fsck. По сути, это оболочка для других утилит, ориентированных на работу только с той или иной файловой системой, например, для fat одна утилита, а для ext4 совсем другая.

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

В этой статье мы рассмотрим ручную работу с fsck. Возможно, вам понадобиться LiveCD носитель, чтобы запустить из него утилиту, если корневой раздел поврежден. Если же нет, то система сможет загрузиться в режим восстановления и вы будете использовать утилиту оттуда. Также вы можете запустить fsck в уже загруженной системе. Только для работы нужны права суперпользователя, поэтому выполняйте ее через sudo.

А теперь давайте рассмотрим сам синтаксис утилиты:

$ fsck [опции] [опции_файловой_системы] [раздел_диска]

Основные опции указывают способ поведения утилиты, оболочки fsck. Раздел диска — это файл устройства раздела в каталоге /dev, например, /dev/sda1 или /dev/sda2. Опции файловой системы специфичны для каждой отдельной утилиты проверки.

А теперь давайте рассмотрим самые полезные опции fsck:

  • -l — не выполнять другой экземпляр fsck для этого жесткого диска, пока текущий не завершит работу. Для SSD параметр игнорируется;
  • -t — задать типы файловых систем, которые нужно проверить. Необязательно указывать устройство, можно проверить несколько разделов одной командой, просто указав нужный тип файловой системы. Это может быть сама файловая система, например, ext4 или ее опции в формате opts=ro. Утилита просматривает все файловые системы, подключенные в fstab. Если задать еще и раздел то к нему будет применена проверка именно указанного типа, без автоопределения;
  • -A — проверить все файловые системы из /etc/fstab. Вот тут применяются параметры проверки файловых систем, указанные в /etc/fstab, в том числе и приоритетность. В первую очередь проверяется корень. Обычно используется при старте системы;
  • -C — показать прогресс проверки файловой системы;
  • -M — не проверять, если файловая система смонтирована;
  • -N — ничего не выполнять, показать, что проверка завершена успешно;
  • -R — не проверять корневую файловую систему;
  • -T — не показывать информацию об утилите;
  • -V — максимально подробный вывод.

Это были глобальные опции утилиты. А теперь рассмотрим опции для работы с файловой системой, их меньше, но они будут более интересны:

  • -a — во время проверки исправить все обнаруженные ошибки, без каких-либо вопросов. Опция устаревшая и ее использовать не рекомендуется;
  • -n — выполнить только проверку файловой системы, ничего не исправлять;
  • -r — спрашивать перед исправлением каждой ошибки, используется по умолчанию для файловых систем ext;
  • -y — отвечает на все вопросы об исправлении ошибок утвердительно, можно сказать, что это эквивалент a.
  • -c — найти и занести в черный список все битые блоки на жестком диске. Доступно только для ext3 и ext4;
  • -f — принудительная проверка файловой системы, даже если по журналу она чистая;
  • -b — задать адрес суперблока, если основной был поврежден;
  • -p — еще один современный аналог опции -a, выполняет проверку и исправление автоматически. По сути, для этой цели можно использовать одну из трех опций: p, a, y.

Теперь мы все разобрали и вы готовы выполнять восстановление файловой системы linux. Перейдем к делу.

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

Допустим, вы уже загрузились в LiveCD систему или режим восстановления. Ну, одним словом, готовы к восстановлению ext4 или любой другой поврежденной ФС. Утилита уже установлена по умолчанию во всех дистрибутивах, так что устанавливать ничего не нужно.

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

Если ваша файловая система находится на разделе с адресом /dev/sda1 выполните:

sudo fsck -y /dev/sda1

fsck3

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

Восстановление поврежденного суперблока

Обычно эта команда справляется со всеми повреждениями на ура. Но если вы сделали что-то серьезное и повредили суперблок, то тут fsck может не помочь. Суперблок — это начало файловой системы. Без него ничего работать не будет.

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

sudo mkfs -t ext4 -n /dev/sda1

fsck1

На самом деле эта команда создает новую файловую систему. Вместо ext4 подставьте ту файловую систему, в которую был отформатирован раздел, размер блока тоже должен совпадать иначе ничего не сработает. С опцией -n никаких изменений на диск не вноситься, а только выводится информация, в том числе о суперблоках.

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

sudo fsck -b 98304 /dev/sda1

fsck2

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

Проверка чистой файловой системы

Проверим файловую систему, даже если она чистая:

sudo fsck -fy /dev/sda1

fsck4

Битые сектора

Или еще мы можем найти битые сектора и больше в них ничего не писать:

sudo fsck -c /dev/sda1

fsck5

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

Вы можете указать какую файловую систему нужно проверять на разделе, например:

sudo fsck -t ext4 /dev/sdb1

fsck6

Проверка всех файловых систем

С помощью флага -A вы можете проверить все файловые системы, подключенные к компьютеру:

sudo fsck -A -y

Но такая команда сработает только в режиме восстановления, если корневой раздел и другие разделы уже примонтированы она выдаст ошибку. Но вы можете исключить корневой раздел из проверки добавив R:

sudo fsck -AR -y

Или исключить все примонтированные файловые системы:

sudo fsck -M -y

Также вы можете проверить не все файловые системы, а только ext4, для этого используйте такую комбинацию опций:

sudo fsck -A -t ext4 -y

Или можно также фильтровать по опциям монтирования в /etc/fstab, например, проверим файловые системы, которые монтируются только для чтения:

sudo fsck -A -t opts=ro

Проверка примонтированных файловых систем

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

sudo mount -o remount,ro /dev/sdb1

А теперь проверка файловой системы fsck в принудительном режиме:

sudo fsck -fy /dev/sdb1

fsck7

Просмотр информации

Если вы не хотите ничего исправлять, а только посмотреть информацию, используйте опцию -n:

sudo fsck -n /dev/sdb1

fsck8

Выводы

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

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

https://www.youtube.com/watch?v=pECp066gGcY

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Неисправный жёсткий диск — одно из самых неприятных явлений в работе компьютера. Мало того что мы легко можем потерять очень много важной информации и файлов, так и замена HDD неслабо бьёт по бюджету. Прибавим к этому потраченное время и нервы, которые, как известно, не восстанавливаются. Чтобы не дать проблеме застать нас врасплох и заранее диагностировать её, стоит знать, как проверить жёсткий диск на ошибки в ОС Ubuntu. Программных средств, предоставляющих такие услуги, предостаточно.

Тестирование жесткого диска

Как в Ubuntu протестировать жесткий диск на ошибки.

Проверка с помощью встроенного ПО

Совсем необязательно качать программы, чтобы выполнить проверку диска в Ubuntu. Операционная система уже обладает утилитой, которая предназначена для этой задачи. Называется она badblocks, управляется через терминал.

Открываем терминал и вводим:

sudo fdisk -l

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

После этого вводим:

sudo badblocks -sv /dev/sda

Команда служит уже для поиска повреждённых секторов. Вместо /dev/sda вводим имя своего накопителя. Ключи -s и -v служат для того, чтобы отображать в правильном порядке ход проверки блоков (s) и чтобы выдавать отчёт обо всех действиях (v).

Информация о жестких дисках

Нажатием клавиш Ctrl + C мы останавливаем проверку жёсткого диска.

Для контроля за файловой системой можно также использовать две другие команды.

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

umount /dev/sda

Для проверки и исправления ошибок:

sudo fsck -f -c /dev/sda

  • «-f» делает процесс принудительным, то есть проводит его, даже если HDD помечен как работоспособный;
  • «-c» находит и помечает бэд-блоки;
  • «-y» — дополнительный вводимый аргумент, который сразу же отвечает Yes на все вопросы системы. Вместо него можно ввести «-p», он проведёт проверку в автоматическом режиме.

Программы

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

GParted

GParted как раз для тех, кому текстовый интерфейс не по душе. Утилита выполняет большое количество задач, связанных с работой HDD на Убунту. В их число входит и проверка диска на ошибки.

GParted

Для начала нам нужно скачать и установить GParted. Вводим следующую команду, чтобы выполнить загрузку из официальных репозиториев:

sudo apt-get install gparted

Установить программу легко и при помощи Центра загрузки приложений.

  1. Открываем приложение. На главном экране сразу же выводятся все носители. Если какой-то из них помечен восклицательным знаком, значит, с ним уже что-то не так.
  2. Щёлкаем по тому диску, который хотим проверить.
  3. Жмём на кнопку «Раздел», расположенную сверху.
  4. Выбираем «Проверка на ошибки».

Программа отсканирует диск. В зависимости от его объёма процесс может идти дольше или меньше. После сканирования мы будем оповещены о его результатах.

Smartmontools

Это уже более сложная утилита, которая выполняет более серьёзную проверку HDD по различным параметрам. Как следствие, управлять ей тоже сложнее. Графический интерфейс в Smartmontools не предусмотрен.

Smartmontools

Качаем программу:

aptitude install smartmontools

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

 ls -l /dev | grep -E ‘sd|hd’

Вбиваем команду для выведения подробной информации о носителе. Стоит посмотреть на параметр ATA. Дело в том, что при замене родного диска, лучше ставить устройство с тем же либо большим ATA. Так можно максимально раскрыть его возможности. А также посмотрите и запомните параметры SMART.

smartctl —info /dev/sde

Запускаем проверку. Если SMART поддерживается, то добавляем «-s». Если он не поддерживается или уже включён, то этот аргумент можно убрать.

smartctl -s on -a /dev/sde

После этого смотрим информацию под READ SMART DATA. Результат может принимать два значения: PASSED или FAILED. Если выпало последнее, можно начинать делать резервные копии и искать замену винчестеру.

Этим возможности программы не исчерпываются. Но для однократной проверки HDD этого будет вполне достаточно.

Safecopy

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

Устанавливаем Safecopy:

sudo apt install safecopy

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

sudo safecopy /dev/sda /home/

Бэд-блоки

У некоторых могут возникнуть вопросы: «что такое эти битые блоки и откуда они, вообще, взялись на моём HDD, если я его ни разу не трогал?» Bad blocks, или бэд-секторы — разделы HDD, которые больше не читаются. Во всяком случае так они по объективным причинам были помечены файловой системой. И скорее всего, с диском в этих местах действительно что-то не так. «Бэды» встречаются как на старых винчестерах, так и на самых современных, поскольку работают они практически по тем же самым технологиям.

Bad blocks

Появляются же сбойные секторы по разным причинам.

  • Прерывание записи из-за отключения питания. Вся информация, поступающая на жёсткий диск, разбивается в виде единиц и нулей на самые разные его части. Сбить этот процесс — значит сильно запутать винчестер. После такого сбоя может нарушиться загрузочный сектор и тогда система вообще не запускается.
  • Некачественная сборка. Тут и говорить нечего. У дешёвого китайского устройства полететь может что угодно.

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

  • Печать

Страницы: [1] 2  Все   Вниз

Тема: Программа для исправления ошибок жесткого диска для убунты?  (Прочитано 29022 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
dborovsky

Какакя есть программа для исправления ошибок жесткого диска для убунты? Прповерить на bad сектора и т.д.


ТС не появлялся на Форуме более полугода по состоянию на 13/07/2019 (последняя явка: 26/01/2017). Модератором раздела принято решение закрыть тему.
—zg_nico

« Последнее редактирование: 13 Июля 2019, 23:38:16 от zg_nico »


Глупый_Мо

Какакя есть программа для исправления ошибок жесткого диска для убунты? Прповерить на bad сектора и т.д.

Поиском пользовались?


varlesh

Проверка:

sudo badblocks -v <имя_устройства>К примеру,:

sudo badblocks -v /dev/sda1Имя устройства можно посмотреть командой:

sudo fdisk -lЛечение http://kubuntu.ru/node/6874

« Последнее редактирование: 29 Августа 2013, 17:44:52 от varlesh »


Оффлайн
dborovsky

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


Пользователь решил продолжить мысль 29 Августа 2013, 17:58:23:


к прмеру у меня выдало следующие диски:
Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63   105338204    52669071    7  HPFS/NTFS/exFAT
/dev/sda2       105338266   312576704   103619219+   f  W95 Ext’d (LBA)
/dev/sda5       105338268   136070549    15366141    b  W95 FAT32
/dev/sda6       136070613   275836049    69882718+   7  HPFS/NTFS/exFAT
/dev/sda7       275826688   308391935    16282624   83  Linux
/dev/sda8       308393984   312580095     2093056   82  Linux swap / Sol

Мне нужно проверить диск Е, как его определить здесь?

« Последнее редактирование: 29 Августа 2013, 17:58:23 от dborovsky »


Оффлайн
victor00000

grep -Rs "DRDY|(St" /var/log?


Оффлайн
dborovsky


Оффлайн
victor00000

dborovsky,
пусто? это хорошо.


Оффлайн
tagilchanin

пакет smartmontools. покажет smart на все диски

Выбери профессию, которую ты любишь, — и тебе не придется работать ни дня в твоей жизни. (Конфуций)


Оффлайн
zotkindm

Вроде «дисковая утилита» этим занимается, не?


Оффлайн
dborovsky

Задам вопрос по другому. Как мне дефрагментировать диск е из под убунты, т.к. под виндой диск е перестало видеть, а в Ubuntu захожу без проблем. Как быть?


varlesh

dborovsky,
Никак. Она здесь ненужна.
Может форматировать? Какой диск Е? Какая файловая система?
В линуксе нумерация дисков и разделов другая совсем.
Вы по размеру смотрите и укажите, что не показывает в Windows.
Для удобства используйте команду:

df -hКак видно из вашей команды, у вас один диск и 8 разделов.

« Последнее редактирование: 30 Августа 2013, 00:20:53 от varlesh »


Оффлайн
dborovsky

раздел Е, NTFS. Не могу в этот диск зайти из под винды. Только из под убунты заходит. Думал попробовать дефрагментировать или подскажите. что лучше сделать?


varlesh

dborovsky,
Вы подробнее опишите, что вам говорит Windows при обращении к разделу. Посмотрите в Gparted не стоит ли флаг hidden на невидимом разделе.
И давайте, все-таки, вещи называть своими именами диски — это диски, а разделы — это разделы. А то так и запутаться можно )))
Также запустите утилиту проверки ФС NTFS:

sudo ntfsfix <имя_устройства>и вывод команды:

df -hИ вспомните, сколько весил этот диск. Нужно знать кого и как лечить!

« Последнее редактирование: 30 Августа 2013, 01:25:19 от varlesh »


Оффлайн
dborovsky

весит 71,6 gb, раздел Е Media

dima@dima:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda7        16G  8.2G  6.4G  57% /
udev           1001M  4.0K 1001M   1% /dev
tmpfs           404M  832K  403M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none           1008M   80K 1008M   1% /run/shm
none            100M   36K  100M   1% /run/user


Пользователь решил продолжить мысль 30 Августа 2013, 01:38:10:


dima@dima:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda7        16G  8.2G  6.4G  57% /
udev           1001M  4.0K 1001M   1% /dev
tmpfs           404M  832K  403M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none           1008M   80K 1008M   1% /run/shm
none            100M   40K  100M   1% /run/user
/dev/sda6        67G   59G  8.0G  89% /media/dima/MEDIA
/dev/sda5        15G  7.2G  7.5G  50% /media/dima/DOCUMENT


Пользователь решил продолжить мысль 30 Августа 2013, 01:39:26:


и как мне лечить /dev/sda6     67G   59G  8.0G  89% /media/dima/MEDIA ?

« Последнее редактирование: 30 Августа 2013, 01:39:26 от dborovsky »


Оффлайн
victor00000

и как мне лечить /dev/sda6     67G   59G  8.0G  89% /media/dima/MEDIA ?

линукс не умеет.


  • Печать

Страницы: [1] 2  Все   Вверх

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

Виды ошибок в операционной системе Линукс

Как проверить Линукс на ошибки

Некоторые типичные примеры ошибок в Linux:

1. Ядра: это ошибки, связанные с работой ядра операционной системы Linux. Они могут быть вызваны неправильной работой драйверов оборудования, ошибками в коде ядра или другими проблемами. Такие ошибки могут привести к сбою системы или неожиданному завершению работы.

2. Файловой системы: связаны с работой файловых систем, таких как ext4, Btrfs, NTFS и другие. Они могут проявляться в виде поврежденных файлов, невозможности монтировать диски или других проблем. Ошибки файловой системы могут быть вызваны некорректным отключением диска, ошибками записи или другими причинами.

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

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

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

Как проверить Linux на ошибки

Есть несколько способов проверить Linux на ошибки, в зависимости от того, какой тип ошибки вы хотите проверить.

Проверка журналов системы

Команда dmesg покажет журнал сообщений ядра. Вы можете использовать флаг -T для просмотра временных меток в удобном для чтения формате: dmesg -T

Команда journalctl позволяет просмотреть журнал системных сообщений. Вы можете использовать флаг -p для просмотра сообщений только с определенным уровнем приоритета, например: journalctl -p err -b — покажет только ошибки за последнюю загрузку системы.

Проверка жесткого диска

smartctl позволяет проверить состояние жесткого диска и диагностировать возможные проблемы: smartctl -a /dev/sda. Замените /dev/sda на путь к вашему жесткому диску.

fsck запускает проверку и позволяет исправить ошибки файловой системы на жестком диске: sudo fsck /dev/sda1. Замените /dev/sda1 на путь к вашей файловой системе.

Проверка памяти

memtest86 делает возможным проверки памяти на наличие ошибок: загрузите ее с загрузочного диска или флешки и запустите тест.

stress позволяет нагрузить систему, проверяя стабильность работы компьютера: sudo stress -c 4 -i 2 -m 1 -t 60s. Эта команда запустит тест, в котором будет использоваться 4 ядра CPU, 2 входа/выхода и 1 МБ оперативной памяти в течение 60 секунд.

Проверка сетевого соединения

ping делает возможным проверку связи с другими компьютерами и устройствами в сети: ping google.com.

при помощи traceroute можно определить маршрут, который данные проходят на пути к указанному хосту: traceroute google.com.

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

Содержание

  1. Использование утилиты fsck для исправления ошибок файловой системы в Linux
  2. Когда нужно использовать fsck в Linux
  3. Опции fsck
  4. Как запустить fsck для исправления ошибок файловой системы Linux
  5. Понимание кодов выхода fsck
  6. Исправление ошибок файловой системы Linux
  7. Как запустить fsck в корневом разделе Linux
  8. Принудительная проверка корневой файловой системы с помощью fsck при загрузке системы
  9. Запуск fsck в режиме восстановления
  10. Заключение
  11. Как решить некоторые проблемы в Linux
  12. Вступление
  13. Восстановление загрузчика
  14. Если загрузка длится бесконечно
  15. Что там у меня в жужжащей коробке?
  16. Ох уж эти иксы
  17. Как использовать команду fsck для исправления ошибок файловой системы в Linux
  18. Когда использовать fsck в Linux
  19. Опции программы fsck
  20. Как запустить fsck для исправления ошибок файловой системы Linux
  21. Понимание кодов выхода fsck
  22. Как исправить ошибки файловой системы Linux
  23. Как запустить fsck на корневом разделе Linux
  24. Как принудительно проверить диск с помощью fsck при загрузке системы
  25. Как запустить fsck в режиме восстановления
  26. Заключение
  27. Проверка диска на ошибки в Linux
  28. Проверка диска на колоченные секторы в linux с помощью badblocks
  29. Исправление ошибок файловой системы fsck
  30. Проверка диска на битые секторы в linux с поддержкою smartmontools
  31. Ошибка у вас зафиксированы сломанные пакеты
  32. Как исправить у вас зафиксированы сломанные пакеты?
  33. 1. Обновите списки пакетов
  34. 2. Установите битые пакеты
  35. 3. Очистите лишние пакеты
  36. 4. Используйте dpkg
  37. 5. Разрешите зависимости
  38. Выводы
  39. Оцените статью:
  40. Об авторе
  41. 8 комментариев

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

Оригинал: How to Use ‘fsck’ to Repair File System Errors in Linux
Автор: Marin Todorov
Дата публикации: 1 октября 2018 года
Перевод: А. Кривошей
Дата перевода: июль 2019 г.

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

Это можно выполнить с помощью системной утилиты fsck (file system consistency check). Эта проверка может быть выполнена автоматически во время загрузки или запущена вручную.

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

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

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

Система не загружается.
Файлы в системе поврежденны (часто вы можете увидеть ошибку ввода/вывода).
Подключенный диск (включая флэшки/SD-карты) не работает должным образом.

Опции fsck

Команда Fsck должна быть запущена с привилегиями суперпользователя (root). Вы можете использовать ее с разными аргументами. Их использование зависит от вашего конкретного случая. Ниже вы увидите некоторые из наиболее важных опций:

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

Чтобы запустить fsck, вам нужно убедиться, что раздел, который вы собираетесь проверить, не смонтирован. Для этой статьи я буду использовать мой второй диск /dev/sdb, смонтированный в /mnt.

Вот что произойдет, если я попытаюсь запустить fsck на смонтированном разделе.

Run fsck on Mounted Partition

Чтобы избежать этого, размонтируйте раздел с помощью команды:

Теперь fsck можно запустить безопасно.

Run fsck on Linux Partition

Понимание кодов выхода fsck

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

Исправление ошибок файловой системы Linux

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

Точно так же вы можете запустить команду на всех файловых системах (без корневой):

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

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

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

Мы рассмотрим обе ситуации.

Принудительная проверка корневой файловой системы с помощью fsck при загрузке системы

Это относительно легко выполнить, единственное, что вам нужно сделать, это создать файл с именем forcefsck в корневом разделе вашей системы. Используйте следующую команду:

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

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

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

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

Запуск fsck в режиме восстановления требует еще нескольких шагов. Сначала подготовьте систему к перезагрузке. Остановите все важные службы, такие как MySQL/MariaDB и т. д., а затем перезагрузите компьютер.

Во время загрузки удерживайте нажатой клавишу Shift, чтобы отобразилось меню grub. Выберите «Advanced options».

Grub Advance Options

Затем выберите «Recovery mode».

Select Linux Recovery Mode

В следующем меню выберите «fsck».

Select fsck Utility

Вас спросят, хотите ли вы перемонтировать вашу корневую файловую систему. Выберите «yes».

Confirm Root Filesystem

Вы должны увидеть что-то похожее на это.

Running fsck Filesystem Check

Затем вы можете вернуться к нормальной загрузке, выбрав «Resume».

Select Normal Boot

Заключение

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

Источник

Как решить некоторые проблемы в Linux

f5c391451395137a0676df881fdcd706

Вступление

Как известно, типичные РС-компьютеры собирают из весьма разношерстных компонентов — процессор от одного производителя, видеокарта от другого, звуковая карта от третьего. Темы про принтеры/сканеры/Wi-Fi адаптеры/TV-тюнеры просто кишат повсюду на форумах. Не добавляют оптимизма и вездесущие китайские производители, не особо-то стремящиеся к стандартизации. Перед операционной системой стоит непростая задача заставить работать согласованно все эти устройства.
Предлагаю вашему вниманию небольшой гайд по устранению типичных проблем в Linux.

Восстановление загрузчика

Как правило, загрузчики Linux достаточно дружелюбны в отношении других ОС, и при установке обнаруживают присутствие соседей на других разделах. А вот Windows при установке нагло затирает MBR своим загрузчиком, и прощай, линукс.
Не стоит рвать на себе волосы беспокоиться, для начала нужно подготовить ваш любимый LiveCD с линуксом. Теперь любой уважающий себя дистрибутив имеет свой LiveCD, но мне приглянулся %distrname%. Загружаетесь с диска, входите в терминал с правами рута и вводите следующую команду:

Если загрузка длится бесконечно

Во времена господства Windows 9x при загрузке линукса по экрану пробегали десятки строк, и можно было определить, на чём именно загрузка стопорится. Сейчас в моду вошли Splash-затычки, и определить, почему ваш любимый Ubuntu загружается вот уже 40 минут, невозможно. Для того, что бы отключить сплеш, при загрузке нажмите Shift (или что там предлагает ваш дистрибутив), станьте курсором на первую строку, нажмите E, перейдите курсором к строке, начинающейся на kernel и снова нажмите E. Удалите параметры quiet и splash. Если загрузка стопорится сразу, рекомендуется в эту строку добавить noapic, эта опция скажет ядру не использовать APIC. Далее нажмите Enter и B для начала загрузки.
bbb9b182a6121aa971dfb41c50c8b7d3
В SUSE достаточно ввести в опциях загрузки splash=0.
37e5032ddb09525aff9cae178f9b7dcd
Ну вот, загрузка пошла.
90411a1432a2e5f055d6a452ac58ae0a
Далее ждёте сообщение об ошибке, и гуглите её текст.

Что там у меня в жужжащей коробке?

Bus 001 Device 004: ID 03f0:2c17 Hewlett-Packard
Bus 004 Device 002: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Bus 002 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

Что бы узнать побольше о конкретном устройстве, есть опции -s и -v:

где непонятные символы 001:004 — адрес устройства из вывода команды lspci или lsusb.
Если вы испытываете страх при взгляде на мигающий курсор в терминале, то можно воспользоваться пакетом Hardinfo
9d81d58f42f0f9311ebad412cdce7c6d

Ох уж эти иксы

Довольно часто бывает, что после окончания начальной загрузки вы лицезреете чёрный экран. Что случилось? Возможно, слетел видеодрайвер. Разумеется, для не искушённого пользователя лучше воспользоваться драйверами из репозиториев. Для того, чтобы войти в ваш любимый Gnome или KDE для запуска менеджера пакетов, нажмите Ctrl-Alt-F1, и вы попадёте в терминал. Зайдите с правами рута, и заставьте ваш Xorg заюзать VESA драйвера: команда dpkg-reconfigure xserver-xorg для дебиана/убунту, yast2 для SUSE, а там выбираете VESA-совместимую видеокарту. Или nano /etc/X11/xorg.conf, ищете там слово intel, nvidia и подобное в секции Driver и меняете на vesa. Далее запускаем иксы: kdm или gdm или startxfce4 и т.д. (по вкусу). Если экран и дальше чёрный, прибиваете иксы с помощью Ctrl-Alt-Backspace и смотрите, где кошка зарыта: cat /var/log/Xorg.0.log | grep EE и гуглите текст ошибки.

Для начала поговорим о беспроводной сети. Проверьте наличие сети с помощью команды ifconfig. Естественно, ваша точка доступа должна быть включена и настроена. Если в выводе команды отсутствует интерфейс, названный ath0 или wlan0, то нужно что-то делать. Есть такие замечательные драйвера, как madwifi. Инструкцию по установке можно найти там же. Если они не помогли, вам возможно поможет такая утилита, как NDISwrapper. Этот костыль позволит использовать виндовые драйвера для адаптеров беспроводной сети в линуксе.

Далее попробуем поднять сеть:

sudo ifconfig wlan0 up
sudo iwlist wlan0 scan

Если на первую команду система ругается вроде «Interface Doesn’t Support Scanning», то вы неверно выбрали название интерфейса, или не тот драйвер. Вторая команда запустит поиск беспроводной сети.

Источник

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

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

Это можно сделать с помощью системной утилиты fsck (проверка целостности файловой системы). Эта проверка может выполняться автоматически во время загрузки или запускаться вручную.

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

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

Есть разные сценарии, когда вы захотите запустить fsck. Вот несколько примеров:

Опции программы fsck

Команду fsck необходимо запускать с привилегиями суперпользователя или root. Вы можете использовать её с разными аргументами. Их использование зависит от вашего конкретного случая. Ниже вы увидите некоторые из наиболее важных опций:

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

Чтобы запустить fsck, вам нужно убедиться, что раздел, который вы собираетесь проверить, не смонтирован. Для целей этой статьи я буду использовать свой второй диск /dev/sda, смонтированный в /mnt/disk_d.

Вот что произойдёт, если я попытаюсь запустить fsck, когда раздел смонтирован.

fsck

Если диск не только смонтирован, но и используется (например, диск, смонтированный в корневую файловую систему), то ошибка будет «/dev/nvme0n1 is in use».

Чтобы избежать этого, отключите раздел с помощью следующей команды (замените имя диска на ваше):

Тогда можно будет безопасно запускать fsck.

fsck 2

Понимание кодов выхода fsck

После запуска fsck он вернёт код выхода. Эти коды можно увидеть в руководстве по fsck, запустив:

Описание кодов выхода fsck:

Как исправить ошибки файловой системы Linux

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

Флаг -y означает автоматически отвечать «да» на любые запросы от fsck для исправления ошибки.

Точно так же вы можете запустить то же самое во всех файловых системах (с пропуском корневой файловой системы):

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

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

Мы рассмотрим обе ситуации.

Как принудительно проверить диск с помощью fsck при загрузке системы

Это относительно легко выполнить, единственное, что вам нужно сделать, это создать файл с именем forcefsck в корневом разделе вашей системы. Используйте следующую команду:

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

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

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

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

Для запуска fsck в режиме восстановления требуется ещё несколько шагов. Сначала подготовьте вашу систему к перезагрузке. Остановите все критически важные службы, такие как MySQL/MariaDB и т. д., а затем введите.

Во время загрузки удерживайте нажатой клавишу Shift, чтобы отобразилось меню grub. Выберите Advanced options («Дополнительные параметры»).

Grub Advance Options

Затем выберите Recovery mode («Режим восстановления»).

Select Linux Recovery Mode

В следующем меню выберите «fsck».

Select fsck Utility

Вас спросят, хотите ли вы перемонтировать / файловую систему. Выберите Yes («да»).

Confirm Root Filesystem

Вы должны увидеть нечто подобное.

Running fsck Filesystem Check

Затем вы можете вернуться к нормальной загрузке, выбрав Resume («Возобновить»).

Select Normal Boot

Заключение

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

Источник

Проверка диска на ошибки в Linux

Когда, при загрузке, операционная система сообщает о наличии ошибок в файловой системе на одном из разделов, то заслуживает незамедлительно сделать в linux проверку диска на ошибки. Любой уважающий себя user не должен забывать, что периодическая проверка жестких дисков на битые сектора и проверка атриторен на ошибки является примером здравого смысла. Для проверки разделов жесткого диска советуем использовать утилиту FSCK (file system consistency check), поскольку утилита FSCK предустановленна на основной массе операционных систем семейства Linux.

Примером хорошего тона и здравого резона является периодическая проверка диска на битые сектора (бэд-сектора, badblocks) и обычная испытание диска на ошибки записи и т.п. Разберёмся что такое битые сектора. Бэд-сектор, Повреждённый сектор — сбойный (не читающийся) или не внушающий доверие сектор диска; кластер, содержащий сбойные сектора, или кластер помеченный таковым в текстурах файловой системы операционной системой. Следовательно, если в битом секторе были этые, то их ещё возможно восстановить, пока битых секторов не стало слишком много для конкретного файла. Собрать список битых секторов можно с помощью команды badblocks.

Проверка диска на колоченные секторы в linux с помощью badblocks

Badblocks — стандартная утилита Linuх для проверки (Тестирование Инвентаризация Допинг-контроль Проверка подлинности Служебная проверка Проверка орфографии Проверка на дорогах Камеральная налоговая проверка Выездная налоговая проверка Проверка) на колоченные секторы. Она устанавливается по-умолчанию практически в любой дистрибутив и с ее помощью можно проверить как твердый диск, так и внешний накопитель. Для начала давайте посмотрим, какие накопители подключены к ушей системе и какие на них имеются разделы. Для этого нам нужна еще одна стандартная утилита Linux — fdisk.

Собрать список битых секторов можно с помощью команды badblocks.
Делается это так:

Где /dev/hda1 — это разоблачил диска, что вы хотите проверить.

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

Где ext4 — это тип файловой системы нашего разоблачила диска, а /dev/hda1 — сам раздел диска.

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

Если же в итоге были найдены битые секторы, то нам надо дать указание операционной системе не вписывать в них информацию в будущем. Для этого нам понадобятся утилиты Linux для работы с файловыми системами:

e2fsck. Когда мы будем исправлять раздел с файловыми система Linux ( ext2,ext3,ext4).
fsck. Если мы станем исправлять файловую систему, отличную от ext.

Исправление ошибок файловой системы fsck

На основной массе систем, Fsck запускается во время загрузки, если определенные условия. Код выхода ворачивается, когда несколько файловых систем которая проверяется побитовое ИЛИ (OR) для каждой файловой системы, какая проверяется. В действительности, Fsck — это просто фронт-энд для различных проверочных утилит для файловых систем (fsck.fstype), какие доступны на Linux. Файловая система (множество элементов, находящихся в отношениях и связях друг с другом, которое образует определённую целостность, единство) для конкретных проверок ищет сначала в /sbin, а потом в /etc/fs и /etc/, и, наконец в директориях, перечисленных в переменной PATH (среда переменного кружения).

Запуск и исполнение FSCK на смонтированной файловой системе может привести к повреждению данных, поэтому применяйте данный материал на свой страх и риск.

Автор не несет ответственности за любой вред, который вы можете причинить. Fsck расшифровывается как «File System ChecK», то есть «испытание файловой системы» и используется для проверки и исправления файловых систем в Linux. В качестве верифицируемой ФС может быть задан раздел (например, /dev/sda1 или /dev/sda8), точка монтирования (/, /home, /usr), или же точна тома или UUID (например, UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd или LABEL=root).

Как обычно fsck пытается параллельно проверять файловые системы на нескольких разделах для уменьшения времени, нужного для проверки всех файловых систем. Arch Linux при загрузке автоматически будет бросать fsck для проверки систем, если выполняется одно из требований (например, 180 суток работы системы без проверки разделов или 30 монтирований оных). Обычно нет необходимости переопределять проем между проверками.

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

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

И сейчас запускаем утилиту проверки файловой системы и исправления ошибок на ней командой

В том варианте, когда не представляется возможным размонтировать файловую систему, к примеру, когда нужно испробовать корневую файловую систему (/). Перезагрузиться в однопользовательском режиме (команда reboot, и при загрузке необходимо передать ядру параметр single). Перемонтировать корневую файловую систему в режиме «лишь чтение» командой.

И сейчас проверить файловую систему

Проверка диска на битые секторы в linux с поддержкою smartmontools

Источник

Ошибка у вас зафиксированы сломанные пакеты

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

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

Как исправить у вас зафиксированы сломанные пакеты?

Snimok ekrana ot 2020 08 11 15 55 00

1. Обновите списки пакетов

Возможно вам не удалось установить нужные пакеты потому что списки репозиториев устарели, и там ещё не было нужных пакетов. Для обновления списка пакетов выполните:

Snimok ekrana ot 2020 08 11 15 55 32

2. Установите битые пакеты

После обновления списка пакетов из репозиториев может помочь установка битых пакетов. Этот шаг поможет особенно если вы устанавливали пакет с помощью dpkg и теперь нужно доустановить его зависимости с помощью пакетного менеджера. Для этого есть специальная команда:

Snimok ekrana ot 2020 08 11 15 55 44

3. Очистите лишние пакеты

Установке могут мешать лишние пакеты, которые больше не нужны в системе. Для их удаления выполните:

sudo apt autoremove

Утилита отобразит список всех битых пакетов, которые не установлены, вы можете попытаться их удалить с помощью команды:

4. Используйте dpkg

Вместо apt вы можете использовать команду dpkg чтобы посмотреть какие пакеты вызывают проблему. Просто выполните:

Команда покажет проблемные пакеты, а потом вы сможете их удалить той же командой:

5. Разрешите зависимости

Битые пакеты чаще всего появляются из-за того, что пакетный менеджер не может найти для них нужные зависимости. Если вам всё же очень нужно установить такой пакет, просто разрешите эти зависимости. Для этого можно скачать и установить их вручную или если вы уверенны, что зависимости в пакете указаны неверно, можно скачать его распаковать и удалить мешающие зависимости. Подробнее об этом читайте в этой статье.

Выводы

В этой небольшой статье мы рассмотрели что делать если в вашей системе появились битые пакеты и как их исправить. Здесь решение проблемы очень сильно зависит от вашей ситуации, но здесь приведены основные варианты решения, которые должны помочь вернуть пакетный менеджер к работе. Иногда рекомендуют удалить пакет вручную из базы данных dpkg /var/lib/dpkg/status, однако лучше этого не делать и найти путь решить проблему по другому, ручное редактирование подобных файлов может создать ещё больше проблем.

Нет похожих записей

Оцените статью:

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

8 комментариев

Вот почему я использую Fedora с DNF, за 5 лет использования даже не припомню случаев некорректной работы DNF. APT в Дебиан подобных дистрибутивах это сплошное разочарование.

Если бы все так было просто с зависимостями, что их через форсе принудительно установить, то это был бы не Линукс. Ниче, что система после таких манипуляций не работает? После ваших советов, новичек «уложит» систему точно.

Согласен. С Fedora бубен уже покрылся пылью. Чего все с этой Ubunto’й носятся.

Ничего не помогло. Постоянно пишет, что сломаны пакеты. к примеру хочу установить: apt-get install mariadb-server. Делаю как вы пишите.
Следующие пакеты имеют неудовлетворённые зависимости:
mariadb-server : Зависит: mariadb-server-10.1 (>= 1:10.1.29-6) но он не будет установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
root@user-All-Series:

# sudo apt clean
root@user-All-Series:

# sudo apt autoremove
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Обновлено 0 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
root@user-All-Series:

Источник

  • Ubuntu проверка файловой системы на ошибки при загрузке
  • Ubuntu проверка пакетов на ошибки
  • Ubuntu проверка диска на ошибки при загрузке
  • Ubuntu проверить системный диск на ошибки
  • Ubuntu посмотреть системные ошибки