Программа Flashnul.

Flashnul — очень маленькая консольная программа для проверки работоспособности и обслуживания носителей на флеш-памяти. Она работает с любыми накопителями: флеш-дисками USB, IDEFlash, SecureDigital, MMC, MemoryStick, SmartMedia, XD, CompactFlash и т. д.

Первоначально программа создавалась для программного ремонта накопителей с поврежденными файловыми системами (гарантированной записи нулей во все блоки) — отсюда и пошло ее название. Остальные функции постепенно добавля лись в очередных версиях утилиты. Программа бесплатна и распространяется вместе с исходными текстами по лицензии GNU. Официальная страница разработчика: http://shounen.ru/soft/flashnul.

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

  • тест чтения — проверка доступности каждого сектора носителя подобно про граммам проверки жестких дисков;

  • тест записи — проверка возможности записи каждого сектора носителя;

  • тест сохранности записанной информации — проверка соответствия записанной

  • прочитанной информации, аналогичная работе утилит для проверки оперативной памяти наподобие memtest, но уже в отношении флеш-накопителей;

  • недеструктивная проверка чтения/записи — позволяет проверить доступность для записи каждого сектора устройства, не теряя записанные данные. После проверки блока данные, содержащиеся в этом блоке, записываются обратно;

  • сохранение образа содержимого устройства — посекторное сохранение содержимого носителя в файл полностью или частично;

  • загрузка образа в устройство — посекторная запись образа в устройство.

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

Действия программы Flashnul зависят от параметров и аргументов, вводимых в командной строке. Для работы с физическими дисками программа должна запускаться от имени администратора — запустите окно интерпретатора командной строки: Пуск | Выполнить | cmd. Из командной строки запустите программу flashnul.exe. Можно делать это и непосредственно из диалогового окна Выполнить, но из окна командного интерпретатора удобнее запускать утилиту с различными параметрами.

Выполняемая без параметров или с параметром h программа выводит на экран краткую справку. Файл подробной справки с примерами находится в архиве с дистрибутивом программы.

Для показа списка доступных устройств введите в командной строке flashnul p и нажмите клавишу <Enter>. На экране появится список логических и физических дисков.

Чтобы ограничить список только физическими или только логическими дисками, используйте одно из двух значений параметра p:

  • flashnul p=1 — показ только физических дисков;

  • flashnul p=2 — показ только логических дисков.

ПРИМЕЧАНИЕ

Если в ответ на выполнение команды напротив диска выводится значение (not available), устройство в системе присутствует, но обратиться к нему невозможно. На пример, это может быть картридер, в котором нет карты памяти. В случае подключенного флеш-диска подобное сообщение — верный признак аппаратной неисправности устройства.

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

  • по номеру физического диска в списке физических устройств, например, flashnul 2 и л и flashnul 0;

  • по букве логического диска , например , flashnul a:, flashnul d:, flashnul E:.

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

Введите в командной строке команду flashnul с номером или буквой диска в качестве аргумента и нажмите клавишу <Enter>. Появятся сведения о диске.

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

  • Delta to near power or 2 — разница между истинным объемом и ближайшей степенью числа 2. Значение порядка 12 % от объема диска нормально. Величины больше 10 % (т. е., 12 Мбайт для 128 Мбайт, 100 Мбайт для 1 Гбайт) свидетельствуют об уменьшении емкости накопителя обычно в результате отключения контроллером поврежденных блоков. Для жестких дисков эта строка не имеет смысла;

  • Surplus size — разница между фактическим размером устройства и размером в CHS-адресации;

  • Removable device — физически сменное или несменное устройство; Command Queue — поддержка очереди команд (NCQ, TCQ и т. д.);

  • Device Vendor — производитель устройства. В этой строке приводится название устройства, сообщаемое его микропрограммой;

  • Device Name — название устройства. Также получается от микропрограммы; Revision — версия (ревизия) устройства;

  • Device serial — декодированный серийный номер устройства (во многих устройствах может отсутствовать);

  • Device hotplug — возможна ли «горячая» замена устройства. Для большинства флеш-дисков USB это так, однако если в настройках устройства включено кеширование записи, устройство считается не поддерживающим отключение на ходу;

  • Media hotplug — поддерживает ли носитель в устройстве «горячее» отключение. Это актуально для карт памяти в картридерах. Для флеш-дисков USB обыч но указывается No, т.к. отключается не носитель информации, а все устройство целиком.

Однако наша главная задача — сохранить образ диска в файл. Для этого служит параметр S (save). Обратите внимание, что параметр может указываться как в сокращенном, так и в полном виде, но с двумя тире.

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

Дополнительный параметр r (range) задает диапазон адресов (байтов) исходного носителя, из которых должно проводиться чтение. Может принимать одно или два значения, разделенных точкой с запятой (начало — конец). Каждое из этих значений — байты от начала устройства. Значения должны быть кратными размеру сектора, а максимальное значение ограничено двумя гигабайтами (2 147 483 647 байтов).

По умолчанию при сбое чтения операция прерывается. Чтобы программа игнорировала сбойные или недоступные блоки на накопителе, с которого проводится чтение, применяется параметр i (ignore). Он необходим, если в микросхеме флеш-памяти присутствуют дефектные блоки.

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

  • Сохранить образ диска F: в файл C:\backup.bin:

flashnul f: S C:\backup.bin

  • Скопировать первые 16 384 байта с устройства 1 и вывести их в файл C:\image.img, игнорируя ошибки чтения:

flashnul 1 S C:\image.img r=0;16384 i

При сохранении образа содержимое устройства не меняется, и для него опера ция безопасна. На работу с файлами образов существуют два ограничения:

  • файл образа никогда не может быть перезаписан. Если файл образа — даже ну левого размера — существует, выполнение операции будет прервано. Благодаря этому пользователь не сможет случайно уничтожить уже созданный ранее образ;

  • при первой же ошибке ввода/вывода на диске, куда записывается файл образа, вне зависимости от параметра i (ignore), выполнение операции будет прервано.

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

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

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