Накопители
просто о сложном

Новости в мире накопителей


Все новости

SSD Apacer Armor+ AS682 пополнил ряды накопителей с флэш-памятью TLC

| 2016-10-26 11:14:45 |

Ассортимент твердотельных накопителей компании Apacer пополнился новой серией Apacer Armor+ AS682....


Карта памяти Lexar Professional 2933x XQD 2.0 — Один из самых быстрых сменных носителей

| 2015-10-15 15:08:15 |

Компания Lexar представила карты памяти Lexar Professional 2933x и 1400x, соответствующие спецификации...


Новая флеш-память 3D NAND от Intel и Micron

| 2015-04-15 15:44:04 |

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


Lexar модели Professional 3400x - быстрая карта со скоростью передачи 512 мегабайт в секунду

| 2015-04-15 15:27:30 |

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


ФЛЕШКА С NFC-ЗАЩИТОЙ И VPN-ТОННЕЛЬ  С ПОМОЩЬЮ ДВУХ ФЛЕШЕК

| 2013-12-05 16:42:39 |

Интерес к необычным флешкам не ослабевает: весной этого года проект myIdkey собрал на...


РЕКЛАМА

 

Flashnul - утилита для очистки и диагностики сменных носителей. | 2010-09-22 00:00:00

version 1.0 rc2 (0.995)

ПРОГРАММА СОДЕРЖИТ В СЕБЕ ФУНКЦИИ, НЕПРАВИЛЬНОЕ ИСПОЛЬЗОВАНИЕ КОТОРЫХ ПРИВОДИТ К НАРУШЕНИЮ РАБОТОСПОСОБНОСТИ ОПЕРАЦИОННОЙ СИСТЕМЫ, НЕОБРАТИМОМУ УНИЧТОЖЕНИЮ ДАННЫХ.

АВТОР НЕ НЕСЁТ НИКАКОЙ ОТВЕТСТВЕННОСТИ ЗА ВОЗМОЖНЫЕ СБОИ В РАБОТЕ ПРОГРАММЫ, ПОТЕРЮ ДАННЫХ И ПОРЧУ ОБОРУДОВАНИЯ В ПРОЦЕССЕ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ ИЗ-ЗА ОШИБОК В ПРОГРАММЕ ИЛИ НЕКВАЛИФИЦИРОВАННЫХ ДЕЙСТВИЙ ПОЛЬЗОВАТЕЛЯ. ПОЛЬЗОВАТЕЛЬ ВОЛЕН ИСПОЛЬЗОВАТЬ ПРОГРАММУ НА СВОЙ СТРАХ И РИСК ИЛИ НЕ ИСПОЛЬЗОВАТЬ ВООБЩЕ.

КРАТКОЕ ОПИСАНИЕ

Flashnul - утилита по проверки работоспособности и обслуживанию Flash-памяти (USB-Flash, IDE-Flash, SecureDigital, MMC,MemoryStick, SmartMedia, XD, CompactFlash и т.д.). Список выполняемых операций:

  • Тест чтения - проверка доступности каждого сектора носителя (дублирует функциональность обычных HDD-тестов)
  • Тест записи - проверка возможности записи каждого сектора носителя (дублирует функциональность большинства HDD-тестов)
  • Тест сохранности записанной информации - проверка соответствия записанной и прочитанной информации (аналогично функциональности memtest, но в отношении flash-накопителей).
  • Недеструктивная проверка чтения/записи позволяет проверить доступность на запись каждого сектора устройства, не теряя записанные данные (после проверки блока данные, содержащиеся в этом блоке, записываются обратно)
  • Сохранение образа содержимого устройства - посекторное сохранение всего (или части) содержимого в файл. (аналогично функциональности dd из UNIX).
  • Загрузка образа в устройство - посекторная запись образа в устройство (аналогично функциональности dd из UNIX).

Все тесты выполняются на уровне абстракции блочных устройств и могут применяться по отношению и к другим типам носителей (floppy, HDD, CD, etc).

Немного лирики

Сменные носители на базе flash-памяти (такие как usb-flash drives, SD, MMC, MS,XD, MD, CompactFlash, IDE-flash etc) в силу ряда особенностей (hot-plug подключение, воздействие статики, влаги, температуры, механических воздействий при траспортировке, естественный износ из-за ограниченного числа циклов чтения/записи) относительно часто выходят из строя (хотя и реже жёстких дисков)

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

Обычные HDD-тесты в проверке устройств целиком полагаются на контроллер устройства в определении правильности считывания. Либо сектор не читается, либо он читается правильно. К сожалению, для Flash-носителей это не так, и относительно часты случаи, когда прочитанное не совпадает с записанным, или запись в один сектор повреждает другие сектора. Такие дефекты можно определить "полевыми испытаниями" - записью архивированных данных с последующей проверкой, некоторым периодом интенсивного чтения-записи файлов. Однако, такие "доморощенные" тесты не дают твёрдой уверенности в полной работоспособности устройства. Flashnul сначала создавался для служебных нужд (удобной и быстрой проверки работы USB-flash устройств), но потом вырос до универсального теста.

Ближайшим аналогом flashnul является memtest, проверяющий работу оперативной памяти. В какой-то степени flash-память больше похожа (по дефектам) на обычную оперативную память, чем на жёсткий диск.

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

Flashnul - это средство диагностики, а не лечения устройств, если тест говорит, что устройство работает некорректно, значит, оно работает некорректно.

Простить сделать так, чтобы flashnul "вылечил" флешку всё равно, что просить, чтобы memtest "вылечил" битую память.

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

ФОРМАЛЬНОЕ ОПИСАНИЕ

ВНИМАНИЕ!

Большая часть тестов деструктивные - они уничтожают информацию с flash-устройства, перед использованием рекомендуется сделать резеврную копию данных. КАТЕГОРИЧЕСКИ запрещено отключение устройства во время выполнения теста, это может привести к физическому повреждению устройства.

СИСТЕМНЫЕ ТРЕБОВАНИЯ

NT-based операционная система (windows 2000, XP, 2003, возможно NT4, Vista - не проверял). Процессор - от 686 (P2 и выше), 4Мб свободной оперативной памяти. (поддержку более старых процессоров можно включить, поменяв опцию -march в src\Makefile на нужную, например, на i486 и перекомпилировав исходные тексты) Для полноценной работы программы требуются права локального администратора . Информация о поддержке горячей замены у устройств выводится только в Windows XP и выше.

Принцип работы

Утилита вызывается в одном из трёх режимов:

  • показ справки (при запуске с ключом -h или без параметров)
  • показ доступных устройств (ключ -p)
  • выполнение операций над указанным устройством

Показ доступных устройств

Замечание: для старых не Plug-n-play устройств результаты могут быть неполны или неточны.

Команда вывода списка доступных устройств:
flashnul -p или flashnul -p= число
Команда выводит список логических и физических дисков в системе (если программа запускается не от имени администратора список физических дисков будет пуст). Список выглядит примерно так:

Avaible physical drives:
0 size = 10005037056 (9 Gb)
1 size = 1040187392 (992 Mb)
2 size = -1 ( -not avaible- )
3 size = -1 ( -not avaible- )
4 size = 513802240 (490 Mb)
5 size = -1 ( -not avaible- )
Avaible logical disks:
C:\ type=3 (Fixed)
D:\ type=5 (CD/DVD)
E:\ type=3 (Fixed)
F:\ type=2 (Removable)
G:\ type=2 (Removable)
H:\ type=2 (Removable)
I:\ type=2 (Removable)
Z:\ type=2 (Removable)


Строчка -not avaible- означает, что устройство в системе есть, но получить к нему доступ невозможно. Чаще всего это картридер без вставленной карты памяти. Если подобная строчка выводится для подключенного flash-устройства, это признак неисправности устройства.

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

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

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

  • 256 - выключение показа типа дисков ( -p=258 просто покажет список дисков без показа их типа)

Выполнение операций

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

Указание диска

Существует два основных метода указания диска:

  1. По номеру физического диска (соответствует номеру в списке физических устройств )
    например, flashnul 2 , flashnul 3 , flashnul 0 .
  2. По букве логического диска (список доступных букв выводится в списке логических дисков, регистр буквы роли не играет.)
    например, flashnul a: , flashnul d: , flashnul E:

Помимо основных методов есть возможность указать путь к устройству в UNC форме или в форме hadware enumerator. (Эти методы не нужны при обычном использовании программы).
примеры:

  1. \\.\PhysicalDrive0
  2. \\?\ide#diskst310211a_______________________________6.55____#4436314248563752202020202020202020202020#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

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

запуск c именем (номером диска) без параметров показывает информацию об устройстве в стиле:

Disk PhysicalDrive2 (UNC name: \\.\PhysicalDrive2)
------------------------------------------------------------[Drive geometry]--
Cylinders/heads/sectors = 63/255/63
Bytes per sector = 512
CHS size = 518192640 (494 Mb)
---------------------------------------------------------------[Device size]--
Device size = 524288000 (500 Mb)
delta to near power of 2 = 12582912 (12 Mb), 2%
Surplus size = 6095360 (5952 kb)
-----------------------------------------------[Adapter & Device properties]--
Bus type = (7) USB
Removable device = Yes
Command Queue = Unsupported
Device vendor = Pretec
Device name = i-Disk
Revision = 2.00
--------------------------------------------------------------[Hotplug info]--
Device hotplug = Yes
Media hotplug = No

[Drive geometry] — информация о размере диска в факторизации по количеству цилиндров, треков, секторов, количеству байт в секторе (CHS-адресация). Для современных устройств это скорее условность, чем настоящий размер. Выводимая информация:

  • Cylinders — количество цилиндров
  • Heads — количество головок (треков на цилиндре)
  • Sectors — количество секторов на треке
  • Bytes per sector — количество байтов в секторе
  • CHS size — результат перемножения первых четырёх величин, т.н. размер диска в CHS-адресации (обычно чуть меньше настоящего размера устройства).

[Free Space] — свободное/занятое пространство на диске (разделе). Информация имеет смысл только для форматированного раздела. В силу особенностей программы эта информация доступна только при открытии диска с общим доступом на запись (по-умолчанию отключен, включается опцией --write-share). Выводимая информация:

  • Total space — общий доступный объём раздела (эта величина меньше размера устройства, так как объём диска, занятый служебной информацией о файловой системе в эту величину не включается).
  • Free space — объём свободного места на разделе (всего).
  • Avaible space — объём доступного места на разделе (в большинстве случаев совпадает с Free space и не выводится, может отличаться, если включены дисковые квоты).

[Device size] — размер устройства. В случае работы с физическими дисками эти величины показывают данные относительно размера устройства, в случае с (несколькими) логическими дисками на устройстве эти величины показывают данные относительно диска, на котором раздел находится. Выводимая информация:

  • Device size — размер устройства
  • delta to near power or 2 — «расстояние» до ближайшей степени двойки. Значение порядка 1-2% от объёма диска нормально, величины больше 10% (т.е. 12Мб для 128, 100Мб для 1Гб) свидетельствуют об уменьшении ёмкости накопителя (обычно происходит при отключении контроллером повреждённых областей). Для жёстких дисков эта строка не имеет смысла .
  • Surplus size — разница между фактическим размером устройства и размером в CHS-адресации.

[Adapter & Device properties] — данные об устройстве и шине подключения. (та информация, которая недоступна просто не выводится, например, для многих устройств отсутствуют данные о ревизии). Выводимая информация:

  • Bus type — интерфейс подключения (SCSI, ATAPI, ATA, IEEE1394, SSA, FIBRE, USB, RAID, ISCSI, SAS, SATA) и его числовой код.
  • Removable device — сменное или несменное устройство (физически)
  • Command Queue — поддержка очереди команд (NCQ, TCQ, и т.д.)
  • Device Vendor — производитель устройства (строка, которая отдаётся самим устройством, может быть произвольной или отсутствовать вообще)
  • Device Name — название устройства (аналогично — произвольная строка)
  • Revision — ревизия устройства
  • Device serial — декодированный серийный номер устройства, может отсутствовать во многих устройствах

[Hotplug info] — информация о «горячем» подключении. Доступна только при работе в Windows XP или старше (не поддерживается в Windows 2000/NT). Выводимая информация:

  • Device hotplug — является ли устройство заменяемым «на ходу». Для большинства USB-устройств это так, однако если в настройках устройства включено кеширование записи, устройство считается НЕ поддерживающим отключение на ходу.
  • Media hotplug — поддерживает ли носитель в устройстве (в основном касается картридеров) горячее отключение (для USB-Flash тут обычно пишется No, потому что отключается не носитель информации, а всё устройство; для CD/DVD дисков это тоже обычно «No» по непонятным мне причинам).

Указание операции

За один вызов можно выполнить не более одной операции. Имя операции указывается или в полном, или в сокращённом виде. Полное имя начинается с -- , сокращённое с - .

Короткое имя Длинное имя Описание Пример вызова
-R --read Тест чтения. flashnul 0 -R
-T --test Стандартный тест записи/чтения (уничтожает информацию на устройстве) flashnul 2 -T
-Q --quick Быстрый тест чтения/записи (относительно безопасен) flashnul f: -Q
-F --fill Заполняет все сектора указанным байтом (затирает). По-умолчанию затирает нулём flashnul z: -F
flashnul z: -F=5
-I --incremental Запуск специфичного инкрементального теста (для проверки на ошибки контроллера). Уничтожает информацию на устройстве. flashnul x: -I -V=2
-B --blank Стирает первый сектор на устройстве flashnul y: -B
-S --save Сохраняет образ устройства в файл (имя файла указывается после опции) flashnul D: -S c:\image
-L --load Загружает файл (образ) в устройство flashnul D: -L c:\image

Модификаторы

Поведение многих опций может быть изменено с помощью опций-модификаторов. Они могут указываться как отдельно, так и рядом с опцией выбора операции ( -T -P эквивалентно -TP ).

Короткое имя Длинное имя Описание Пример вызова
-V --verify Режим проверки записи (0,1,2,3) flashnul 2 -F -V=3
-P --no-prompt Отключить запрос на деструктивные операции (осторожно!) flashnul 2 -TP
-i --ignore-errors Не останавливаться после первой ошибки flashnul -S c:\image -i
-c --cycle Количество циклов тестирования flashnul 2 -T -c=3
-b --block-size Размер блока в операциях чтения/записи flashnul G: -F -b=512
-r --range диапазон, в котором проводятся операции. Принимает 1 или 2 числа, если числа нет, предполагается "от начала" (или "до конца"). flashnul -F -r=512;1024
-m --mode для -I опции указывает режим тестирования (0 - инкрементальная запись, 1 - шахматная) flashnul 4 -I -m=1 -c=10
-k --disable-key выключает запрос [Enter] в конце теста flashnul K: -FTk
-d --delay Интервал времени (в сек.) перед началом второго теста чтения в режимах тестирования -T и -I. flashnul J: -T -d=3600
--write-share Открывать устройство в режиме "общего доступа на запись". Тестирование в этом режиме может быть ошибочным, но он полезен для выполнения операций за заблокированными устройствами flashnul C: --write-share -F
--ignore-block Игнорировать блокировки из конфигурационного файла.

Результаты тестирования

По завершении работы выводится результат:

----------------------------------------------------------[Operation result]--
passes: 1
errors: 0
read bytes: 1048576000 (1000 Mb)
avg. read speed: 5361130 (5235 kb/s)
max/min read speed: 7744769 (7563 kb/s) / 626065 (611 kb/s)
write bytes: 524288000 (500 Mb)
avg. write speed: 4652118 (4543 kb/s)
max/min write speed: 7845525 (7661 kb/s) / 679353 (663 kb/s)
  • passes — количество проходов (если 0 — тестирование не завершено)
  • errors — количеcтво найденых ошибок, если число отлично от нуля - дефект устройства (или устройство отключили во время теста).
  • read bytes — количество прочитанных байтов, если циклов больше 1 или включен режим -V=3, то это число будет больше размеров устройства.
  • avg. read speed — средняя скорость чтения (прочитанных байт/время чтения)
  • max/min read speed — максимальная/минимальная скорость чтения (note: я не уверен в достоверности этих двух чисел, опция экспериментальная)
  • write bytes - количество записанных байтов, если циклов больше 1, то это число будет больше размеров устройства.
  • avg. write speed - средняя скорость записи (записанных байт/время записи)
  • max/min write speed - максимальная/минимальная скорость записи (note: я не уверен в достоверности этих двух чисел, опция экспериментальная)

Подробное описание режимов работы

Режим -B (--blank)

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

  • быстрого удаления таблицы разделов
  • быстрой проверки на доступность устройства

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

Примеры вызова

flashnul 1 -B
Стирает загрузочный сектор на втором физическом диске.

flashnul f: -B -P или flashnul f: -BP
Стирает загрузочный сектор на диске F: без подтверждения операции (осторожно!)

flashnul g: -B -P -k или flashnul g: -BPk
Стирает загрузочный сектор на диске G: без подтверждения, с автозавершением приложения.

Режим -F (--fill)

В данном режиме осуществляется заполнение устройства указанным байтом (по-умолчанию нулём). Опция, указывающая этот режим может принимать числовой параметр от 0 до 255 — байт заполнения. Опция --range может изменять область заполнения (по-умолчанию всё устройство).

Данный тест предназначен для:

  • Уничтожения информации на носителе (необратимо!)
  • Проверки на запись, правильность записи (не очень надёжно, есть режим -I)
  • Запись определённого сектора определённым значением
  • Измерения линейной скорости записи на устройство

Примера вызова

flashnul 3 -F
Заполнить нулями четвёртое физическое устройство. (осторожно! Информацию восстановить будет невозможно!)

flashnul 5 -F=200
Заполнить шестое физическое устройство байтом 200 (0xC8)

flashnul e: -F --range=0;2048 -P
Заполнить на диске E: нулём байты с нулевого по 2048ой.

flashnul h: -F=255 -V=3 -P -k
Записать числом 255 (0xFF) устройство H: , произвести двойную проверку записи (см описание --verify), без подтверждения, по завершению операции закрыть приложение.

-I --incremental

Данный тест предназначен для полного тестирования устройства (это основной режим тестирования). В сектора устройста записывается последовательность байтов, зависящая от номера устройства. Этот режим позволяет контролировать правильность записи, отсутствие влияния записи в один сектор на содержимое другого сектора. Существуют два режима для данного теста, режим -m=0 (по-умолчанию) и -m=1.

Тест -m=0

тест -I -m=0 (или просто -I) осуществляет запись возрастающей последовательности. Это позволяет обнаружить ошибки "промаха" в записи, появляющийся у некоторых контроллеров.

тест -I -m=1 осуществляет запись "шахматки" (комбинацию 0xFF, 0x0). Это, фактически, самый простой тест для выявления ошибок записи. Он задан в виде готовой опции -T (которая равна -I -m=1 -V=3)

Примеры вызова

flashnul -I D: -V=3
Выполнить инкрементальную проверку для диска D:, осуществить двойную проверку на чтение (см. --verify)

flashnul 1 -I -m=1 -V=3 -c=10 -d=10 -P -k -i
Выполнить десять циклов (-c=10) проверки второго физического устройства в режиме 1, игнорируя ошибки (-i), без подтверждения выполнения операции, с завершением программы по окончании теста.

flashnul -I 3 -r=512;1024
Записать 512 байт со смещения 512 последовательностью на физическом устройстве 3

-R, --read

Данный тест осуществляет проверку читаемости устройства (эта операция безопасна), используется для простейшей проверки работоспособности устройства, измерения скорости записи.

Примеры вызова

flashnul C: -R
Проверка чтения для диска C:

flashnul D: -R -r=1024;2048
Проверка читаемости секторов со смещения 1024 до смещения 2048 на диске D:

-S, --save

Сохараняет образ устройства в файл, имя файла должно быть указано после параметра (например, -S c:\image). Содержимое устройства не меняется, операция безопасна. Можно использовать символ '-' (дефис) для указания stdout. Существует ряд ограничений на работу с файлами образов:

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

Другими словами, образ всегда должен находиться на рабочем устройстве.

Примеры

flashnul f: -S e:\backup.img
Сохранить образ диска F: в файл e:\backup.img

flashnul D: -S - -r=0;2048
Скопировать первые 2048 байт диска D: и вывести их в stdout (2048 байт - размер сектора на CD).

flashnul 2 -S saveimage -i
Скопировать с третьего устройства содержимое в файл saveimage игнорируя ошибки чтения с устройства (ошибка записи в файл завершит работу программы).

flashnul 2 -S - |gzip -c -9>c:\image.gz
Сохранить образ третьего устройства в архивном файле image.gz (используется утилита gzip).

-L, --load

Загружает содержимое файла в устройство, затирая старое его содержимое. (Обратная к -L). Эта операция необратимо уничтожает содержимое устройства. Обязательный параметр - имя существующего файла или '-' для указания stdin. Опция -i (игнорировать ошибки) относится только к файловым операциям с диском, но не с файлом (при первой же ошибке работа программы будет остановлена).

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

flashnul A -L c:\floppy.img
Загрузить образ на диск А (дискету).

cat c:\image.gz | gzip -d |flashnul 2 -L -
Загрузить в третье устройство образ (разархивировав).

flashnul 5 -L c:\myfile -r=2048
Загрузить содержимое файла в шестое устройство со смещения 2048.

-T --test

Фактически, режим тестирования -T, это объединение стандартных настроек для -I (-T == -I -V=3 -c=2 -d=10 -m=1). Этот режим - наиболее часто вызываемый режим тестирования.

Пример вызова

flashnul Z: -T
Запуск тестирования устройства Z:

-Q --quick

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

Данный тест не должен повреждать данные (т.к. исходные данные пишутся обратно), но в определённых случаях на сбойных устройствах запись на диск может быть прервана, и данные будут повреждены. Режим -V (проверки) для данного теста не учитывается.

Пример вызова

flashnul F: -Q

-U --update

Это недеструктивный тест записи. Его алгоритм - блок данных читается с устройства в память и пишется обратно. Данный тест не позволяет выявить сложные ошибки (вроде порчи данных), но позволяет проверить каждый сектор на доступность чтения/записи. Т.к. во время теста осуществляется запись на устройство, отключать его категорически нельзя - данные могут быть повреждены. Так же, в случае если флешка "умирает", может произойти ошибка записи и данные так же будут повржедены. Так же, если диск открыт в режиме "общего доступа на запись" (WRITE_SHARE), возможны ошибки из-за одновременной записи в одинаковые блоки.

Пример вызова

flashnul Z: -U

Модификаторы

-V, --verify

Устанавливает режим проверки записи на устройство. В настоящий момент существуют 4 режима:

  • -V=0 (по-умолчанию) - не проводить проверку записи
  • -V=1 - читать и сравнивать прочитанное и записанное для каждого блока данных. В этом режиме поочерёдно блок сначала пишется, потом читается
  • -V=2 - читать и проверять записанное после завершения записи устройства. Сначала полностью выполняется вся запись, после чего осуществляется чтение и проверка совпадения прочитанного и записанного.
  • -V=3 - комбинация режимов 1 и 2. В этом режиме после записи каждого блока осуществляется чтение и проверка, и после завершения записи осуществляется ещё один проход чтения и проверки.

Для опции -S существует только один режим проверки (вне зависимости от режима, либо проверка выключена (-V=0), либо включена, любое другое число). При этом после записи каждого блока осуществляется его чтение и проверка.

Режим -V=3 является необходимым для выявления большинства ошибок с порчей данных на устройстве.

-i, --ignore-errors

Опция предназачена для пропуска ошибок при выполнении операций с устройством (по-умолчанию при возникновении ошибки работа программы завершается). (Замечание: игнорируются ТОЛЬКО ошибки работы с устройством, файловые ошибки работы с образами по-прежнему завершают программу).

--write-share

Опция для разрешения совместного доступа к устройству. По-умолчанию диск открывается без общего доступа на запись, и в ряде случаев Windows может запретить такой режим. Write-share позволит осуществить операцию и с заблокированными устройствами, однако, в этом режиме возможна ситуация одновременной записи на диск flashnul'ом и сторонней утилитой, что приведёт либо к ложному срабатыванию теста, либо к повреждению записанных данных.

-P, --no-prompt

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

-c, --cycle

Количество циклов операции. Имеет смысл только для -T, -F, -I режимов. Количество циклов указывается через пробел или знак "=". (Например, flashnul 3 -T -c 5 )

-r, --range

Диапазон, в котором выполнять операцию. Может принимать одно или два значения, разделённые точкой с запятой (начало-конец). Величины - байты от начала устройства. Значения должны быть кратными размеру сектора.

-b, --block-size

Размер блока данных при операциях чтения/записи. По-умолчанию 64кб при работе с блочными устройствами, 4кб при работе с stdin/stdout (чтение/записи образ). Размер должен быть кратен размеру сектора, для ряда устройств есть ограничение на максимальный размер блока данных.

-d, --delay

Задержка перед чтением записанного для режимов -V=2 и -V=3 в секундах.

Файл конфигурации

По-умолчанию flashnul читает файл конфигурации flashnul.conf , лежащий "рядом" с исполняемым файлом (в той же директории).

Структура файла

Каждая строка в файле — отдельная директива. Символ '#' (октоторп) указывает на комментарий (весь текст за символом до конца строки считается комментарием).

Директивы, подразумевающие несколько значений могут указываться несколько раз, в этом случае их параметры объединяются.

Файл конфигурации имеет больший приоритет, чем командная строка (если парметр указан в командной строке и в файле используется значение из файла, кроме случаев, когда значения объединяются).

Список директив

  • verify - установить режим verify (см описание --verify), параметр указывается через '='.
  • no-prompt - не выдавать запроса на деструктивные операции (ОСТОРОЖНО!), указывается без параметров.
  • ignore-errors - игнориорвать ошибки ввода/вывода с устройства (указывается без параметров).
  • cycle - количество циклов теста по-умолчанию (параметр - число)
  • block-size - размер блока ввода/вывода (число)
  • range - диапазон операций (число)
  • mode - режим для -I теста (число)
  • delay - задержка между записью и чтением (число, секунды)
  • disable-key - отключение нажатия [enter] в конце работы программы
  • write-share - включение общего доступа на запись (см описание --write-share), указывается без параметров.
  • block-vendor - блокировать запись по полю vendor (производитель), строки, разделённые точкой с запятой (;)
  • block-name - блокировать запись по полю device name (имя устройства), строки, разделённые точкой с запятой (;)
  • block-serial - блокировать запись по полю serial number (серийный номер), строки, разделённые точкой с запятой (;)
  • block-bus - блокировать запись по имени шины (UNKNOWN, SCSI, ATAPI, ATA, IEEE1394, SSA, FIBRE, USB, RAID, ISCSI, SAS, SATA), строки, разделённые точкой с запятой (;)
  • block-non-removable - блокировать запись на несменные устройства (указывается без параметров)
  • block-device - блокировать запись по любому полю (из вышеперечисленных), строки, разделённые точкой с запятой (;)
  • block-letter - блокировать запись на диск с указанной буквой (латинские буквы, разделённе точкой с запятой)
  • block-number - блокировать запись на физический диск с указанным номером. (числа, разделённе точкой с запятой)
Все опции block-* могут быть "подавлены" опцией командной строки --ignore-block

Тонкая настройка программы

Отдельные параметры работы программы могут быть изменены только при перекомпиляции, изменением значений переменных в файле finetune.h:

  1. REFRESH_DELAY — частота обновления экрана во время выполнения операций (задаётся в милисекундах, интервал времени между обновлениями), значение по-умолчанию 100 (10 раз в секунду).
  2. LINE_LENGHT — размер строки при обновлении строки выполнения операций и заголовков секций (значение по-умолчанию 78).
  3. HOME_DIR_CONFIG — файл конфигурации следует искать в каталоге приложения, а не в текущем каталоге.
  4. CONFIG_FILE — имя конфигурационного файла. (по-умолчанию: flashnul.conf)
Взято с http://shounen.ru/soft/flashnul/readme.rus.html

Распечатать эту страницу


Всего просмотров этой страницы: 27808. Сегодня: 4
Главная | About Us | Our Clients | | Price List | Contact Details
© 2010 USB-DISK.RU All Rights Reserved