Корректирующие (или помехоустойчивые) коды — это коды, которые могут обнаружить и, если повезёт, исправить ошибки, возникшие при передаче данных. Даже если вы ничего не слышали о них, то наверняка встречали аббревиатуру CRC в списке файлов в ZIP-архиве или даже надпись ECC на планке памяти. А кто-то, может быть, задумывался, как так получается, что если поцарапать DVD-диск, то данные всё равно считываются без ошибок. Конечно, если царапина не в сантиметр толщиной и не разрезала диск пополам.
Как нетрудно догадаться, ко всему этому причастны корректирующие коды. Собственно, ECC так и расшифровывается — «error-correcting code», то есть «код, исправляющий ошибки». А CRC — это один из алгоритмов, обнаруживающих ошибки в данных. Исправить он их не может, но часто это и не требуется.
Давайте же разберёмся, что это такое.
Для понимания статьи не нужны никакие специальные знания. Достаточно лишь понимать, что такое вектор и матрица, как они перемножаются и как с их помощью записать систему линейных уравнений.
Внимание! Много текста и мало картинок. Я постарался всё объяснить, но без карандаша и бумаги текст может показаться немного запутанным.
Каналы с ошибкой
Разберёмся сперва, откуда вообще берутся ошибки, которые мы собираемся исправлять. Перед нами стоит следующая задача. Нужно передать несколько блоков данных, каждый из которых кодируется цепочкой двоичных цифр. Получившаяся последовательность нулей и единиц передаётся через канал связи. Но так сложилось, что реальные каналы связи часто подвержены ошибкам. Вообще говоря, ошибки могут быть разных видов — может появиться лишняя цифра или какая-то пропасть. Но мы будем рассматривать только ситуации, когда в канале возможны лишь замены нуля на единицу и наоборот. Причём опять же для простоты будем считать такие замены равновероятными.
Ошибка — это маловероятное событие (а иначе зачем нам такой канал вообще, где одни ошибки?), а значит, вероятность двух ошибок меньше, а трёх уже совсем мала. Мы можем выбрать для себя некоторую приемлемую величину вероятности, очертив границу «это уж точно невозможно». Это позволит нам сказать, что в канале возможно не более, чем ошибок. Это будет характеристикой канала связи.
Для простоты введём следующие обозначения. Пусть данные, которые мы хотим передавать, — это двоичные последовательности фиксированной длины. Чтобы не запутаться в нулях и единицах, будем иногда обозначать их заглавными латинскими буквами (,
,
, …). Что именно передавать, в общем-то неважно, просто с буквами в первое время будет проще работать.
Кодирование и декодирование будем обозначать прямой стрелкой (), а передачу по каналу связи — волнистой стрелкой (
). Ошибки при передаче будем подчёркивать.
Например, пусть мы хотим передавать только сообщения и
. В простейшем случае их можно закодировать нулём и единицей (сюрприз!):
Передача по каналу, в котором возникла ошибка будет записана так:
Цепочки нулей и единиц, которыми мы кодируем буквы, будем называть кодовыми словами. В данном простом случае кодовые слова — это и
.
Код с утроением
Давайте попробуем построить какой-то корректирующий код. Что мы обычно делаем, когда кто-то нас не расслышал? Повторяем дважды:
Правда, это нам не очень поможет. В самом деле, рассмотрим канал с одной возможной ошибкой:
Какие выводы мы можем сделать, когда получили ? Понятно, что раз у нас не две одинаковые цифры, то была ошибка, но вот в каком разряде? Может, в первом, и была передана буква
. А может, во втором, и была передана
.
То есть, получившийся код обнаруживает, но не исправляет ошибки. Ну, тоже неплохо, в общем-то. Но мы пойдём дальше и будем теперь утраивать цифры.
Проверим в деле:
Получили . Тут у нас есть две возможности: либо это
и было две ошибки (в крайних цифрах), либо это
и была одна ошибка. Вообще, вероятность одной ошибки выше вероятности двух ошибок, так что самым правдоподобным будет предположение о том, что передавалась именно буква
. Хотя правдоподобное — не значит истинное, поэтому рядом и стоит вопросительный знак.
Если в канале связи возможна максимум одна ошибка, то первое предположение о двух ошибках становится невозможным и остаётся только один вариант — передавалась буква .
Про такой код говорят, что он исправляет одну ошибку. Две он тоже обнаружит, но исправит уже неверно.
Это, конечно, самый простой код. Кодировать легко, да и декодировать тоже. Ноликов больше — значит передавался ноль, единичек — значит единица.
Если немного подумать, то можно предложить код исправляющий две ошибки. Это будет код, в котором мы повторяем одиночный бит 5 раз.
Расстояния между кодами
Рассмотрим поподробнее код с утроением. Итак, мы получили работающий код, который исправляет одиночную ошибку. Но за всё хорошее надо платить: он кодирует один бит тремя. Не очень-то и эффективно.
И вообще, почему этот код работает? Почему нужно именно утраивать для устранения одной ошибки? Наверняка это всё неспроста.
Давайте подумаем, как этот код работает. Интуитивно всё понятно. Нолики и единички — это две непохожие последовательности. Так как они достаточно длинные, то одиночная ошибка не сильно портит их вид.
Пусть мы передавали , а получили
. Видно, что эта цепочка больше похожа на исходные
, чем на
. А так как других кодовых слов у нас нет, то и выбор очевиден.
Но что значит «больше похоже»? А всё просто! Чем больше символов у двух цепочек совпадает, тем больше их схожесть. Если почти все символы отличаются, то цепочки «далеки» друг от друга.
Можно ввести некоторую величину , равную количеству различающихся цифр в соответствующих разрядах цепочек
и
. Эту величину называют расстоянием Хэмминга. Чем больше это расстояние, тем меньше похожи две цепочки.
Например, , так как все цифры в соответствующих позициях равны, а вот
.
Расстояние Хэмминга называют расстоянием неспроста. Ведь в самом деле, что такое расстояние? Это какая-то характеристика, указывающая на близость двух точек, и для которой верны утверждения:
- Расстояние между точками неотрицательно и равно нулю только, если точки совпадают.
- Расстояние в обе стороны одинаково.
- Путь через третью точку не короче, чем прямой путь.
Достаточно разумные требования.
Математически это можно записать так (нам это не пригодится, просто ради интереса посмотрим):
.
Предлагаю читателю самому убедиться, что для расстояния Хэмминга эти свойства выполняются.
Окрестности
Таким образом, разные цепочки мы считаем точками в каком-то воображаемом пространстве, и теперь мы умеем находить расстояния между ними. Правда, если попытаться сколько нибудь длинные цепочки расставить на листе бумаги так, чтобы расстояния Хэмминга совпадали с расстояниями на плоскости, мы можем потерпеть неудачу. Но не нужно переживать. Всё же это особое пространство со своими законами. А слова вроде «расстояния» лишь помогают нам рассуждать.
Пойдём дальше. Раз мы заговорили о расстоянии, то можно ввести такое понятие как окрестность. Как известно, окрестность какой-то точки — это шар определённого радиуса с центром в ней. Шар? Какие ещё шары! Мы же о кодах говорим.
Но всё просто. Ведь что такое шар? Это множество всех точек, которые находятся от данной не дальше, чем некоторое расстояние, называемое радиусом. Точки у нас есть, расстояние у нас есть, теперь есть и шары.
Так, скажем, окрестность кодового слова радиуса 1 — это все коды, находящиеся на расстоянии не больше, чем 1 от него, то есть отличающиеся не больше, чем в одном разряде. То есть это коды:
Да, вот так странно выглядят шары в пространстве кодов.
А теперь посмотрите. Это же все возможные коды, которые мы получим в канале в одной ошибкой, если отправим ! Это следует прямо из определения окрестности. Ведь каждая ошибка заставляет цепочку измениться только в одном разряде, а значит удаляет её на расстояние 1 от исходного сообщения.
Аналогично, если в канале возможны две ошибки, то отправив некоторое сообщение , мы получим один из кодов, который принадлежит окрестности
радиусом 2.
Тогда всю нашу систему декодирования можно построить так. Мы получаем какую-то цепочку нулей и единиц (точку в нашей новой терминологии) и смотрим, в окрестность какого кодового слова она попадает.
Сколько ошибок может исправить код?
Чтобы код мог исправлять больше ошибок, окрестности должны быть как можно шире. С другой стороны, они не должны пересекаться. Иначе если точка попадёт в область пересечения, непонятно будет, к какой окрестности её отнести.
В коде с удвоением между кодовыми словами и
расстояние равно 2 (оба разряда различаются). А значит, если мы построим вокруг них шары радиуса 1, то они будут касаться. Это значит, точка касания будет принадлежать обоим шарам и непонятно будет, к какому из них её отнести.

Именно это мы и получали. Мы видели, что есть ошибка, но не могли её исправить.
Что интересно, точек касания в нашем странном пространстве у шаров две — это коды и
. Расстояния от них до центров равны единице. Конечно же, в обычно геометрии такое невозможно, поэтому рисунки — это просто условность для более удобного рассуждения.
В случае кода с утроением, между шарами будет зазор.

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

Этот очевидный результат на самом деле очень важен. Он означает, что код с минимальным кодовым расстоянием будет успешно работать в канале с
ошибками, если выполняется соотношение
Полученное равенство позволяет легко определить, сколько ошибок будет исправлять тот или иной код. А сколько код ошибок может обнаружить? Рассуждения такие же. Код обнаруживает ошибок, если в результате не получится другое кодовое слово. То есть, кодовые слова не должны находиться в окрестностях радиуса
других кодовых слов. Математически это записывается так:
Рассмотрим пример. Пусть мы кодируем 4 буквы следующим образом.
Чтобы найти минимальное расстояние между различными кодовыми словами, построим таблицу попарных расстояний.
| A | B | C | D | |
|---|---|---|---|---|
| A | — | 3 | 3 | 4 |
| B | 3 | — | 4 | 3 |
| C | 3 | 4 | — | 3 |
| D | 4 | 3 | 3 | — |
Минимальное расстояние , а значит
, откуда получаем, что такой код может исправить до
ошибок. Обнаруживает же он две ошибки.
Рассмотрим пример:
Чтобы декодировать полученное сообщение, посмотрим, к какому символу оно ближе всего.
Минимальное расстояние получилось для символа , значит вероятнее всего передавался именно он:
Итак, этот код исправляет одну ошибку, как и код с утроением. Но он более эффективен, так как в отличие от кода с утроением здесь кодируется уже 4 символа.
Таким образом, основная проблема при построении такого рода кодов — так расположить кодовые слова, чтобы они были как можно дальше друг от друга, и их было побольше.
Для декодирования можно было бы использовать таблицу, в которой указывались бы все возможные принимаемые сообщения, и кодовые слова, которым они соответствуют. Но такая таблица получилась бы очень большой. Даже для нашего маленького кода, который выдаёт 5 двоичных цифр, получилось бы варианта возможных принимаемых сообщений. Для более сложных кодов таблица будет значительно больше.
Попробуем придумать способ коррекции сообщения без таблиц. Мы всегда сможем найти полезное применение освободившейся памяти.
Интерлюдия: поле GF(2)
Для изложения дальнейшего материала нам потребуются матрицы. А при умножении матриц, как известно мы складываем и перемножаем числа. И тут есть проблема. Если с умножением всё более-менее хорошо, то как быть со сложением? Из-за того, что мы работаем только с одиночными двоичными цифрами, непонятно, как сложить 1 и 1, чтобы снова получилась одна двоичная цифра. Значит вместо классического сложения нужно использовать какое-то другое.
Введём операцию сложения как сложение по модулю 2 (хорошо известный программистам XOR):
Умножение будем выполнять как обычно. Эти операции на самом деле введены не абы как, а чтобы получилась система, которая в математике называется полем. Поле — это просто множество (в нашем случае из 0 и 1), на котором так определены сложение и умножение, чтобы основные алгебраические законы сохранялись. Например, чтобы основные идеи, касающиеся матриц и систем уравнений по-прежнему были верны. А вычитание и деление мы можем ввести как обратные операции.
Множество из двух элементов с операциями, введёнными так, как мы это сделали, называется полем Галуа GF(2). GF — это Galois field, а 2 — количество элементов.
У сложения есть несколько очень полезных свойств, которыми мы будем пользоваться в дальнейшем.
Это свойство прямо следует из определения.
А в этом можно убедиться, прибавив к обеим частям равенства. Это свойство, в частности означает, что мы можем переносить в уравнении слагаемые в другую сторону без смены знака.
Проверяем корректность
Вернёмся к коду с утроением.
Для начала просто решим задачу проверки, были ли вообще ошибки при передаче. Как видно, из самого кода, принятое сообщение будет кодовым словом только тогда, когда все три цифры равны между собой.
Пусть мы приняли вектор-строку из трёх цифр. (Стрелочки над векторами рисовать не будем, так как у нас почти всё — это вектора или матрицы.)
Математически равенство всех трёх цифр можно записать как систему:
Или, если воспользоваться свойствами сложения в GF(2), получаем
Или
В матричном виде эта система будет иметь вид
где
Транспонирование здесь нужно потому, что — это вектор-строка, а не вектор-столбец. Иначе мы не могли бы умножать его справа на матрицу.
Будем называть матрицу проверочной матрицей. Если полученное сообщение — это корректное кодовое слово (то есть, ошибки при передаче не было), то произведение проверочной матрицы на это сообщение будет равно нулевому вектору.
Умножение на матрицу — это гораздо более эффективно, чем поиск в таблице, но у нас на самом деле есть ещё одна таблица — это таблица кодирования. Попробуем от неё избавиться.
Кодирование
Итак, у нас есть система для проверки
Её решения — это кодовые слова. Собственно, мы систему и строили на основе кодовых слов. Попробуем теперь решить обратную задачу. По системе (или, что то же самое, по матрице ) найдём кодовые слова.
Правда, для нашей системы мы уже знаем ответ, поэтому, чтобы было интересно, возьмём другую матрицу:
Соответствующая система имеет вид:
Чтобы найти кодовые слова соответствующего кода нужно её решить.
В силу линейности сумма двух решений системы тоже будет решением системы. Это легко доказать. Если и
— решения системы, то для их суммы верно
что означает, что она тоже — решение.
Поэтому если мы найдём все линейно независимые решения, то с их помощью можно получить вообще все решения системы. Для этого просто нужно найти их всевозможные суммы.
Выразим сперва все зависимые слагаемые. Их столько же, сколько и уравнений. Выражать надо так, чтобы справа были только независимые. Проще всего выразить .
Если бы нам не так повезло с системой, то нужно было бы складывая уравнения между собой получить такую систему, чтобы какие-то три переменные встречались по одному разу. Ну, или воспользоваться методом Гаусса. Для GF(2) он тоже работает.
Итак, получаем:
Чтобы получить все линейно независимые решения, приравниваем каждую из зависимых переменных к единице по очереди.
Всевозможные суммы этих независимых решений (а именно они и будут кодовыми векторами) можно получить так:
где равны либо нулю или единице. Так как таких коэффициентов два, то всего возможно
сочетания.
Но посмотрите! Формула, которую мы только что получили — это же снова умножение матрицы на вектор.
Строчки здесь — линейно независимые решения, которые мы получили. Матрица называется порождающей. Теперь вместо того, чтобы сами составлять таблицу кодирования, мы можем получать кодовые слова простым умножением на матрицу:
Найдём кодовые слова для этого кода. (Не забываем, что длина исходных сообщений должна быть равна 2 — это количество найденных решений.)
Итак, у нас есть готовый код, обнаруживающий ошибки. Проверим его в деле. Пусть мы хотим отправить 01 и у нас произошла ошибка при передаче. Обнаружит ли её код?
А раз в результате не нулевой вектор, значит код заподозрил неладное. Провести его не удалось. Ура, код работает!
Для кода с утроением, кстати, порождающая матрица выглядит очень просто:
Подобные коды, которые можно порождать и проверять матрицей называются линейными (бывают и нелинейные), и они очень широко применяются на практике. Реализовать их довольно легко, так как тут требуется только умножение на константную матрицу.
Ошибка по синдрому
Ну хорошо, мы построили код обнаруживающий ошибки. Но мы же хотим их исправлять!
Для начала введём такое понятие, как вектор ошибки. Это вектор, на который отличается принятое сообщение от кодового слова. Пусть мы получили сообщение , а было отправлено кодовое слово
. Тогда вектор ошибки по определению
Но в странном мире GF(2), где сложение и вычитание одинаковы, будут верны и соотношения:
В силу особенностей сложения, как читатель сам может легко убедиться, в векторе ошибки на позициях, где произошла ошибка будет единица, а на остальных ноль.
Как мы уже говорили раньше, если мы получили сообщение с ошибкой, то
. Но ведь векторов, не равных нулю много! Быть может то, какой именно ненулевой вектор мы получили, подскажет нам характер ошибки?
Назовём результат умножения на проверочную матрицу синдромом:
И заметим следующее
Это означает, что для ошибки синдром будет таким же, как и для полученного сообщения.
Разложим все возможные сообщения, которые мы можем получить из канала связи, по кучкам в зависимости от синдрома. Тогда из последнего соотношения следует, что в каждой кучке будут вектора с одной и той же ошибкой. Причём вектор этой ошибки тоже будет в кучке. Вот только как его узнать?
А очень просто! Помните, мы говорили, что у нескольких ошибок вероятность ниже, чем у одной ошибки? Руководствуясь этим соображением, наиболее правдоподобным будет считать вектором ошибки тот вектор, у которого меньше всего единиц. Будем называть его лидером.
Давайте посмотрим, какие синдромы дают всевозможные 5-элементные векторы. Сразу сгруппируем их и подчеркнём лидеров — векторы с наименьшим числом единиц.
В принципе, для корректирования ошибки достаточно было бы хранить таблицу соответствия синдрома лидеру.
Обратите внимание, что в некоторых строчках два лидера. Это значит для для данного синдрома два паттерна ошибки равновероятны. Иными словами, код обнаружил две ошибки, но исправить их не может.
Лидеры для всех возможных одиночных ошибок находятся в отдельных строках, а значит код может исправить любую одиночную ошибку. Ну, что же… Попробуем в этом убедиться.
Вектор ошибки равен , а значит ошибка в третьем разряде. Как мы и загадали.
Ура, всё работает!
Что же дальше?
Чтобы попрактиковаться, попробуйте повторить рассуждения для разных проверочных матриц. Например, для кода с утроением.
Логическим продолжением изложенного был бы рассказ о циклических кодах — чрезвычайно интересном подклассе линейных кодов, обладающим замечательными свойствами. Но тогда, боюсь, статья уж очень бы разрослась.
Если вас заинтересовали подробности, то можете почитать замечательную книжку Аршинова и Садовского «Коды и математика». Там изложено гораздо больше, чем представлено в этой статье. Если интересует математика кодирования — то поищите «Теория и практика кодов, контролирующих ошибки» Блейхута. А вообще, материалов по этой теме довольно много.
Надеюсь, когда снова будет свободное время, напишу продолжение, в котором расскажу про циклические коды и покажу пример программы для кодирования и декодирования. Если, конечно, почтенной публике это интересно.
Некоторые пользователи при загрузке (или установке) файлов с каких-либо источников могут столкнуться с ошибкой CRC, проявляющей себя сообщением «Ошибка в данных (CRC)». Данная проблема обычно возникает в ситуации, когда система фиксирует несовпадение контрольных данных загружаемого файла, вследствие чего возникает сообщение об ошибке в данных CRC. В этой статье я расскажу, что это за ошибка, при каких условиях она возникает, а также поясню как её исправить.
- Что такое CRC
- Особенности возникновения ошибки
- Ошибка в данных CRC — проблемы с жёстким диском
- Как исправить ошибку CRC — альтернативные варианты
- Заключение

Что такое CRC
Прежде чем начать описывать, что делать в ситуации, когда появляется ошибка CRC, следует пояснить, что такое «CRC».
Как известно, CRC (Cycle Redundancy Check – в переводе «циклическая избыточная проверка») являет собой алгоритм создания и проверки «контрольной суммы файла». Последняя используется в слежении за целостностью передаваемых данных с целью профилактики их повреждения или потери.
Данный алгоритм на основе циклического кода вычисляет контрольную сумму файла и добавляет её к телу самого файла. При загрузке (копировании) данного файла система, обладая алгоритмом вычисления контрольной суммы, проверяет правильность полученных данных, и при возникновении нестыковок выдаёт сообщение об ошибке CRC (data error — cycle redundancy check ).
Алгоритм CRC был изобретён в далёком 1961 году, пережил несколько качественных улучшений, и ныне является универсальным средством для проверки целостности получаемых данных.

Особенности возникновения ошибки
Что же до причин возникновения данной дисфункции, то конкретные причины ошибки CRC могут быть следующими:
- Потеря или повреждение какого-либо из пакетов сетевых данных при их передаче;
- Потеря или повреждение данных на жёстком диске (к примеру, из-за плохих секторов);
- Физическое повреждение оптического диска с информацией (CD, DVD и др.);
- Нарушение целостности системного реестра;
- Случайный сбой при инсталляции программы;
- Неверная конфигурация файлов и так далее.
Для отображения кода CRC существует такая программа как HashTab, которая, после своей установки, в свойствах самого файла (кликаем правой клавишей мыши на файле, затем выбираем «Свойства) отображает значения контрольных сумм данного файла.

Ошибка в данных CRC — проблемы с жёстким диском
Итак, как исправить ошибку CRC? Поскольку она регулярно случается из-за проблем к доступу жёсткого диска, то рекомендую выполнить следующее:
Действие 1. Восстановите потерянные данные на жёстком диске. Если данная проблема возникла при попытке получения доступа к какому-либо файлу на жёстком диске, тогда стоит использовать различные программы для восстановления потерянных данных. В частности, можно попробовать в деле такие программные продукты как Power Data Recovery или BadCopy Pro, предназначенные именно для рассматриваемых мной задач.
К примеру, чтобы воспользоваться Power Data Recovery, необходимо скачать и установить приложение, в меню выбрать «Damaged Partition Recovery», и осуществить полное сканирование (Full Scan). Если потерянные данные удастся восстановить, тогда, первым делом, нужно будет скопировать их на надёжный и безопасный носитель.

Действие 2. Альтернативным вариантом восстановления доступа к данным на винчестере является использование системной утилиты проверки диска.
- Зайдите в Проводник, кликните правой клавишей мыши на проблемном диске (например, С:), в появившемся меню выберите «Свойства».
- Перейдите на вкладку «Сервис», кликните на «Выполнить проверку», поставьте галочки напротив двух опций проверки диска, нажмите на «Ок», а затем перезагрузите компьютер.
- После перезагрузки система автоматически задействует проверку целостности данных на жёстком диске, и попытается восстановить повреждённые сектора (может занять какое-то время).

Проверьте диск на наличие ошибок
Действие 3. Также можно запустить командную строку от имени администратора (нажать на кнопку «Пуск», в строке поиска написать cmd (не нажимая на ввод), кликнуть на появившийся вверху однотипный результат правой клавишей мыши, и выбрать «Запуск от имени администратора). В командной строке необходимо написать:
chkdsk c: /r /f — (вместо «с:» впишите имя другого проблемного диска при необходимости) затем нажать на ввод, и дождаться окончания проверки.
Как исправить ошибку CRC — альтернативные варианты
Кроме проблем с жёстким диском, ошибка CRC может возникать и по другим причинам. Потому чтобы пофиксить ошибку CRC сделайте следующее:
- Скачайте торрент-файл из другого источника. Если вы скачали какой-либо файл с торрентов и получили ошибку CRC, тогда запустите торрент-клиент, удалите закачку с ошибкой, а потом и сами некорректно загруженные файлы на жёстком диске. Попробуйте поискать альтернативную закачку той же программы на торрент-трекере, возможно проблемная закачка была создана не совсем корректно, или файлы в ней были повреждены. В некоторых ситуациях не будет лишним и переустановить торрент-клиент, причина ошибки CRC может быть и в нём;
- Если вы получили данную ошибку при попытке считывания данных с СД (ДВД) диска, тогда, для начала, необходимо аккуратно протереть поверхность диска мягкой тканью с целью удаления пыли или грязи на его поверхности, а затем попробовать считать его содержимое с помощью уже упомянутой программы BadCopyPro;

- Если данная ошибка возникла при установке какой-либо игры, будет проще загрузить её образ ещё раз (или сами файлы программы) из другого источника с помощью проверенных программ уровня Download Master, возможно, это поможет избавиться от ошибки CRC.
Заключение
Если у вас возникла ошибка в данных CRC, то, прежде всего, определитесь с условиями, при которых возникла данная ошибка. Наиболее часто она возникает при попытке закачки и установки образов дисков (или самых программ) из сети. Эффективным средством в этом случае будет использование альтернативных ресурсов для закачки данных файлов, что, в большинстве случаев, помогает эффективно решить указанную проблему. Если же вы имеете дело с дисфункцией в работе жёсткого диска, тогда необходимо использовать программы уровня Power Data Recovery или BadCopyPro, способных помочь в восстановлении доступа к нужным вам файлам.
ECC (англ. error-correcting
code,
код коррекции ошибок) — данные,
присоединяемые к каждому передаваемому
сигналу, позволяющие принимающей стороне
определить факт сбоя и (в некоторых
случаях) исправить несущественную
ошибку. Принцип основан на коде
Хэмминга.
ECC используется
в устройствах хранения данных,(в том
числе и для оперативной памяти).
Циклический
избыточный код (англ. Cyclic
redundancy check, CRC[1]) —
алгоритм нахождения контрольной
суммы,
предназначенный для проверки целостности
данных[2].
CRC является практическим
приложением помехоустойчивого
кодирования,
основанном на определенных математических
свойствах циклического
кода.
Контро́льная
су́мма —
некоторое значение, рассчитанное по
набору данных путём применения
определённого алгоритма и используемое
для проверки целостности данных при их
передаче или хранении. Также контрольные
суммы могут использоваться для быстрого
сравнения двух наборов данных на
неэквивалентность: с большой вероятностью
различные наборы данных будут иметь
неравные контрольные суммы. Это может
быть использовано, например, для
детектирования компьютерных
вирусов.
Несмотря на своё название, контрольная
сумма не обязательно вычисляется путем
суммирования.
Первые
попытки создания кодов с избыточной
информацией начались задолго до появления
современных ПК. К примеру, ещё в
шестидесятых годах прошлого века Ридом
и Соломоном была разработана эффективная
методика кодирования — Код
Рида-Соломона.
Использование её в те времена не
представлялось возможным, так как
произвести операцию декодирования за разумное
время первыми
алгоритмами не удавалось. Точку в этом
вопросе поставила фундаментальная
работа Берлекампа, опубликованная в
1968 году.Эта
методика,
на практическое применение которой
указал через год Мэсси, и по сей день
используется в цифровых устройствах,
обеспечивающих прием RS-кодированных
данных. Более того: данная система
позволяет не только определять позиции,
но и исправлять неверные кодовые символы
(чаще всего октеты).
Но
далеко не везде от кода требуется
коррекция ошибок. Многие современные
каналы связи обладают приемлемыми
характеристиками, и зачастую достаточно
лишь проверить, успешно ли прошла
передача или возникли какие-нибудь сложности;
структура же ошибок и конкретные позиции
неверных символов совершенно не
интересуют принимающую сторону. И в
этих условиях очень удачным решением
оказались алгоритмы, использующие
контрольные суммы. CRC как нельзя лучше
подходит для подобных задач: невысокие
затраты ресурсов, простота реализации
и уже сформированный математический
аппарат из теории линейных циклических
кодов обеспечили ей огромную популярность.
Пользователи регулярно сталкиваются с различными системными сбоями, возникающими по программным или аппаратным причинам. Одной из распространённых проблем является ошибка CRC, сопровождающаяся сообщением с соответствующим текстом «Ошибка данных в CRC». Она свидетельствует о несовпадении контрольных сумм загружаемого файла, что говорит о его изменении или повреждении, и может проявляться при использовании внутренних и внешних накопителей информации. Часто сбой встречается во время записи оптического диска, копирования данных с диска на компьютер, установке игр и приложений или при работе с торрент-клиентами. Момент отслеживания появления сбоя всегда имеет значение, поскольку способ решения проблемы напрямую зависит от того, при каких условиях возникла ошибка CRC.

Что такое CRC
Циклический избыточный код или CRC (англ. Cycle Redundancy Check) является алгоритмом вычисления контрольной суммы файла, используемой для проверки корректности передаваемой информации. То есть в результате обработки информации получается определённое значение, которое обязательно будет разным для файлов, даже на один бит отличающихся между собой. Так, алгоритм, базирующийся на циклическом коде, определяет контрольную сумму и приписывает её к передаваемым данным. В свою очередь принимающая сторона также владеет алгоритмом нахождения контрольной суммы, что даёт возможность системе проверить целостность получаемых данных. Когда эти числа соответствуют, информация передаётся успешно, а при несовпадении значений контрольной суммы возникает ошибка в данных CRC, это означает, что файл, к которому обратилась программа, был изменён или повреждён.

Причины возникновения ошибки CRC
В большинстве случаев проблема носит аппаратный характер, но иногда возникает и по программным причинам. Сообщение «Ошибка данных в CRC» может говорить о неисправности HDD, нарушении файловой системы или наличии битых секторов. Нередко сбой возникает при инициализации жёсткого диска или твердотельного накопителя SSD после подсоединения к компьютеру, несмотря на конструктивные отличия и разницу в способе функционирования, это происходит, поскольку не удаётся правильно прочитать данные. Тогда неполадка может заключаться не только в механических повреждениях, но и в неисправности интерфейсов подключения или плохом контакте. Ошибка в устройствах SSD с интерфейсом PCI-E также случается из-за накопившихся загрязнений на плате. Проблемы с доступом к внешним накопителям нередко связаны с неисправностью портов. Среди программных причин ошибку в данных CRC способны вызывать сбои драйверов устройств. Источником проблемы при установке программного обеспечения посредством торрент-клиента чаще всего является повреждённый архив. Таким образом, можно выделить следующие причины ошибки CRC:
- Случайный сбой во время установки софта.
- Потеря или повреждение данных при их передаче.
- Загрузка повреждённого архива.
- Неправильные записи системного реестра.
- Некорректные драйверы устройств.
- Повреждение оптического диска.
- Неисправность разъёмов.
- Повреждение секторов жёсткого диска, файловой системы HDD.
- Неправильная конфигурация файлов и другие причины.

Как исправить ошибку CRC
Факторов, провоцирующих проблему не так уж и мало. Определить источник неприятности чаще всего можно исходя из условий, при которых проявилась ошибка в данных CRC, тогда можно сузить круг возможных причин и понять, как исправить сбой. Все действия, направленные на устранение неисправности будут эффективны в различных ситуациях.
Ошибка в данных CRC при подключении устройства
В случае возникновения проблемы при работе с внешними накопителями прежде, чем лечить устройство посредством специализированных утилит, первым делом следует проверить работу с другими разъёмами. Если порт неисправен, то вопрос может решиться подключением носителя к иному порту на девайсе. Ещё одна причина – плохой контакт, например это часто встречается в адаптере подключения SD карты, а также при использовании устройств HDD или SSD. Флешка, СД карта или другой подключаемый накопитель также могут быть неисправными, для чтения данных с повреждённых устройств используется специальный софт, например, BadCopyPro, но при выходе из строя носителя программные методы бессильны.
Возникновение сбоя при попытке доступа к файлам на HDD
«Ошибка в данных CRC» нередко проявляется по причине нарушения целостности файловой системы или битых секторов на жёстком диске. Поскольку не удаётся правильно прочесть информацию, с этим может быть связан ряд сбоев, включая ситуацию, когда винчестер не инициализируется. Диагностировать HDD можно с помощью встроенных средств Windows или сторонних программ.
Проверка инструментом Chkdsk
В арсенале ОС имеется немало интегрированных служб для решения различных задач. Проверить файловую систему на ошибки, а также обнаружить битые сектора можно с использованием утилиты Check disk, вызываемой из командной строки. Чтобы просканировать жёсткий диск выполняем следующие действия:
В ряде случаев, когда нет доступа ко всему диску или ошибка в данных CRC проявляется при обращении к софту, который раньше работал, сканирование потребуется выполнить в режиме восстановления, для чего потребуется загрузочная флешка или диск с соответствующей ОС Windows. Изменив порядок запуска устройств (выставить в Boot приоритет для съёмного накопителя) и запустившись с загрузочного носителя можно открыть командную строку следующим образом:
Сканирование системной утилитой проверки диска
Можно выполнить проверку на ошибки и другим способом:
При выборе системного диска потребуется запланировать проверку, в таком случае он будет просканирован при следующей загрузке Windows. Для восстановления HDD применяется также сторонний софт, например, HDD Regenerator, Acronis Disk Director, Victoria и прочие. При этом в случае с физическими повреждениями устройства выправить их программно не получится, поэтому лучше заранее скопировать важную информацию с жёсткого диска, возможно, его время уже на исходе.
Проблема при скачивании с CD/DVD носителя
Если ошибка выскакивает при копировании информации с оптического диска на внутренний накопитель, возможно, что диск просто загрязнён или повреждён. Для начала нужно очистить поверхность носителя и попытаться выполнить процедуру снова. Если не помогло, ищем другой источник информации, а при его отсутствии и необходимости восстановления данных с диска можно использовать программу BadCopyPro, которая считывает и возвращает к жизни файлы с испорченных накопителей, если это возможно. К сожалению, при сильно выраженных повреждениях диска скопировать с него файлы не удастся.

Ошибка в данных CRC при записи оптического диска, установке программ или игр
Если проблема возникла в процессе записи образа, скачанного с просторов интернета, на CD/DVD, стоит проверить контрольные суммы записываемых данных перед выполнением процедуры. Для этой цели используется утилита HashTab, после установки которой, в свойствах файла появится новая вкладка «Хеш-суммы файлов», с её помощью вы сможете сравнить значение с исходником. Так, при несовпадении контрольных сумм, следует скачать образ снова.

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

Ошибка в uTorrent
Когда ошибка в данных CRC появляется в программе uTorrent, исправляем её следующими действиями:
- Выполняем обновление клиента.
- Удаляем проблемную раздачу в программе, а также недокачавшийся файл в папке на компьютере.
- Ищем аналогичную раздачу на другом ресурсе и скачиваем оттуда.


Вышеперечисленных способов достаточно, чтобы избавиться от ошибки в данных CRC, возникающей при различных условиях. Так, определив источник появления сбоя, можно целенаправленно устранить проблему. В большинстве случаев исправить ошибку удаётся программными средствами, но, когда речь идёт о физической неисправности накопителя, следует задуматься о его замене.
15.03.2021 windows
Ошибка в данных CRC может возникнуть в самых разных случаях: при инициализации жесткого диска или работе с внешним жестким диском, картой памяти или флешкой, попытках произвести действия с накопителем в DISKPART, часто — при установке программ и игр, скачанных с торрента.
Текст ошибки также может быть разным: от простого сообщения диспетчера виртуальных дисков об ошибке в данных при инициализации диска, сообщений «DISKPART обнаружила ошибку: Ошибка в данных (CRC)» или «Расположение недоступно. Нет доступа к диску, ошибка данных (CRC)» при действиях с HDD, картой памяти или USB накопителем, до окон вида «CRC error» или «Ошибка копирования файла» с указанием на файлы устанавливаемого ПО. В этой инструкции подробно о причинах такой ошибки, что она означает и о возможных методах её исправить.
- Что такое CRC и причины ошибки
- Способы исправить ошибку CRC
- При инициализации диска, форматировании, других действиях с накопителем
- При установке игр и программ
Прежде чем начать описывать, что делать в ситуации, когда появляется ошибка CRC, следует пояснить, что такое «CRC».
Как известно, CRC (Cycle Redundancy Check – в переводе «циклическая избыточная проверка») являет собой алгоритм создания и проверки «контрольной суммы файла». Последняя используется в слежении за целостностью передаваемых данных с целью профилактики их повреждения или потери.
Данный алгоритм на основе циклического кода вычисляет контрольную сумму файла и добавляет её к телу самого файла. При загрузке (копировании) данного файла система, обладая алгоритмом вычисления контрольной суммы, проверяет правильность полученных данных, и при возникновении нестыковок выдаёт сообщение об ошибке CRC (data error — cycle redundancy check ).
Алгоритм CRC был изобретён в далёком 1961 году, пережил несколько качественных улучшений, и ныне является универсальным средством для проверки целостности получаемых данных.

Эффективный, но не простой
Эта короткая статья не является местом для изучения подробностей вычислений и производительности CRC. Суть в том, что двоичный «многочлен» применяется к потоку данных таким образом, чтобы генерировать контрольную сумму, которая, скорее всего, изменится, если один или несколько битов сообщении были изменены.
Этот «многочлен» представляет собой просто математически удобный способ обращения к определенной последовательности битов. Например:
(x^{16}+x^{12}+x^5+1=0001 0000 0010 0001)
Это широко используемый полином «CCITT». Это полином 16-го порядка, что означает, что соответствующее двоичное число имеет ширину 16 бит, и что итоговая контрольная сумма CRC будет иметь ширину 16 бит
(Обратите внимание, что коэффициент для члена высшего порядка считается равным 1 и опускается в двоичной версии.) Члены, которые не отображаются в математическом выражении, имеют в качестве коэффициента двоичный 0
Обнаружение ошибок проще и эффективнее с аппаратным CRC модулем; это схема из показывает работу CRC периферии в микроконтроллере EFM8 Laser Bee
Особенности возникновения ошибки
Что же до причин возникновения данной дисфункции, то конкретные причины ошибки CRC могут быть следующими:
- Потеря или повреждение какого-либо из пакетов сетевых данных при их передаче;
- Потеря или повреждение данных на жёстком диске (к примеру, из-за плохих секторов);
- Физическое повреждение оптического диска с информацией (CD, DVD и др.);
- Нарушение целостности системного реестра;
- Случайный сбой при инсталляции программы;
- Неверная конфигурация файлов и так далее.
Для отображения кода CRC существует такая программа как HashTab, которая, после своей установки, в свойствах самого файла (кликаем правой клавишей мыши на файле, затем выбираем «Свойства) отображает значения контрольных сумм данного файла.

Архивы
Это один из самых первых случаев, когда может возникнуть сбой. Процесс архивирования достаточно сложен, поэтому малейший сбой может привести к повреждению архива. Если у вас появляется надпись «Ошибка CRC. Файл повреждён», то, скорее всего, архив был поврежден уже после создания. То есть вы его не полностью докачали или скопировали с носителя данных. Другой вариант проблем с архивом в том, что непосредственно во время создания архива произошел аппаратный сбой. Возможно, был сбой питания, процессор «разогнан» собственноручно или установлены некачественные планки памяти. В таком случае информация восстановлению не подлежит.
Ошибка в данных CRC — проблемы с жёстким диском
Итак, как исправить ошибку CRC? Поскольку она регулярно случается из-за проблем к доступу жёсткого диска, то рекомендую выполнить следующее:
Действие 1. Восстановите потерянные данные на жёстком диске. Если данная проблема возникла при попытке получения доступа к какому-либо файлу на жёстком диске, тогда стоит использовать различные программы для восстановления потерянных данных. В частности, можно попробовать в деле такие программные продукты как Power Data Recovery или BadCopy Pro, предназначенные именно для рассматриваемых мной задач.
К примеру, чтобы воспользоваться Power Data Recovery, необходимо скачать и установить приложение, в меню выбрать «Damaged Partition Recovery», и осуществить полное сканирование (Full Scan). Если потерянные данные удастся восстановить, тогда, первым делом, нужно будет скопировать их на надёжный и безопасный носитель.

Действие 2. Альтернативным вариантом восстановления доступа к данным на винчестере является использование системной утилиты проверки диска.
- Зайдите в Проводник, кликните правой клавишей мыши на проблемном диске (например, С:), в появившемся меню выберите «Свойства».
- Перейдите на вкладку «Сервис», кликните на «Выполнить проверку», поставьте галочки напротив двух опций проверки диска, нажмите на «Ок», а затем перезагрузите компьютер.
- После перезагрузки система автоматически задействует проверку целостности данных на жёстком диске, и попытается восстановить повреждённые сектора (может занять какое-то время).

Проверьте диск на наличие ошибок
Действие 3. Также можно запустить командную строку от имени администратора (нажать на кнопку «Пуск», в строке поиска написать cmd (не нажимая на ввод), кликнуть на появившийся вверху однотипный результат правой клавишей мыши, и выбрать «Запуск от имени администратора). В командной строке необходимо написать:
chkdsk c: /r /f — (вместо «с:» впишите имя другого проблемного диска при необходимости) затем нажать на ввод, и дождаться окончания проверки.
Быстрое форматирование
Этот способ применяем в крайнем случае, если ошибку CRC исправить утилитой chkdsk не удалось. Если есть важные данные на диске, то этот метод поможет их восстановить.
При быстром форматировании записывается загрузочный сектор и пустая таблица файловой системы. При этом, файлы не стираются, если не скопируете на них что-то новое, которое заменит старые данные.
После быстрого форматирования нужно использовать утилиту для восстановления данных.
Подключите диск к компьютеру. Если возникнут проблемы, установите его на другой ПК в качестве второго винчестера.
Клавишами Win+E откройте окно Проводника. Укажите сбойное устройство, кликните правой кнопкой мыши и выберите Форматирование.
О, и подтвердите выполнение на Пуск.
Как только формат будет завершен, запустите приложение восстановления данных. Рекомендуем воспользоваться программой Recuva, бесплатная версия которой способна восстановить все данные.
Некоторые пользователи при загрузке (или установке) файлов с каких-либо источников могут столкнуться с ошибкой CRC, проявляющей себя сообщением «Ошибка в данных (CRC)». Данная проблема обычно возникает в ситуации, когда система фиксирует несовпадение контрольных данных загружаемого файла, вследствие чего возникает сообщение об ошибке в данных CRC. В этой статье я расскажу, что такое ошибка данных CRC, при каких условиях она возникает, а также поясню как её исправить.

Скриншот ошибки «Расположение недоступно»
Как исправить ошибку CRC — альтернативные варианты
Кроме проблем с жёстким диском, ошибка CRC может возникать и по другим причинам. Потому чтобы пофиксить ошибку CRC сделайте следующее:
- Скачайте торрент-файл из другого источника. Если вы скачали какой-либо файл с торрентов и получили ошибку CRC, тогда запустите торрент-клиент, удалите закачку с ошибкой, а потом и сами некорректно загруженные файлы на жёстком диске. Попробуйте поискать альтернативную закачку той же программы на торрент-трекере, возможно проблемная закачка была создана не совсем корректно, или файлы в ней были повреждены. В некоторых ситуациях не будет лишним и переустановить торрент-клиент, причина ошибки CRC может быть и в нём;
- Если вы получили данную ошибку при попытке считывания данных с СД (ДВД) диска, тогда, для начала, необходимо аккуратно протереть поверхность диска мягкой тканью с целью удаления пыли или грязи на его поверхности, а затем попробовать считать его содержимое с помощью уже упомянутой программы BadCopyPro;

- Если данная ошибка возникла при установке какой-либо игры, будет проще загрузить её образ ещё раз (или сами файлы программы) из другого источника с помощью проверенных программ уровня Download Master, возможно, это поможет избавиться от ошибки CRC.
BadCopy
Для чтения и восстановления битых данных служит программа BadCopy. При появлении сообщения «Ошибка в данных CRC» при работе с дисками она поможет вам спасти информацию. Или хотя бы считать её часть. Например, при её помощи можно вытащить видео с повреждённого диска. Поскольку повреждения диска имеются на 1-2% поверхности, то и данные будут искажены примерно на столько же или даже меньше. Таким образом, если вы с помощью этой программы спасёте видео, то при просмотре будут заметны пара кадров с неясной графикой, в остальном же всё кино будет цело и невредимо. При очень сильном повреждении диска выполнение программы может занять достаточно продолжительное время, и не факт, что результат будет 100%. В целом эта программа способна выполнять следующие действия:
- Получить доступ к нечитаемым файлам.
- Восстановить фотографии на фотоаппарате.
- Восстановить данные, удалённые методом быстрого форматирования.
- Восстановить утерянные файлы на различных носителях информации.
- Считать данные, если они были удалены с перезаписываемого оптического диска.
Исчез диск из папки Мой компьютер
- Страница 1 из 2
- 1
- 2
- Вперед
- Авторизуйтесь для ответа в теме
#1
Здрвствуйте! Возможно, кто-либо сталкивался с подобным? Пропал внешний жесткий диск в папке Мой компьютер- (» OC Windows не удалось найти диск..».), в связи с чем стала невозможной архивация и копирование. В «Устройства и принтеры» диск обозначен. Обращение к средствам устранения неполадок компьютера, Fix it и откат через точку восстановления успеха не принесли. Он был проинициализирован и разбит на два тома: для арихвации и для копий (были присвоены буквы). Все работало более года. Сейчас же он в виде черной полосы-не инииализирован и не распределен, в «Свойства» — «диск работает нормально». .Букв диск не имеет, и я не смог присвоить ему букву, очевидно,эта возможность появится после инициализации. Попытка инициализации диска не удалась, ответ Диспетчера виртуальных дисков -«Ошибка в данных (CRC)». Хотел переустановить -удалил диск из Диспетчера устройств, перезагрузился — то же самое.
Прошу подсказать ответ для решения проблемы. Win.7 Prof. 32
- Наверх
#2
- Модератор
- 3 503 сообщений
- Наверх
#3
это почти как приговор. Ну если допустить что диск рабочий, а пробовал в другой комп втыкать его? Назови модель материнки/ноута и модель диска.
Сообщение отредактировал Bimba: 13 Сентябрь 2011 — 21:50
- Наверх
#4
Ошибка данных CRC — это ошибка чтения/записи, ошибка контроля четности, иначе — твой диск пишет/читает с ошибками. Ошибка емкая, а так как ошибка вылезает сразу же при инициализации диска, причиной может быть что угодно: и поврежденная поверхность диска, и пришедший в негодность кабель esata/usb, и проблема с блоком питания диска, и слетевший драйвер, и. и. и. Плохо что ты не можешь воткнуть в другой комп.
Ну давай посмотрим его диагностику, SMART: вот Victoria для Windows.
Пожалуйста Войдите
или
Зарегистрируйтесь
чтобы увидеть скрытый текст
Она портейбельная. Запускаешь vcr446f.exe — справа в окне выбери свой внешний диск (я надеюсь он определится) — потом SMART — потом кнопку GETSMART — в окне данных правой кн. мыши Copy ALL to Clipboard — и потом вставь из буфера в текстовый файл или сразу в сообщение, посмотрим. Вот мой смарт для примера: SAMSUNG HD502HJ S20BJ90ZA40605 ————————————————————————- ID Name Value Worst Tresh Raw Health ————————————————————————- 1 Raw read error rate 100 100 51 0 ••••• 2 Throughput perfomance 252 252 0 0 ••••• 3 Spin-up time 83 81 25 5339 •••• 4 Number of spin-up times 100 100 0 621 ••••• 5 Reallocated sector count 252 252 10 0 ••••• 7 Seek error rate 252 252 51 0 ••••• 8 Seek time perfomance 252 252 15 0 ••••• 9 Power-on time 100 100 0 3210 ••••• 10 Spin-up retries 252 252 51 0 ••••• 11 Recalibration retries 100 100 0 1 ••••• 12 Start/stop count 100 100 0 627 ••••• 191 G-SENSOR shock counter 100 100 0 1 ••••• 192 Power-off retract count 252 252 0 0 ••••• 194 HDA Temperature 64 62 0 29°C/84°F •••• 195 Hardware ECC recovered 100 100 0 0 ••••• 196 Reallocated event count 252 252 0 0 ••••• 197 Current pending sectors 252 252 0 0 ••••• 198 Offline scan UNC sectors 252 252 0 0 ••••• 199 Ultra DMA CRC errors 100 100 0 16 ••••• 200 Write error rate 100 100 0 0 ••••• 223 Load retry count 100 100 0 1 ••••• 225 Load cycle count 100 100 0 650 •••••
p.s. Название EXSTERNAL ENCLOSURE For 2,5″ SATA HDD ни о чем не говорит, поэтому: как подключаешь по esata или usb? имеет ли диск собственный блок питания?
p.s.p.s. Переформатировать всегда успеем попробовать. Я так понял с потерей данных ты уже смирился?
Сообщение отредактировал veremi1: 13 Сентябрь 2011 — 23:11
- Наверх
#5
Ошибка данных CRC — это ошибка чтения/записи, ошибка контроля четности, иначе — твой диск пишет/читает с ошибками. Ошибка емкая, а так как ошибка вылезает сразу же при инициализации диска, причиной может быть что угодно: и поврежденная поверхность диска, и пришедший в негодность кабель esata/usb, и проблема с блоком питания диска, и слетевший драйвер, и. и. и. Плохо что ты не можешь воткнуть в другой комп.
Ну давай посмотрим его диагностику, SMART: вот Victoria для Windows.
Пожалуйста Войдите
или
Зарегистрируйтесь
чтобы увидеть скрытый текст
Она портейбельная. Запускаешь vcr446f.exe — справа в окне выбери свой внешний диск (я надеюсь он определится) — потом SMART — потом кнопку GETSMART — в окне данных правой кн. мыши Copy ALL to Clipboard — и потом вставь из буфера в текстовый файл или сразу в сообщение, посмотрим. Вот мой смарт для примера: SAMSUNG HD502HJ S20BJ90ZA40605 ————————————————————————- ID Name Value Worst Tresh Raw Health ————————————————————————- 1 Raw read error rate 100 100 51 0 ••••• 2 Throughput perfomance 252 252 0 0 ••••• 3 Spin-up time 83 81 25 5339 •••• 4 Number of spin-up times 100 100 0 621 ••••• 5 Reallocated sector count 252 252 10 0 ••••• 7 Seek error rate 252 252 51 0 ••••• 8 Seek time perfomance 252 252 15 0 ••••• 9 Power-on time 100 100 0 3210 ••••• 10 Spin-up retries 252 252 51 0 ••••• 11 Recalibration retries 100 100 0 1 ••••• 12 Start/stop count 100 100 0 627 ••••• 191 G-SENSOR shock counter 100 100 0 1 ••••• 192 Power-off retract count 252 252 0 0 ••••• 194 HDA Temperature 64 62 0 29°C/84°F •••• 195 Hardware ECC recovered 100 100 0 0 ••••• 196 Reallocated event count 252 252 0 0 ••••• 197 Current pending sectors 252 252 0 0 ••••• 198 Offline scan UNC sectors 252 252 0 0 ••••• 199 Ultra DMA CRC errors 100 100 0 16 ••••• 200 Write error rate 100 100 0 0 ••••• 223 Load retry count 100 100 0 1 ••••• 225 Load cycle count 100 100 0 650 •••••
p.s. Название EXSTERNAL ENCLOSURE For 2,5″ SATA HDD ни о чем не говорит, поэтому: как подключаешь по esata или usb? имеет ли диск собственный блок питания?
p.s.p.s. Переформатировать всегда успеем попробовать. Я так понял с потерей данных ты уже смирился?
Здравствуйте! Вот полученный результат:
Всем привет! Сегодня мы постараемся разобрать и решить достаточно популярную ошибку данных в CRC, которая чаще всего возникает на жестком диске. Также она может появляться и на других носителях – переносной жестак, флешка, карта памяти и т.д. Чаще всего ошибка появляется при установке программного обеспечения или игры. В более редких случаях ошибка в данных CRC может появляться при работе с DISKPART или обращении к носителю.
В статье ниже сначала мы разберем конкретные причины появления проблемы, а уже потом я поэтапно расскажу, что же нужно делать в таком случае. В случае возникновения дополнительных вопросов – пишите в комментариях, и я вам постараюсь помочь.
Содержание
- Причины
- Ошибка возникает при работе с носителем (HDD, SSD, SD-карта, флешка)
- Ошибка возникает при установке игр или ПО
- Дополнительные советы
- Задать вопрос автору статьи
Причины

Для начала давайте попробуем понять, а что же вообще такое CRC. CRC (от англ. яз. – Cyclic Redundancy Check – Циклический избыточный код) – это специальная функция, которая определяем целостность полученных данных по специальной контрольной сумме. Мы получаем ошибку CRC в том случае, если при копировании данных на жесткий диск (или любой другой носитель) при проверке целостности пакета данных – контрольные суммы не совпадают.
Если есть ошибка в контрольной сумме, значит велика вероятность, что данные из источника при передаче сильно отличаются от записанных на накопитель. Если говорить грубо – то при записи данных на носитель те записанные данные записались с ошибкой, а значит использовать их нельзя.
Давайте теперь разберем конкретные причины. Если ошибка CRC возникает при работе с HDD, SSD, картой памяти и флешкой. Причем ошибка может возникать не только при записи, но и при инициализации, форматировании или изменении каких-то свойств носителя. В таком случае есть несколько популярных причин:
- Проблема с подключением – возникает из-за электропитания или подключения к материнской плате, например, через SATA.
- Поломка самого накопителя на физическом уровне. Возможно, до этого его сильно роняли.
- Есть тотальные повреждения файловой системы. В таком случае диск может вообще отказываться работать и нормально не отображается в ОС.
- Некоторые антивирусные программы могут блокировать нормальную работу записи и чтения. Бывает это редко, но с подобным я лично сталкивался на старых системах и компах.
- Большое количество битых секторов на жестком диске компьютера.
- Поломка оперативной памяти. Или при разгоне ОЗУ.
- Недостаточно питания для работы внешнего жесткого диска.
- Проблема в электропитании или БП на компьютере или ноутбуке.
Если ошибка в данных CRC возникает при установке игр или программ (чаще всего скаченных с Торрента), то причины могут немного отличаться:
- Изначально в файлах установки есть ошибки и нарушена целостность некоторых пакетом установщика.
- Аналогичная проблема с жестким диском, файловой системой или оперативной памятью на компе.
- Проблема разархивации или архивации файлов игры или программы.
- Очень часто антивирусное ПО блокирует установку некоторых компонентов из-за чего и вываливается ошибка.
Если же вы используете компакт-диски типа DVD, CD или Blu-ray, то, возможно, диски сильно повреждены. В стародавние времена в таком случае помогала сухая, мягкая тряпка – просто аккуратно протрите зеркальную поверхность диска.
Ошибка возникает при работе с носителем (HDD, SSD, SD-карта, флешка)
В этой главе я расскажу вам, как исправить ошибку данных CRC, если она возникает при записи, обращении или при инициализации любого известного нам накопителя – будь это жесткие диски HDD, SSD, карты памяти или флешки. Это также касается и внешних жестких дисков, подключенных к USB.
В первую очередь я бы советовал вам подключить носитель к другому компьютеру (если есть такая возможность) – так мы точно поймем, с какой стороны у нас проблема. Подключите флешку, SD-карту или внешний жестак. Если проблема возникает с внутренним накопителем, подключенным через SATA – попробуйте выключить комп, снять боковую крышку и использовать другие провода SATA и питания.
Для чего это нужно? Если ошибка останется, значит проблема именно в носителе. Если же «поломка» исчезнет, значит нам нужно искать «виновника» в операционной системе.
ВНИМАНИЕ! Если до возникновения проблемы вы разгоняли CPU, оперативную память, меняли настройки BIOS – попробуйте вернуть все как было, и посмотрите, не возникает ли ошибка вновь. Если вы до этого устанавливали дополнительную плашку памяти – попробуйте убрать её и посмотреть, появляется ли ошибка в таком случае.
- Если к компьютеру подключено большое количество жестких дисков, внешние звуковые карты, принтеры, Web-камера и т.д. – попробуйте все это отключить и проверьте работоспособность в таком случае.
- Попробуйте запустить компьютер в безопасном режиме – в таком случае все сторонние программы, в том числе и антивирус, будут полностью выключены. Если ошибка исчезла, значит проблема, скорее всего, была именно в антивирусе.
- Если проблема осталась, не выходя из безопасного режима, запускаем консоль с админ-правами и пробуем провести проверку жесткого диска на наличие ошибок. Также функция попробует эти ошибки исправить:
chkdsk D: /f /r
ПРИМЕЧАНИЕ! Вместо диска «D» укажите свой том. Если у вас на жестком диске несколько томов, проверьте их все. Дополнительно советую почитать про другие методы проверки жесткого диска тут.
- Ждем пока процедура закончится.
- Возможно проблема возникает из-за какой-то программы. Возможно, есть поломка системных файлов. Чтобы не гадать, что именно не так – проще выполнить откат системы до выделенной точки восстановления.
- Если вы используете внешний жесткий диск или флешку, подключенные через USB – попробуйте использовать другой порт. Лучше всего использовать задние порты на компьютере. Если есть разные версии USB 2.0 и 3.0 – попробуйте использовать оба варианта.
- Я уже писал про данный способ, но еще раз повторюсь – попробуйте снять боковую крышку системника и подключить ваш жесткий диск к другому SATA кабелю и порту на материнской плате. То же самое касается и провода питания от БП.
- Если на внешнем носителе нет ничего важного, то можно попробовать его отформатировать. Вот ряд полезных статей:
- Форматирование жесткого диска и флешки в Windows.
- Как отформатировать флешку, если она защищена от записи.
- Что делать если флешка не форматируется.
Все вышеперечисленные методы помогают решить проблему, если на диске нет проблем с аппаратной частью (то есть не поломан физически). Если вы еще не проверили диск на другом компьютере, то советую сделать это, чтобы исключить саму систему и компьютер.
Ошибка возникает при установке игр или ПО
В этой главе мы рассмотрим все способы решить проблему, если ошибка возникает при установке любого программного обеспечения.
- Перед установкой и запуском программы попробуйте отключить защиту антивирусного ПО. Также советую занести саму программу в исключения.
- Если вы скачивали программу через торрент, то попробуйте проверить целостность файлов – кликаем ПКМ по названию программы и жмем «Пересчитать хеш». Проверка целостности файлов – есть во всех подобных программах, даже в Steam, GOG, Origin, Battle.net, Epic Games и т.д.

- Если проблема появилась резко и без какой-либо причины – выполните восстановление системы до выделенной точки. Ссылку на инструкцию я оставил в прошлой главе.
- Выполните установку на другой том диска. Во время установки путь к папке (а также сама папка) – не должны содержать лишние символы и буквы кириллицы.
- Попробуйте скачать программу с другого источника.
Дополнительные советы
Если ничего из вышеперечисленного не помогло, вот что можно сделать:
- Проверяем жесткий диск на наличие битых секторов. Лучше всего использовать программу Victoria.
- Проверяем оперативную память. Используем MemTest86 с загрузочной флешки.
- Очищаем компьютер от лишнего мусора.
- Делаем проверку целостности системных файлов.
Напомню, что вы всегда можете обратиться ко мне в комментариях, и я постараюсь вам помочь. На этом все, дорогие друзья – до новых встреч на портале WiFiGiD.RU. Всем добра!