Restore dco error api parameter error

Часто задаваемые вопросы о программе Victoria v. 4.xx (архив) Q: Какое отношение сайт ***911.com имеет к программе Victoria? Там сейчас что-то непонятное творится… A: Этот домен известен тем, что в период с 2005 по 2016 г. на нём был мой сайт, и с него можно было скачать официальную версию программы Victoria. Однако, сейчас он […]

Часто задаваемые вопросы о программе Victoria v. 4.xx (архив)

Q: Какое отношение сайт ***911.com имеет к программе Victoria? Там сейчас что-то непонятное творится…
A: Этот домен известен тем, что в период с 2005 по 2016 г. на нём был мой сайт, и с него можно было скачать официальную версию программы Victoria. Однако, сейчас он мне не принадлежит, и не имеет никакого официального отношения к программе Victoria. Единственный официальный (контролируемый автором, т.е. мной) сайт программы Victoria – https://hdd.by (и как следствие www.hdd.by).

Q: Мой винчестер стал плохо работать. При открытии некоторых файлов компьютер тормозит, а из диска слышится странный скребущий звук. Но поскольку, информацию терять нельзя, я хочу попробовать починить его своими силами, вылечив дефектные секторы с помощью программы Victoria…
A: Это очень опасное и недопустимое решение, если на умирающем винчестере имеется важная информация! Ремонт путем лечения дефектов — это фактически, один из способов записи на накопитель. При этом информация может быть сильно повреждена. Но даже чтение с накопителя, имеющего проблемы — очень опасно тем, что неизвестен точный диагноз проблемы. Например, у винчестера может быть царапина на диске, которая при контакте с читающей головкой — быстро выведет её из строя. Поэтому, первое, что нужно сделать при подозрении на неисправность накопителя с ценной информацией — немедленно выключить его , и обратиться к специалисту по восстановлению данных. И это должен быть не компьютерщик, а именно специалист по восстановлению информации, имеющий опыт и специальные инструментальные средства для безопасного чтения повреждённых накопителей.
Ну а уже после восстановления данных — можно попробовать этот накопитель отремонтировать.

Q: Подскажите, где что выбрать, и какие галочки проставить, чтобы проверить свежекупленный жесткий диск? Запутался в режимах и настройках)
A: Вот самый простой вариант:
Винчестер лучше всего тестировать не-форматированным, т.е. без создания на нём каких-либо разделов.

  1. Подключите новый накопитель к компьютеру стандартным способом. Если он внутренний, то возможно, потребуется перезагрузка.
  2. Зайдите в Windows под учётной записью администратора.
  3. Запустите программ Victoria.
  4. Убедитесь, что в правом верхнем углу выбран режим API. Элемент выбора может быть неактивным, если система Windows x64. Это нормально.
  5. При этом Вы увидите список всех накопителей, присутствующих в компьютере. Среди них будет и тестируемый диск.
  6. Щёлкните мышкой по нему.
  7. Перейдите на вкладку Tests и нажмите кнопку Start.
  8. Дождитесь окончания проверки (она может длиться час и более).

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

Q: Хочу стереть винчестер, для этого запускаю тест записи через API. Но программа выдаёт множество ошибок « ABRT » и все блоки — синие, как на рисунке. Чтение — нормальное, винчестер абсолютно исправный. Как быть?

A: Скорей всего программа запущена под Windows 7 или выше. Эти системы, в отличие от XP, имеют повышенные критерии безопасности, и не дают производить запись на диск, имеющий логические разделы. Однако, решение существует. Необходимо дезактивировать на диске главную загрузочную запись, после чего полное стирание винчестера станет возможным. Для дезактивации всех разделов достаточно обнулить 0-й сектор накопителя:

  • Откройте вкладку «Advanced» и нажмите кнопку «MBR OFF». После этого диск надо переопределить в системе:
    • Если накопитель с интерфейсом USB — выньте его провод и снова вставьте в USB-порт.
    • Если накопитель внутренний, то в диспетчере устройств Windows отключите его, и сразу же снова включите. Если компьютер попросит перезагрузку — то придется её выполнить.
  • Выберите в программе «Victoria» данный накопитель.
  • Запись должна заработать.

Вопрос #4

Q: Можно ли заставить работать ПО Виктория в режиме PIO (через драйвер porttalk) в WinPE (BartPE)? Porttalk мне запустить удалось (о чем можно узнать, запустив allowio). Файл с драйвером лежит при этом в i386system32drivers. Однако Виктория при запуске пишет, что не смогла скопировать драйвер и будет работать только в режиме API.
A: Да. Нужно открыть ini-файл программы, и в секции [setup] создать параметр: Autoinstalldriver=0
После чего перезапустить программу. Это запретит копирование драйвера при каждом запуске.

Q: Я занимаюсь профессиональной работой с накопителями. Какой SATA-контроллер идеально подходит для режима PIO и обеспечивает наибольшую скорость?
A: Любой модели, фирмы NVidia. Это стандартные SATA-контроллеры, встроенные в чипсет материнской платы на чипсете NVidia. И скорость в PIO у них наибольшая.

Q: В режиме API, под Windows 8 — не работает лечение дефектов методом «Remap» на HDD. В лог выводится сообщение « try Remap…Error «. Однако, в режиме PIO на другом компьютере дефекты нормально были исправлены.
A: Вам нужно ознакомиться с ответом на вопрос #3. Дело в том, что Windows 7 и выше — чрезмерно заботятся о безопасности, и запрещают запись на винчестеры, имеющие логические разделы (даже если эти разделы скрыты). А поскольку, ремап — это, фактически, прямая запись на накопитель, то и решение проблемы будет аналогично вопросу #3: необходимо выполнить отключение MBR, и после этого лечить дефекты.

Q: Как включить отображение графика тестирования в новой версии программы?
A: На вкладке «Tests» снять галочку «Grid».

Q: Давно были проблемы проверки больших винчестеров на x32 системах в режиме Grid: банально заканчивалась ОЗУ под «кубики». Видел сторонний патч, после которого кубики более не показывались, только график. Как сейчас дело обстоит?
A: Проблема пока была решена так: увеличен размер блока секторов, сопоставленный «кубику». На накопителях большого объёма он стал в 8 раз больше (2048 секторов в кубике). На SSD — в 64 раза (16384 сектора). Во столько же раз меньше памяти программа жрёт, и более плавно сканирует. Если посмотреть в диспетчере задач, то расход памяти не превышает 150 Мб. Если программа автоматически выставляет иной размер блока, чем Вам нужно (например, 256 секторов на HDD большого объёма), то нужно снять галку «block size/auto» на вкладке «Tests», и вручную указать размер блока.

Q: Имеется старый внешний накопитель с интерфейсом USB 2.0. И при его тестировании скорость очень медленная, отчего много «мутных» блоков. Существует ли версия прграммы для нормальной работы с таким старьём?
A: Всё решается гораздо проще. На вкладке «Tests» попробуйте установить Verify вместо Read. Скорость должна возрасти в несколько раз.
Кстати, таким же способом можно пробовать тестировать SD-карты в старых, медленных кардридерах. Но тут результат менее предсказуем. Некоторые кардридеры ответ на команду верификации просто эмулируют.

Q: Write в Victoria или например HDD Low Level Format Tool — затирание секторов нулями… после таких манипуляций — есть шанс восстановить данные? Зачем тогда в «шреддерах» (специальных комплексах для уничтожения информации), организовано по 25-35 проходов?
A: Я как-то делал на заказ программу для удаления информации, и там тоже заказывали 3 прохода:) Вероятно, это связано с какими-то устаревшими стандартами на информационную безопасность, которые требует соблюдать служебная инструкция. Но для современных накопителей — одного полного прохода записью достаточно, чтобы данные не восстановил никто.

Q: Нужно ли в BIOS переключать AHCI в IDE для полноценных Remap/Restore?
A: Отключение AHCI (аббревиатура «Advanced Host Controller Interface») актуально только для тех пользователей, кто хочет работать с накопителями в режиме PIO, и если программа не видит винчестер. В режиме API — пусть остаётся AHCI, ибо так скорость работы выше.

Q: В разделе со списком дисков — первые 2 висят под своим именем, другие 2 подписаны как Virtual drive или просто Drive. С чем это связано?
A: Это означает, что Windows через API-функцию видит диск так, что у него в C/H/S-геометрии число S не равно 63 (HDD), 32 (CD) или 18 (FDD). Такое бывает на всевозможных контейнерах BestCrypt и RAID-ах, но не исключено и на HDD. В данном случае это никак не мешает: ведь ATA-паспорт винта отдаётся нормально (а в нём уже прописана та C/H/S-геометрия, что заложена на заводе-изготовителе HDD).
Если же Вы хотите посмотреть на этот диск «глазами» Windows, то на вкладке Setup поставьте галку «Only passport SCSI command» и обновите список устройств. Только потом обратно верните, т.к. в этом режиме функционал программы гораздо меньше.

Q: Тестирую жесткий диск Seagate ST1000DM003 в Victoria. Находит 4 BAD сектора, выписываю их адреса, при повторном тестировании количество “BAD” сохраняется, но адреса совершенно другие.
A: Адреса, которые выводятся в лог — это не адреса секторов, а адреса первого сектора в блоке, имеющем дефект.
Если тестируете во всех случаях:

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

…а номера «плохих» блоков всегда разные — то причина в том, что HDD в этих местах просто не читается на текущий момент. Он может неуверенно читаться, и выдавать ошибки каждый раз в разных местах. Для выявления точных адресов дефектных секторов — можно использовать дефектоскоп, работающий в режиме PIO.

Q: Почему в Victoria нет определения точных адресов дефектных секторов в режиме API? Это недостаток?
A: Это не недостаток, а преимущество программы Victoria. Этим она оберегает ваш винчестер. Для поиска точных адресов необходимо сначала найти дефектный блок, затем разложить его на секторы, и просканировав, вычислить номер сектора. Это будет сопровождаться не одной, а двумя попытками чтения дефекта, что при большом кол-ве дефектов займет вдвое больше времени, и может быть небезопасно для тестируемого накопителя. Victoria экономит время и Ваши нервы на этапе диагностики диска, исключая бесполезные действия.
Однако, для домашнего применения совершенно не нужно знать адреса секторов. Ведь при их лечении функциями Erase или Remap, программа сама найдет точные адреса секторов, и сделает так, как нужно.

Q: Почему при работе через API, в программе бывает блокирована работа с паролями (Security manager), а для многих USB-винчестеров — доступна?
A: Установку пароля на внутренние диски через API я не стал делать по трём причинам:

  1. Windows 7..10 вообще не даст это сделать, блокируя всё, что кроме паспорта и S.M.A.R.T.
  2. Современные версии Windows вводят HDD в состояние Freeze Lock, чтобы вирус не мог поставить пароль.
  3. Есть риск ошибочно поставить пароль на системный накопитель, и компьютер придет в аварийное состояние после выключения. Придется иметь кучу «радостей» с поиском загрузочной флешки, вспоминать пароль (который останется в логах на запароленном накопителе) и тд.

Что касается паролирования USB-винтов, то тут как раз есть реальная польза. Во-первых, это может защитить данные от несанкционированного доступа. Во-вторых, если даже пароль забудется — он останется в логах.

Q: На HDD — 503 сектора переназначены уже, при ремапе программа вообще ничего не делает с оранжевыми и красными секторами, то есть с проблемными и битыми блоками не работает!?
A: Цветные блоки могут быть результатом замещения дефектных секторов на исправные из резерва. Резерв находится довольно далеко от места лечения, и за счет времени позиционирования магнитными головками в резервную область — блок выглядит как медленный, хотя при этом исправен.

Q: У моего накопителя в SMART какое-то совершенно дикое число отработанного времени. В каких единицах оно измеряется?
A: Огромное число в графе RAW напротив какого-то атрибута SMART — это обычно сложно-составное значение. Оно состоит из 3 или 4 меньших чисел, которые наглядно видны в 16-ричном представлении. Рассмотрим на примере SMART SSD OCZ-Vertex:

Для того, чтобы понять «странное» значение, его нужно перевести из десятичного в шестнадцатиричный (HEXadecimal) формат. В версиях программы, начиная с 4.68 это можно сделать, установив чекбокс 2, и затем повторно получить SMART кнопкой 1.

Теперь мы видим, что «сырое» значение фактически состоит из трёх отдельных 4-байтных чисел:
СС9С, 0000, A382. Их назначение определяется производителем.
A382h — это десятичное число 41858. В данном случае оно и является часами наработки. Остальные поля содержат минуты и секунды (возможно, в долях секунд). Это можно выяснить, получив SMART несколько раз подряд, и посмотрев, как именно меняется RAW-значение.
Таким образом, переключив отображение RAW-SMART-значений на HEX-представление, можно исследовать динамику изменения отдельных полей сложносоставных значений атрибутов. В накопителях разных моделей и фирм-изготовителей могут встречаться сложносоставные RAW-значения c зарезервированными полями (их 4-байтные значения всегда равны 0000), с старшими и младшими разрядами, следующими в обратном направлении, и тд. Единого стандарта, к сожалению, пока не существует.

Q: Не получается включить режим PIO, хотя система Windows x32 и права администратора имеются. Что делать?
A: Откройте файл vcr40.ini и найдите в нём, в секции [Setup] ключ Autoinstalldriver. Присвойте ему значение 1, чтобы было Autoinstalldriver=1.
Сохраните файл vcr40.ini. Перезапустите программу Victoria. Должно помочь.

Q: Функция Refresh в скане поверхности версии программы 4.72 — что это?
A: Это возможность исправить проблему «медленного чтения» старых файлов на некоторых накопителях, например на SSD Samsung EVO или Seagate Barracuda 7200.7. У них имеются ошибки в «прошивке», которые приводят к подобному эффекту, но не являются официально признанной неисправностью. Поскольку медленными участками диска становятся прежде всего те, на которые давно не производилась запись, то их перезапись своей же информацией восстанавливает нормальную скорость без потери данных.
Однако часто бывает, что данная проблема — признак серьезной неисправности накопителя, в частности, следствие умирания блока магнитных головок на Seagate и WD. В таком случае применение Refresh — это лишние насилие над накопителем и большой риск окончательного его выхода из строя!
Не используйте эту функцию, если важные данные не сохранены в надёжное место!

Следует также отметить, что функция Refresh в чистом виде работает только на Windows XP.
Для использования в Windows 7….10 следует выполнить отключение MBR в соответствии с вопросом-ответом #3 этого FAQ.

Q: У меня в компьютере установлен SSD форм-фактора M.2, с заявленной скоростью чтения 1500 мб/с. Однако «Виктория» показывает всего 300 мб/с. В чём причина?
A: Перейдите на вкладку Tests и посмотрите размер блока (block size). Для SSD нужно установить 16384 сектора или больше. Обычно это делается автоматически, но иногда программа не распознает SSD, и устанавливает размер по-умолчанию (256 секторов).
После установки размера блока вручную — показания тестов должны стать объективными.

Источник

Что такое Device Configuration Overlay или сокращенно — DCO

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

Как работает DCO

     Винчестер имеет служебную микропрограмму («прошивку»). Она определяет свойства и поведение конкретной модели накопителя. Если в процессе его жизни выяснится, что в микропрограмме допущена ошибка или можно что-то улучшить — производитель выпускает обновление прошивки.
     Когда разработчики создают винчестер, они стараются заложить в него большой набор функций, чтобы соответствовать стандарту и расширить область применения изделия. Ведь его могут применять в разных устройствах: компьютерах, системах видеозаписи, музыкальном центре, автомобиле, внешнем боксе, и даже в станке с ЧПУ.
     Но иногда оказывается, что некоторые функции сильно мешают. Для того, чтобы их выключить, нет смысла менять всю программу. Достаточно изменить лишь её настройки. Для этого был придуман Device Configuration Overlay — отдельный небольшой модуль, в котором эти настройки хранятся и могут меняться пользователем. При этом находящаяся на винчестере информация никак не затрагивается.

«Весёлая» история

     В начале 2000-х годов производители материнских плат очень старались застраховать своих пользователей от потери содержимого BIOS — микросхемы, обеспечивающей старт компьютера. Прошивки BIOS иногда портились, а также могли быть стёрты вирусами, специально созданными для порчи Flash BIOS (например, «Чернобыль»). После такого события — компьютер становился совершенно неработоспособен, и требовал квалифицированного ремонта.
     И вот, конструкторы плат придумали небольшой, и как им самим показалось — удачный лайфхак. Они стали дублировать прошивку BIOS в самый конец винчестера, где нет разделов. А чтобы пользователь и вирусы не ковырялись в ней — стали «закрывать» эту область через обрезание размера винта командой HPA. Но «недолго музыка играла».
     Примерно в 2004-м году ёмкости серийно продаваемых винчестеров стремительно преодолели планку в 128 Гб, и перешли на адресацию 48 бит. И тут началось такое, что никто не ожидал. Новые жесткие диски заблокировались на объём 768Mb и заметно потрепали нервы пользователям. Ведь для их разблокировки многим пришлось обращаться в сервис. Причина оказалась в том, что встроенная в BIOS программа уменьшения объёма HDD не была рассчитана на адресацию, более чем FFFFFFFh секторов (это 268435455 x 512 = 131071 Mb — предел для 28 бит). Возникало переполнение разрядов переменной, и старшие биты обнулялись. Осложнял ситуацию описанный в моей статье глюк винчестеров фирмы Seagate.
     Разумеется, даже разблокировка объёма не гарантировала спокойную жизнь в дальнейшем. Неприятность могла повториться. Для того, чтобы прервать эту свистопляску, был только один надёжный способ — отключение функции HPA. Насовсем. Обычно это делалось на аппаратно-программном комплексе через модификацию микрокода, но если винчестер поддерживал DCO — задача предельно упрощалась.

Пароль — не игрушка!

     Почти все современные винчестеры поддерживают функцию установки паролей и экстренного стирания данных. Но иногда пароль на винчестер ставится без уведомления пользователя. Например в некоторых ноутбуках BIOSы по-умолчанию закрывают винт паролем, и при каждом включении производят временную разблокировку HDD/SSD до выключения питания. Для пользователя этот процесс выглядит совершенно незаметно. Замысел разработчиков здесь такой: если злоумышленник похитит компьютер, то даже вынув винчестер и подключив его к другому компьютеру, он не сможет прочитать данные. Но к сожалению, пароль пользователя ПК и пароль в винчестере — не совпадают. Ибо то, что подаётся в винчестер — шифруется ноутбуками по специальному алгоритму. И при неисправности ноутбука — свою информацию потеряет уже законный пользователь. Разблокировать некоторые винчестеры довольно сложно даже в условиях мастерской. Некоторые современные модели HDD и SSD распаролить невозможно, т.к. они ещё и шифрованы. Проще предотвратить установку паролей, отключив эту опцию в самом накопителе. Это также можно сделать через DCO.

Быстрое уничтожение данных на SSD

     Рассмотрим ситуацию с другой стороны. Вам необходимо быстро стереть компрометирующую информацию с накопителя. Лучше всего для этого подходят SSD. У них, в отличии от HDD, стирание данных через подсистему безопасности происходит не за десятки минут, а за пару секунд.
     Однако, стереть накопитель в системе Windows непросто. Дело в том, что с целью противодействия вирусам, Windows запрещают любые действия с подсистемой безопасности, подавая в винчестер защитную команду Security Freeze lock. Отменить её можно только физически — выключив питание накопителя. Замкнутый круг? Нет.

На помощь придёт DCO.

Если отключить в накопителе опцию безопасности — то команда Freeze lock не сработает.

Я делал следующий эксперимент:

  1. Через DCO отключал на HDD опцию Security (это можно сделать через USB-бокс, в PIO, из-под более древней системы, или банально передёрнув питание накопителя — во всех случаях статус Frozen будет сброшен).
  2. Подключал накопитель к Windows 7.
  3. Включал через DCO функцию Security. Windows не замечала её появления, и не блокировала накопитель.
  4. Подавал в накопитель команду Security Erase. Данные немедленно уничтожались.

Если такой финт проделать с SSD (в частности, Samsung Evo 850 поддерживают функцию DCO) — можно добиться мгновенного стирания информации, вплоть до её уничтожения вместе с операционной системой, в обход любых защит Windows.

Скрытый объём

     Некоторые модели винчестеров, особенно имеющие только один диск и одну магнитную головку, выпускаются с завода с уменьшенным объёмом и по меньшей цене. Это сделано для сегментации рынка — чтобы максимально охватить весь ряд востребованных емкостей, и получить максимум прибыли. Например, так делала фирма Maxtor на моделях Diamond Max Plus 8, Diamond Max 541 и Fireball 3. Обрезаны они были, как это ни странно, через DCO. Достаточно подать такому накопителю команду Restore DCO — и пользователь получал вдвое больший объём.
Возможен и обратный процесс. Можно указать в настройках DCO другое значение ёмкости и применить настройки. Это будет аналогично действию HPA, но не будет разблокироваться с помощью HPA. Для чего применить — решайте сами.

Отключение S.M.A.R.T.

     Может потребоваться в том случае, если какая-то программа без спроса лезет накопителю в S.M.A.R.T и неверно интерпретирует данные. Например, отвлекает тревожными сообщениями, замедляет работу. Или для спасения данных используется операционная система, в которую встроены S.M.A.R.T-функции, и которые нельзя отключить (к слову, за функции мониторинга S.M.A.R.T в Windows 7 отвечает файл DFDWiz.Exe). В такой ситуации отключения SMART-функций с помощью DCO даст системам понять, что винчестер не поддерживает S.M.A.R.T и проверять его не нужно.
     Аналогично может потребоваться отключение других функций. Был случай, когда знакомый подключил винчестер Samsung к стационарному видеорегистратору, после чего винт перестал раскручиваться и «впал в кому». Как оказалось, в винт была подана хитрая команда, которая перевела его в режим Power-Up In Standby. Он не позволяет винчестеру работать до подачи другой команды — Disable Power-Up In Standby. Пришлось обращаться в сервис.

Как пользоваться DCO в программе Victoria

Краткая инструкция встроена в программу Victoria, начиная с версии 4.76 на вкладке DCO, и состоит из четырёх шагов:

Шаг 1: Нажимаем кнопку Identify

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

Шаг 2: Нажимаем кнопку Restore
В винчестер подается команда, которая сбрасывает все прошлые настройки, если они были. Если же их не было (заводская неизменённая конфигурация) — накопитель выдаст ошибку. Это абсолютно нормально!

Шаг 3: Необходимо установить или снять необходимые галочки-опции HDD. Можно ввести другой размер диска (поле Max LBA).

Шаг 4: Нажимаем кнопку Apply и применяем настройки. При этом DCO-структура, изменённая программой, возвращается обратно в накопитель.
Если винчестер вернул ошибку — ничего страшного, настройки не применились. Читаем статью до конца.

Кнопка Freeze блокирует работу DCO до выключения питания. Нажимать без необходимости её не надо.

Особенности применения DCO и причины неудач

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

 - Предположим, на накопителе стоит пароль. В этом случае нельзя выключить опции безопасности сразу. Сначала нужно удалить пароль. Кроме того, все накопители, смонтированные в Windows, сразу после определения в ней получают команду Security Freeze Lock — запрет смены/установки пароля. Это сделано для того, чтобы вирусы также не могли установить пароль на HDD. Потребуется передёрнуть питание HDD. Или вообще не монтируя диск в системе, воспользоваться режимом PIO — кому как удобней.

 - Винчестер уже обрезан через HPA. Нельзя просто взять, и отключить HPA, которая активна. Сначала следует вернуть номинальный объём через HPA, а после — отключать функцию. А поскольку HPA ставится однократно за сессию питания — то также потребуется передёрнуть питание на HDD.

 - Отключить SMART тоже просто так не удастся. И на это есть 2 причины.

  1. Чтобы выключить SMART через DCO. нужно сначала выключить его через ATA. Переходим на вкладку SMART, и нажимаем SMART OFF.
  2. SMART на многих моделях HDD тесно связан с самотестами и журналами. Поэтому придется отключить или всё, что имеет отношение к SMART, или выборочно — тут можно экспериментировать.

 - Чтобы эксперименты были успешными, нужно соблюдать ещё одно обязательное условие: перед каждой попыткой изменением конфигурации — сбрасывать предыдущую, кнопкой Restore.

 - Винт с почти 100% вероятностью выдаст ошибку, если применить не-измененную конфигурацию, применить конфигурацию без сброса предыдущей, или производить сброс на HDD с конфигурацией, не отличающийся от дефолтной. Последнее условие — выглядит абсурдно, и непонятно, зачем ввели его в стандарт. Но к сожалению, это так.

 - Между получением конфигурации и её применением — недопустимы другие операции (например получение паспорта HDD) , т.к. используется общий буфер данных.

 - Обе структуры DCO: извлечённая из HDD и поданная в него после изменений — сохраняются в виде файлов в папке с логами.

Заключение

     Теперь вы знаете о DCO абсолютно всё. Вероятно, программа Victoria 4.76 стала первой свободной программой для Windows, умеющей работать с конфигурацией накопителей.
В 2019 г. DCO исполнилось 16 лет, и такие SSD-бренды, как OCZ-Vector / Octane, Plextor, Samsung по-прежнему поддерживают его. Есть DCO и во многих гибридных накопителях SSHD.
К сожалению, разработчики OCZ-Vertex и Kingston отказались от DCO. Альтернативой у них служат команды более нового протокола — Smart Command Transport. Но это совсем другая история.

Сергей Казанский, 11.09.2019г.

Список некоторых первоисточников.
  1. Форум Microsoft MSDN — Как отключить SECURITY FREEZE LOCK на жестком диске?
  2. Wikipedia.org — Device Configuration Overlay
  3. IXBT: Отключение HPA или Решение проблемы «Размер моего диска на 1 ТБ меньше паспортного»
  4. С. Казанский. «Как снять пароль с диска, если он известен?»
  5. С. Казанский: «Как вернуть объём Барракуды» (2005 г.)

I’m trying to debug my Macbook Air SSD but am getting IO_support errors.

hdparm -c /dev/sda

/dev/sda:
 IO_support    =-2130557184 (???)

hdparm -c0 /dev/sda

/dev/sda:
 setting 32-bit IO_support flag to 0
 IO_support    =-2130557184 (???)

hdparm -c1 /dev/sda

/dev/sda:
 setting 32-bit IO_support flag to 1
 HDIO_SET_32BIT failed: Invalid argument
 IO_support    =-2130557184 (???)

So then I attempt to Secure Erase my SSD anyway which seems to work.

sh-4.1# hdparm --user-master u --security-set-pass Eide /dev/sda

 security_password="Eide"

 /dev/sda:
 Issuing SECURITY_SET_PASS command, password="Eide", user=user, mode=high

sh-4.1# hdparm --user-master u --security-erase Eide /dev/sda

  security_password="Eide"

  /dev/sda:
  Issuing SECURITY_ERASE command, password="Eide", user=user

sh-4.1# hdparm --user-master u --security-set-pass Eide /dev/sda

  security_password="Eide"

  /dev/sda:
  Issuing SECURITY_SET_PASS command, password="Eide", user=user, mode=high

sh-4.1# hdparm --user-master u --security-erase-enhanced Eide /dev/sda

  security_password="Eide"

  /dev/sda:
  Issuing SECURITY_ERASE command, password="Eide", user=user

But when I query the 32-bit IO setting…

hdparm -c /dev/sda

/dev/sda:
 IO_support    =-2130557184 (???)

After the two ATA security erase commands completed, drive identification shows:

hdparm -i /dev/sda

/dev/sda:

 Model=APPLE SSD TS128C, FwRev=CJAA0201, SerialNo=71BA50Q5K6IK
 Config={ Fixed }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
 BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=236978176
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio3 pio4 
 DMA modes:  mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 
 AdvancedPM=yes: unknown setting WriteCache=enabled
 Drive conforms to: Unspecified:  ATA/ATAPI-3,4,5,6,7

 * signifies the current active mode

nb. I have some questions about that output as well which aren’t as important (I don’t think?) as the «inappropriate IO control» problem.

  1. Does that geometry config even make sense? I thought there are supposed to be 255 heads so something like xxx/255/63 ?
  2. SectSize=0 ? Shouldn’t it be 512?
  3. Why is BuffType and BuffSize «unknown»?
  4. Why APM setting «unknown»?
  5. Why is drive conforming to «Unspecified ATA/ATAPI» standard?

Trying to set using_DMA flag fails:

hdparm -d /dev/sda

/dev/sda:
 HDIO_GET_DMA failed: Inappropriate ioctl for device

hdparm -d1 /dev/sda

/dev/sda:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Inappropriate ioctl for device
 HDIO_GET_DMA failed: Inappropriate ioctl for device

What is the «appropriate ioctl»?

Resetting the drive doesn’t work.

hdparm -w /dev/sda

/dev/sda:
 resetting drive
 HDIO_DRIVE_RESET failed: Invalid argument

hdparm —dco-identify /dev/sda

/dev/sda:
DCO Revision: 0x0002
The following features can be selectively disabled via DCO:
    Transfer modes:
         mdma0 mdma1 mdma2
         udma0 udma1 udma2 udma3 udma4 udma5
    Real max sectors: 236978176
    ATA command/feature sets:
         SMART self_test error_log security HPA
         selective_test
    SATA command/feature sets:
         interface_power_management

hdparm —yes-i-know-what-i-am-doing —dco-restore /dev/sda

/dev/sda:
 issuing DCO restore command
 HDIO_DRIVE_CMD(dco_restore) failed: Input/output error

Any observations, questions, hints, answers appreciated cheers!

I’m using Heroku’s Postgres option and have a backup I downloaded from it. I’d like to restore it into a fresh database so I can look at it. I’ve been trying different commands to little avail. My first try:

$ sudo -u postgres psql < db/backups/myapp_2018-05-27.pg.dump 
The input is a PostgreSQL custom-format dump.
Use the pg_restore command-line client to restore this dump to a database.

So I try:

$ sudo -u postgres pg_restore -d myapp3 -C db/backups/myapp_2018-05-27.pg.dump
pg_restore: [archiver (db)] connection to database "myapp3" failed: FATAL:  database "myapp3" does not exist

I don’t really understand the -C option.

-C
—create

Create the database before restoring into it. If —clean is also specified, drop and recreate the target database before connecting to it.

When this option is used, the database named with -d is used only to issue the initial DROP DATABASE and CREATE DATABASE commands. All data is restored into the database name that appears in the archive.

It would seem logical to me to restore into the new database. I digress… (and perhaps that is properly explained here)

I tried creating a fresh database from the template of another, earlier one with the same schema:

$ sudo -u postgres createdb -T myapp myapp3

$ sudo -u postgres pg_restore -d myapp3 -C db/backups/myapp_2018-05-27.pg.dump
pg_restore: [archiver (db)] Error while PROCESSING TOC:

<snip>

WARNING: errors ignored on restore: 5

I get a lot of errors about a user that doesn’t exist and no data inserted.

I also tried using template0 but that brings up errors about the schema, as I’d expect.

In summary, I’d like to restore from a Heroku Pg backup into a fresh database. I don’t know how I can avoid errors about indexes and missing users etc and have the schema ready.

I also tried -O because of this line in the docs:

With -O, any user name can be used for the initial connection, and this user will own all the created objects.

I seem to have misunderstood that too because, again, the screen was filled with errors.


Edit: Based on the -C linked answer I managed to restore into a cryptically named database, but when I run the rename database command (alter database rtyghjkuyhgh rename to my_app3) it empties all the data :(


Any help or insight, even just a point in the right direction would be very much appreciated.

Postgres version 9.5.12

Понравилась статья? Поделить с друзьями:
  • Rest обработка ошибок
  • Rest framework validation error
  • Rest error code 500
  • Rest error body
  • Rest error 401