Ремонт файловой системы в убунту

Борьба с фрагментацией

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

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

Основы работы с 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. Перейдем к делу.

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

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

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

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

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

Проверка HDD на бэд-блоки на Linux с помощью GParted

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

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

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

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

Различные файловые системы

Linux поддерживает несколько типов файловых систем. Наиболее
важные из них рассмотрены ниже.

minix

Считается самой старой и самой надежной файловой системой,
но достаточно ограниченной в своих возможностях (у файлов отсутствуют
некоторые временные параметры, длина имени файла ограничена 30-ю символами)
и доступных объемах (максимум 64 Мб на одну файловую систему).

xia

Модифицированная версия системы minix, в которой увеличена
максимальная длина имени файла и размер файловой системы, хотя она
не pеализует никаких новых возможностей.

ext2

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

ext

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

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

msdos

Обеспечивается совместимость с системой MS-DOS (а также
OS/2 и Windows NT) по файловым системам FAT12, FAT16, FAT32 и VFAT.

ntfs

Основная файловая система Windows NT.

usmdos

Расширяет возможности драйвера файловой системы MS-DOS
для Linux таким образом, что при работе в Linux, имеется
возможность работы с именами файлов нестандартной длины, просмотра
прав доступа к файлу, ссылок, имени пользователя, которому
принадлежит файл, а также оперирование с файлами устройств. Это
позволяет использовать обычную систему MS-DOS, так, как если бы
это была система Linux. Таким образом, исключается необходимость
создания отдельного раздела для Linux.

iso9660

Стандартная файловая система для CD-ROM. Довольно
популярное развитие стандарта CD-ROM, выполненное Rock Ridge’ем,
которое обеспечивает автоматическую поддержку имен файлов
нестандартной длины.

nfs

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

hpfs и hpfs386

Файловые системы OS/2.

hfs и hfs+

Файловые системы Apple MacOS.

dfs

Файловая система для дисков DVD.

sysv

Файловые системы SystemV/386, Coherent и Xenix.

Есть поддержка множества других файловых систем, например, Atari или
Amiga. На текущий момент Linux поддерживает порядка 50 файловых систем. Такое
возможно благодаря применению технологии IFS (Installable File System),
которая позволяет подключать новые системы с помощью драйверов. Нечто
подобное сейчас пытается сделать Windows NT, но ее успехи пока незначительны.
Набор используемых файловых систем зависит от конкретной ситуации. Для
Linux лучшим выбором является ext2. Если Вам нужна совместимость с другими
системами, ее можно организовать.

Также существует файловая система proc, которая обычно
доступна через каталог . В действительности,
она не является файловой системой, хотя по ее структуре сложно обнаружить
разницу. Эта система позволяет получить доступ к определенным структурам
данных ядра, к таким, как список процессов (process list, отсюда и название)
или сведения об аппаратуре. Все эти структуры выглядят как файловая система
из каталогов и обычных текстовых файлов и ими можно оперировать обычными
средствами работы с файловой системой. Например, для получения списка всех
процессов, используется следующая команда:

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

Общая презентация

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

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

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

В файл журнала системы делают гораздо реже , используя FSCK .

Управление очисткой данных ZFS

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

Явная очистка данных ZFS

Наиболее простым способом проверки целостности данных является инициирование явной очистки всех данных в пуле. Эта операция позволяет проследить все данные в пуле и проверить возможность чтения блоков на определенный момент времени. Очистка выполняется с той скоростью, с которой это позволяют соответствующие устройства, несмотря на то, что приоритет ввода/вывода остается ниже, чем в нормальном режиме работы. Эта операция может негативно повлиять на производительность, несмотря на то, что файловая система остается доступной и обеспечивает в процессе очистки почти такой же отклик. Для инициирования явной очистки используется команда zpool scrub. Пример:

# zpool scrub tank

Информацию по текущей очистке можно вывести при помощи команды zpool status. Пример:

# zpool status -v tank
  pool: tank
 state: ONLINE
 scrub: scrub completed after 0h7m with 0 errors on Tue Sep  1 09:20:52 2009
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0

errors: No known data errors

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

Выполняемую очистку можно остановить при помощи параметра -s. Пример:

# zpool scrub -s tank

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

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

Для получения дополнительной информации об интерпретации выходных данных команды zpool status см. Запрос состояния пула устройств хранения данных ZFS.

Очистка данных ZFS и перенос актуальных данных

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

Для получения дополнительной информации о переносе актуальных данных см. Просмотр статуса переноса актуальных данных.

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

fsck / dev / sda2

Эта команда попытается проверить / dev / sda2, и сообщать обо всех обнаруженных ошибках.

fsck -y / dev / sda2

Проверьте / dev / sda2и попытайтесь автоматически исправить все обнаруженные ошибки.

fsck -A

Проверьте все настроенные файловые системы. fsck обработает файл / etc / fstab и проверьте все перечисленные там файловые системы. Системы будут проверяться в порядке их значение, как указано в fstab файл. Системы со значением прохода будут пропущены; система со значением прохода 1 будут перечислены первыми, а остальные системы будут проверяться в порядке возрастания их проходного значения.

кот / etc / fstab

Просмотреть все настроенные файловые системы. Результат будет напоминать следующее:

# / etc / fstab: информация о статической файловой системе. # # Используйте ’blkid’ для печати универсального # уникального идентификатора устройства; это можно использовать с UUID = как более надежный способ присвоения имен устройствам #, который работает, даже если диски добавляются и удаляются. См. Справочную страницу fstab. # # # / был на / dev / sda5 во время установки UUID = c3a6839b-00f1-4cf4-8b00-e61fbcdba6c0 / ext4 errors = remount-ro 0 1 # / home был на / dev / sda7 во время установки UUID = afceabb6-a3f4-41c2-9ae6 -0393d85c7c70 / home ext4 defaults 0 2 # swap был включен / dev / sda6 во время установки UUID = c6ca8b8f-0b46-4c06-a934-a9dd3525faa7 none swap sw 0 0 # / dev / sdb1 / media / usb0 auto rw, user, noauto 0 0

ls /sbin/fsck.*

Просмотреть все файловые системы, которые можно проверить с помощью fsck. Файловые системы появятся как расширения к fsck. * файлы; например:

fsck.cramfs fsck.ext3 fsck.ext4dev fsck.minix fsck.nfs fsck.reiserfs fsck.xfs fsck.ext2 fsck.ext4 fsck.jfs fsck.msdos fsck.reiser4 fsck.vfat

fsck -n / dev / sda2

Проверьте / dev / sda2 на наличие ошибок, но не пытайтесь их исправить; вместо этого выводите все ошибки на стандартный вывод.

fsck -f / dev / sda2

Обычно, fsck пропустит части файловой системы, помеченные как «чистые», что означает, что все ожидающие записи были успешно выполнены. В -f («force») опция указывает, что fsck следует проверять части файловой системы, даже если они не «грязные». Результат — менее эффективная, но более тщательная проверка.

fsck -t ext2 / dev / fd0

Эта команда проверит ext2 файловая система на устройстве гибких дискет / dev / fd0.

Синтаксис и основные опции fsck

У команды fsck следующий синтаксис:

fsck  --  

Основные параметры:

Опция Описание
-A Проверяет все ФС
Показывает статус выполнения. Здесь fd – дескриптор файла при отображении через графический интерфейс
-l Блокирует устройство для исключительного доступа
-M Запрещает проверять примонтированные ФС
-N Показывает имитацию выполнения, без запуска реальной проверки
-P Проверять вместе с корневой ФС
-R Пропускает проверку корневой ФС. Может использоваться только совместно с опцией -A
-r Выводит статистику для каждого проверенного устройства
-T Не показывать заголовок при запуске
-t <тип> Задаёт ФС для проверки. Можно задавать несколько ФС, перечисляя через запятую
-V Выводит подробное описание выполняемых действий

Кроме основных опций для fsck существуют и специфические, зависящие от выполняемой задачи и/или ФС. Об этом более подробно можно прочитать в соответствующих страницах интерактивного руководства, используя команду man fsck. В содержании основного руководства для утилиты (в разделе «SEE ALSO») есть ссылки на другие страницы, например fstab(5), mkfs(8), fsck.ext2(8), fsck.ext3(8) и т. д. Информацию по этим ссылкам можно просматривать выполняя команду man с соответствующими параметрами, например man fsck.ext3.

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

Опция Описание
-a Устаревшая опция. Указывает исправлять все найденные ошибки без одобрения пользователя.
-r Применяется для файловых систем ext. Указывает fsck спрашивать пользователя перед исправлением каждой ошибки
-n Выполняет только проверку ФС, без исправления ошибок. Используется также для получения информации о ФС
-c Применяется для файловых систем ext3/4. Помечает все повреждённые блоки для исключения последующей записи в них
-f Принудительно проверяет ФС, даже если ФС исправна
-y Автоматически подтверждает запросы к пользователю
-b Задаёт адрес суперблока
-p Автоматически исправлять найденные ошибки. Заменяет устаревшую опцию -a

Ошибку файловой системы 2147219196

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

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

Как получить доступ к папке WindowsApps Windows 10

Суть текущего способа в том, чтобы открыть доступ к папке WindowsApp пользователю. Другими словами нам необходимо завладеть правами владельца папки WindowsApps. Что делать когда пишет Вам отказано в доступе к этой папке Windows 10 мы уже рассматривали на примере именно этой папки.

  1. Первым делом включаем отображение скрытых файлов и папок.
  2. Открываем проводник и переходим по пути: C:\Program Files.
  3. В текущем расположении нажимаем правой кнопкой мыши на папку WindowsApps и в контекстном меню выбираем пункт Свойства.
  4. В открывшимся окне выбираем вкладку Безопасность и дальше Дополнительно.
  5. В окне дополнительных параметров безопасности нажимаем кнопку Изменить.
  6. В новом окне вводим имя учетной записи администратора и нажимаем кнопку Проверить имена > ОК.

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

Перерегистрация приложений в Windows 10

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

Запускаем Windows PowerShell от имени администратора с помощью поиска Win+Q. И выполняем ниже предложенные команды по порядку.

  • Get-AppxPackage -AllUsers| Foreach {Add-AppxPackage -DisableDevelopmentMode -Register “$($_.InstallLocation)\AppXManifest.xml” -Verbose }
  • reg delete “HKCU\Software\Microsoft\Windows NT\CurrentVersion\TileDataModel\Migration\TileStore” /va /f
  • get-appxpackage -packageType bundle |% {add-appxpackage -register -disabledevelopmentmode ($_.installlocation + “\appxmetadata\appxbundlemanifest.xml”)}
  • $bundlefamilies = (get-appxpackage -packagetype Bundle).packagefamilyname

Дождитесь завершения операции. Выполнение некоторых команд может занять длительное время. После выполнения текущих команд перезагружаем компьютер. Возможно Вам придется заново зайти в Microsoft Store и установить приложение фотографии.

Вернуть компьютер в исходное состояние

Перед использование текущего способа советуем проверить систему на обновления и обновиться до последней версии операционной системы Windows 10. Это также может решить текущую проблему.

Самый наверное надежный способ решения проблемы с ошибкой файловой системы. Операционная система Windows 10 позволяет быстро вернуть компьютер в исходное состояние. Более подробно можно ознакомиться с этим вариантом в инструкции как сделать сброс настроек на Windows 10.

  1. Открываем Пуск > Параметры и переходим в раздел Обновление и безопасность > Восстановление.
  2. В текущем местоположении нажмите кнопку Начать.

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

Выводы

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

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

Проверка HDD на бэд-блоки программой badblocks.

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

Но для начала воспользуемся ещё одной стандартной утилитой для просмотра подключенных накопители к нашей системе — fdisk.

-l — показать список разделов и выйти.

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

  • -v — вывод подробной информации о результатах проверки.
  • -s — отображать в правильном порядке ход проверки блоков.
  • /dev/sda1 — раздел, который мы хотим проверить на битые секторы.
  • > ~/badblocks.txt — выводим результат выполнения команды в файл badblocks.txt расположенный в корневом каталоги пользователя.

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

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

Вводим следующие команды:

Или, если у нас файловая система не ext:

Если после ввода данных команд вы получаете что-то вроде этого:

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

В конце файла дописываем следующие строки:

Теперь перезагружаем ПК:

Сравнение с Windows

Сравнение с Windows от версии NT до версии

Программа, похожая на fsck, в Windows — autochk.exe .

В ОС Windows , то менеджер сеансов (smss.exe) вызывает autochk.exe .

Autochk.exe, в свою очередь, вызывает chkdsk.exe для NTFS (это эквивалент e2fsck для ext2 ). NTFS основана на структуре размещения файлов, основанной на растровых изображениях / экстентах, а не на индексных дескрипторах .

chkdsk.exe проверяет и исправляет файловую систему NTFS за 4 шага:

  • Проверка MFT (главной таблицы файлов) и файлов
  • Проверка индексов
  • Проверка дескрипторов безопасности
  • В конце концов, если требуется, он проверяет сектора

Сравнение с версиями Windows 2000 года и ранее

В более старых версиях Windows ( , и Millennium ) утилиты chkdsk и scandisk выполняли функции, эквивалентные fsck в Unix.

Видеть :

  • Скандиск
  • (in) Проверка системных файлов

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

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

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

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

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

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

Метеопараметром -l мы говорим утилите fdisk, что нам нужно показать список разделов и выйти. Теперь, когда мы знаем, какие разделы у нас есть, мы можем проверить их на битые секторы. Для этого мы станем использовать утилиту badblocks следующим образом:

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

Примеры использования fsck

Для самой типичной ситуации, характерной для случаев, когда нужно восстановить (а точнее «починить») ФС, например на устройстве /dev/sdb2, следует воспользоваться командой:

$ sudo fsck -y /dev/sdb2

Здесь опция -y необходима, т. к. при её отсутствии придётся слишком часто давать подтверждение. Следующая команда позволит произвести принудительную проверку ФС, даже в том случае, если она исправна:

$ sudo fsck -fy /dev/sdb2

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

$ sudo fsck -c /dev/sdb2

Работу файловыми системами нужно проводить, когда они отмонтированны от разделов. Однако, если возникает ситуация, когда нужно всё же произвести проверку на примонтированных ФС, то перед тем как использовать команду fsck с соответствующей опцией, нужно сначала перемонтировать нужную ФС в режиме «только для чтения»:

$ sudo mount remount,ro /dev/sdb2
$ sudo fsck -fy /dev/sdb2

Для указания, какую ФС использовать для раздела:

$ sudo fsck -t ext4 -y /dev/sdb2

Если fsck не справляется с исправлением/починкой ФС (что случается очень редко), то это может быть из-за повреждённого суперблока ФС. Его также можно восстановить, поскольку для суперблоков создаются их резервные копии. Но сначала нужно узнать, по каким адресам эти копии записывались, а затем попытаться восстановить суперблок из одной их резервных копий:

$ sudo fdisk -l
$ sudo mkfs -t ext4 -n /dev/xvdb1
$ sudo fsck -b 163840 /dev/xvdb1

Команда fdisk -l упомянута в данном примере для наглядности того, что сначала нужно представлять, с каким устройством работать, т. к. она выводит список (в данном выводе опущен) доступных разделов. Команда mkfs предназначена для создания ФС, но с опцией -n её можно использовать для получения информации о ФС, в том числе и о расположении суперблоков. Следует следить за тем, чтобы ключом -t для mkfs задавалась соответствующая фактическому состоянию файловая система, в данном случае ext4.

Типы файловых систем Linux — описание и обзор

Файловые системы условно делятся на два типа

  1. Журналируемые. Имеют в своем арсенале специальный файл, который хранит историю действий (лог) и план дальнейшей проверки. Характерной особенностью является устойчивость к сбоям и большая гарантия на сохранение целостности данных.
  2. Не журналируемые. Отсутствует файла с логом. Работают более быстро. Не гарантируют целостность и сохранность данных. Особенно это проблема встает в случае сбоев, когда некоторые действия могли редактировать файл и прервать изменения в неправильном месте.

Узнать файловую систему в ОС Linux

file -s

Самые популярными типами ФС в Linux являются:

  1. Ext4 (считается стандартом для Linux)
  2. Ext2
  3. ReiserFS
  4. XFS
  5. SWAP

В Windows поддерживаются свои ФС: NTFS, FAT32. Линукс также их поддерживает, а вот Windows не поддерживает линуксовые системы.

1 Extfs (Extended File System). Дата появления на свет апреле 1992 года. Самая первая файловая система разработанная специально для ОС на ядре Linux. Наибольший возможный размер раздела файла — 2 Гб. Максимальная длина имени файла — 255 символов. Является прародителем популярных ФС Ext2, Ext3.

2 Ext2 (second extended file system). Дата создания 1993 год. Является не журналируемой файловой системой. Была популярна до 2000-х. Имеет ряд ограничений на работу с большими файлами, зато является и самой быстрой, поэтому её часто используют в различных сравнительных тестах как эталонную.

3 Ext3 (third extended filesystem). Дата выхода 2001 год. Считается революционной, поскольку относится к поколению журналируемых систем. В настоящее время файловая система Ext3 поддерживает файлы размером до 1 ТБайт. Используется в некоторых случаях до сих пор. Разделы Ext3 могут читать Windows-программы (например, Total Commander). Разработчик Стивен Твид.

4 Ext4 (дата выхода 2006 год). Является стандартом во всех современных Linux (а сейчас 2019 год). Хорошо защищена от проблем фрагментации и оптимизирована для работы с большими файлами. Максимальный размер файловой системы не может превышать 16 ТБайт.

5 ReiserFS (или Reiser3). Создана уже после ext3 в качестве ее альтернативы. Журналируемая система. Поддерживает большую производительность. Позволяет изменять размеры разделов во время работы.

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

6 Reiser4 (дата создания 2004 году). Система включает себя такие передовые технологии как транзакции, задержка выделения пространства, а так же встроенная возможность кодирования и сжатия данных.

7 XFS (журналируемая файловая система). Это производительная файловая система, разработанная в Silicon Graphics для свой операционной системы еще в 2001 году. Позволяла использовать диски 2 ТБайт. Существует возможность потери данных во время записи при сбое питания, так как большое количество буферов хранится в памяти.

8 Btrfs или B-Tree File System. Журналируемая файловая система. Совершенно новоиспеченная файловая система, которая сосредоточена на отказоустойчивости, свободности администрирования и восстановления данных. К её особенностям относятся хранение индекса файлов в так называемых «B-деревьях» – иерархических структурах, которые максимально оптимально используют ресурсы оперативной памяти за счёт небольшой глубины вложения данных.

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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: