Введение

SpinRite – компьютерная программа для сканирования устройств произвольного доступа к памяти (RAS Random Access Storage), таких как жесткие диски, чтения и перезаписи данных для восстановления и извлечения данных, которые не могут быть прочитаны DOS или Windows. Первая версия была выпущена в 1987 году Стивом Гибсоном. Текущая версия, 6.1, вышла в 2024 году. SpinRite запускается с загрузочного носителя (например, CD, DVD или USB-накопителя) на компьютере, совместимом с IBM PC, что позволяет сканировать накопители компьютера. Она не зависит от установленной на компьютере операционной системы.

История

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

Особенности

SpinRite тестирует поверхности данных записываемых магнитных дисков, включая IDE, SATA и дискеты, а также твердотельные накопители SSD. Он анализирует их содержимое и может восстанавливать поверхности магнитных дисков или флэш-память, чтобы обеспечить их более надежную работу. SpinRite пытается восстановить данные с дисков, которые не читаются операционной системой. При возникновении ошибок чтения данных программа пытается прочитать сектор до 2000 раз, чтобы, сравнивая последовательные результаты, определить наиболее вероятное значение каждого бита. Когда способность жесткого диска к чтению данных замедляется или становится ненадежной, SpinRite может восстановить данные, которые затем можно скопировать на другой диск. Разработчик утверждает, что SpinRite обладает уникальными функциями, такими как отключение кэширования записи на диск, отключение автоматической релокации, совместимость со сжатием диска, идентификация "кодировщика-декодировщика данных в поток магнитных изменений", используемого в диске, и раздельное тестирование производительности чтения диска с буфером и без него, а также прямой доступ на аппаратном уровне, при котором внутренний контроллер диска взаимодействует непосредственно с программой, а не через операционную систему. Это, в свою очередь, позволяет динамически изменять положение головки чтения: при чтении поврежденного сектора головка намеренно многократно перемещается вперед и назад на разные расстояния, в надежде, что при каждом возвращении в сектор она может остановиться в немного другом положении. Выполняя статистический анализ полученной последовательности результатов, SpinRite, по словам создателя, часто может "реконструировать" данные из поврежденных секторов, и даже в тех случаях, когда полная реконструкция невозможна, SpinRite способен извлечь все неповрежденные биты из частично нечитаемого сектора и записать их обратно или скопировать в новый блок, тем самым минимизируя потерю данных. SpinRite написан на языке ассемблера x86 и работает на любом ПК-совместимом компьютере, независимо от установленной операционной системы. Он может работать с любым подключенным устройством хранения с совместимым интерфейсом. Диски в компьютерах с несовместимыми процессорами можно протестировать, подключив диск к совместимому компьютеру. SpinRite распространяется как исполняемая программа для Microsoft Windows, которая может создавать загрузочный диск, содержащий операционную систему FreeDOS, совместимую с MS DOS, и саму программу SpinRite. Версия 6 совместима с жесткими дисками, содержащими любую систему логического управления томами или файловую систему, такую как FAT16 или 32, NTFS, Ext3, а также другие файловые системы Linux, HFS+ для Mac OS X, TiVo и другие. Версия 6 обеспечивает полный доступ ко всей поверхности диска независимо от разбиения на разделы, параметров технологии самоконтроля, анализа и отчетности (S.M.A.R.T.) и управления частичным сканированием в пределах заданного процентного диапазона. Версия 5 была ограничена жесткими дисками AT Attachment (PATA, IDE); версия 6 может работать на более новых жестких дисках Serial ATA (SATA) и USB на подходящих материнских платах, а также с любым другим типом диска (SCSI, 1394/FireWire), который можно сделать видимым для MS DOS путем добавления BIOS контроллера или драйверов DOS.

Диски твердотельного состояния

Spinrite может работать и быть эффективным на SSD, но запуск в режиме выше 1 или 2 вреден, так как он изнашивает SSD, выполняя ненужные записи. В эпизоде №387 подкаста Security Now! Гибсон сказал: "Запускайте уровень 2, потому что уровень 1 не имеет разрешения на исправление каких-либо ошибок. Разница в том, что уровни 1 и 2 предназначены только для чтения, и это ключевой момент. Не запускайте уровень 4". В эпизоде 194 подкаста Security Now! Гибсон заявил, что "не видит абсолютно никакой пользы от запуска SpinRite на твердотельном накопителе", а позже добавил: "SpinRite основан на механике и магнетизме, которых, по замыслу, нет в SSD". В эпизоде 338 Гибсон уточнил: "Это на самом деле вредно, потому что твердотельные накопители не любят запись", но также отметил, что запуск в режиме только для чтения может быть полезен: "Уровень 1 SpinRite – это сканирование только для чтения, и его выполнение на SSD имеет смысл. Сканирование SSD в режиме только для чтения покажет контроллеру SSD наличие проблем с чтением сектора, после чего он либо исключит этот сектор, либо перепишет его для повышения надежности, если это возможно. Таким образом, SpinRite может быть полезен для твердотельных накопителей". Кроме того, Гибсон ответил на вопрос на своем сайте, что "SpinRite работает на USB-накопителях и на всех других твердотельных накопителях".

S.M.A.R.T. на дисках SATA

Хотя SATA-накопители поддерживаются, SATA-контроллеры с встроенным процессором и диагностическим программным обеспечением могут ограничивать возможности SpinRite по получению и отображению данных S.M.A.R.T. (SATA-контроллеры типа "тонкий контроллер" этой проблемы не имеют). Эта функция мониторинга не влияет на возможности SpinRite по восстановлению данных и диагностике; данные S.M.A.R.T., при их наличии, помогают в долгосрочном обслуживании диска и прогнозировании возможных сбоев. Компания GRC сообщила в 2006 году, что эта проблема будет устранена в версии 6.1, которая, как ожидается, станет бесплатным обновлением для пользователей SpinRite 6.0.

Противоречия

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