Помогите поределить параметры служебных треков Seagate Barracuda

Подскажите пожалуйста как рассчитать смещения и адреса (App, Cert, Cert table, ATA Overlay, Vendor).
Я сам попытался посчитать, но есть много недочетов.

Полная версия моей работы: hamradiodv.org/view_blog.php?id=116



цитирую суть проблемы:

Определение параметров CERT code
CERT code определяем в режиме " T> ".
1. Для определения параметров CERT code переводим накопитель в уровень детализации " e c r = 0 1 0 " командами [Ctrl]+[D].
2. Грузим CERT code сочетанием клавиш [Ctrl]+[R].
Видим результат:
cmd 58, params 0038 0000 0000 0428 7B60 0428 0000 0000 00C5 2501 0038
cmd 58, params 0039 0000 01CB 0006 0056 0006 0000 0000 00C5 2501 0039
VALID Cert Disk Code Detected - Revision # .0BE

Нас интересует команда 58
Судя по всему нам нужны строки:
cmd 58, params 0038 0000 0000 0428 7B60 0428 0000 0000 00C5 2501 0038 cmd 58, params 0039 0000 01CB 0006 0056 0006 0000 0000 00C5 2501 0039 VALID Cert Disk Code Detected - Revision # .0BE


Результат:
Начало "Sys" системного трека: 00016342
Судя по логу видно что, CERT code расположен на 2х треках:
1. Sys + 0038 длинна 0428
2. Sys + 0039 длинна 0006

Но это не согласуется с табличкой найденной на "руборде" и информации по команде " T>y "

1. Согласно таблички:
Offset SA: 0x70 Sectors: H0=280h H1=1A8h All=428h


2. Согласно команды " T>y ":
1st CertCode Cyl 000163B2 0001702D

Что имеет быть правдой!

В чем ошибка почему я неправильно определил смещения?
Как их правильно определить?
Какими командами?
Как определить на каких головах, сколько чего расположено?

У меня есть вопрос, помогите плиз....


Определение параметров CERT tables
1. Нажимаем комбинацию кнопок [Ctrl]+[R] для загрузки CERT;
2. Переходим на 1-й уровень (команда “/1”, после чего накопитель выдает приглашение “1>”)
3. Переводим накопитель в нужный уровень детализации " 0 1 0 ", комбинацией клавиш [Ctrl]+[D]
4. На первом уровне вводим команду " t " для загрузки CERT tables

Результат лога:
T>/1 1> e c r = 0 0 1 e c r = 0 1 0 1>t cmd 58, params 0039 0000 01A8 0001 7F88 0001 0000 0000 0031 3901 0039 Buzz HM SFI ! cmd 58, params 0039 0000 01A9 0016 0C48 0016 0000 0000 0031 0000 0039 Cert Table loaded


Результат:
Начало системного трека: 00016342
Судя по логу Cert Table расположен на 2х треках:
1. Sys + 0039 длинна 0001 смещение 01A8 секторов
2. Sys + 0039 длинна 0016 смещение 01A9 секторов

Но это опять же, не согласуется с табличкой найденной на "руборде"

1. Согласно таблички:
Offset SA: 0x72 - непонятно откуда эта цифра? Offset Track: 1A8h - сдесь вижу какую то правду. Sectors: 18h - опять же несоответствие!


В чем ошибка почему я неправильно определил смещения?
Как их правильно определить?
Какими командами?
Как определить на каких головах, сколько чего расположено?

У меня есть снова вопрос, помогите плиз....

Определение параметров ATA Overlay

Я вижу где находиться этот трек:
1st IntfCode Cyl 000163B6 00017031


Но я не понимаю как его определить по другому?
Какими командами?
Как определить на каких головах, сколько чего расположено?

У меня есть снова вопрос, помогите плиз....

Определение параметров Vendor

Я вижу где находиться этот трек:
1st Intf Sys Cyl 000163BA 00017035


Но я не понимаю как его определить по другому?
Какими командами?
Как определить на каких головах, сколько чего расположено?

Чего-то очень сложно.:)

Ищи offsets.xls и будет счастье.
А ещё можно
T>y

Зачем так усложняете себе жизнь?
По команде y вы определяете начала всех служебных треков.
В вашем случае это:
APP - 16358H
CERT - 163B2H
TABL - 163B4H (адрес явно не указывается, но он всегда находится в двух треках от CERTа)


OVL - 163B6H
VEN - 163BAH
Дальше открываете файл offsets.xls (спасибо автору за большой труд), ищете на закладке "Offsets"своё семейство Galaxy
Для каждого объекта записываете номер головы, смещение и его длину в HEX формате. И так:

.........................Голова..........Смещение.................длина
APP .................... 0..................... 0.......................... 238
CERT0..................0......................0.......................... 280--- 1-я часть CERTa
CERT1..................1......................0...........................1A8--- 2-a часть CERTa (оба файла нужно склеить)
TABL ................... 0.....................1A8........................18 .. (нулевой сектор нужно записать в конец файла)
OVL..................... 0......................0............................9D
VEN......................0......................0............................12
Пишите, если что непонятно

Да спасибо за помощь.

Суть то вопроса научиться самому все определять без табличек и и прочих подсказок. Не всегда у тебя "сейчас в данный момент " будет табличка. У меня есть какая то табличка, но она уже устарела. Так чт если кто поделиться обновленной версией я буду очень благодарен.

Когда я определяю параметры CERT code я вижу 2 строки

cmd 58, params 0038 0000 0000 0428 7B60 0428 0000 0000 00C5 2501 0038
cmd 58, params 0039 0000 01CB 0006 0056 0006 0000 0000 00C5 2501 0039
VALID Cert Disk Code Detected - Revision # .0BE

с первой все ясно:
длинна ее 428
смещение 0038 х 2

а вот что делать со второй строкой? Что это такое?
cmd 58, params 0039 0000 01CB 0006 0056 0006 0000 0000 00C5 2501 0039

ее читать тоже, и добавлять в конец основного файла?

В таблице написано что Cert расположен на 2х головах. Судя по этим 2м строчка я не увидел информации о головах....
Как узнать что сколько и по какой голове читать?

Спасибо

Цитата:
а вот что делать со второй строкой? Что это такое?
cmd 58, params 0039 0000 01CB 0006 0056 0006 0000 0000 00C5 2501 0039

-это строка вам не нужна,это так называемый PCF, но производитель его обычно затирает и вместо
него там находится кусок ПЗУ в 6 секторов. Впрочем params 0039 косвенно указывает на смещение
по которому лежат таблички. Cert в вашем случае длиной 428 секторов. Смотрим длину системного
трека по команде 2>x, в вашем случае она равна 280h секторов. 428h-280h=1A8. т.е. полный cert
состоит из 280h секторов по 0-й головке данного трека + 1A8h секторов по 1-й головке этого же
трека.
Что так и будете прыгать с руборда на ромбай ?lol

а определить косвенно можно что 1A8h секторов находиться по 1 голове?
команды?
Режим трассировки?

примерно достигнуть вроде этого сообщения:
Cmd Cyl Hd Sct Cnt Stbuf Segl Csct Cbuf Actv ErCd RWOp Rd Wr RWOp1 Flags
16 00000000 00 0000 0000 0000 0000 0238 0060 N 00 FFFF.FF.80.0000 1800

Таких методов не знаю,просто продолжение cert (если длины системного трека не хватает) всегда идёт
по 1-й голове. В случае одноголового винта - продолжение на треке с таблицами.

Ок

а как определить адреса и количество секторов ATA Overlay, Vendor не используя подсказки из готовых таблиц и команд y?
в описании на лабу такой методы не написано....

Цитата:
не используя подсказки из готовых таблиц и команд y?

Опять усложняете? Для чего тогда команда y по- вашему? Тогда считывайте все системные треки и анализируйте структуру в HEX-редакторе. При определённом навыке и оверлеи и вендор легко узнаваемы,
как и их размеры.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей