Вопросы про NTbootDD.sys

Наверное все, кто готовил аварийную дискету для загрузки винды, встречали совет, мол:

1) отформатируйте дискету
2) закиньте на нее файлы ntldr, ntdetect.com, boot.ini
3) закиньте туда же файл Ntbootdd.sys, если собираетесь запускать винду с диска, подключенного к scsi контроллеру. При этом необходимо, чтобы в boot.ini соответствующая строка адреса загрузочной партиции начиналась со scsi(*) или signature(*).

Далее, в некоторых источниках сообщается, что файл ntbootdd.sys -- это переименованный файл драйвера контроллера (scsi-минипорт), и взять его можно прям из каталога %windir%\system32\drivers.

Так же сообщается, что все связанное с ntbootdd.sys просто необходимо, если scsi-контроллер не имеет поддержки int13 (+ каких-то его расширений), т.е. биос у него отсутствует, урезан или запорчен.

Дочитали ?;)

А теперь, собственно, вопросы:

1) кто-нибудь на практике применял описанный выше способ загрузки с ntbootdd.sys ?

2) как применить этот способ не для скази, а для IDE-RAID'а ? Т.е. такое вообще возможно ? А то я мучился с двумя котроллерами SiI0680A и SiI3112 и ни черта у меня не вышло.:( На одном из контроллеров даже биос специально поферил, чтобы лишить его поддержки int13 -- все равно не помогло.:(

3) возможно ли такой сказиподобный метод применить для загрузки со стандартных IDE-контроллеров (CodeClass=01h/01h/8xh), отключив предварительно винты в биосе (в разделе Standard CMOS Setup) ? Если да, то какой файл брать из системы и переименовывать в ntbootdd.sys ? Пробовал pciide.sys, atapi.sys, еще какие-то -- не прокатило.:(

4) Должен ли быть ntbootdd.sys специально приспособлен драйверописателями для такого способа загрузки ? Может в официальных драйверах для scsi просто предусмотрен такой способ их вызова загрузчиком, а в дровах для силиконов -- нет.

5) Про signature(*): Поддерживает ли XP подобное задание пути до партиции ? 4 байта сигнатуры идут в том же порядке, что и в MBR / разделе реестра MountedDevices, или в обратном ?

Если кто сталкивался с необходимостью использования ntbootdd.sys, поделитесь пожалуйста опытом.

А кто не сталкивался, предлагаю присоединиться к эксперименту.:)

Аватар пользователя rgt

xKVtor Разбирался с NTbootdd.sys правда не для загруземи с дискеты, а при загрузке ОС со SCSI при размещении загрузчика на IDE. Замена контроллера (с предварительной установкой драйверов нового) приводила к тому, что грузить ОС удавалось при отсутствии IDE диска, но не с него. Помогло копирование на IDE под именем NTbootdd.sys драйвера нового контроллера вместо старого.

За несоответствие действительности Вашим о ней представлениям администрация форума ответственности не несет.

rgt

Спасибо за информацию!
Хоть кто-то этот способ на практике испытал.

А что за операционка ?
И какой синтаксис в boot.ini использовался: scsi() или signature() ?

Аватар пользователя rgt

xKVtor OC - XP. Можно использовать любой вариант синтаксиса, по крайней мере в XP. Когда появился вариант signature() я не знаю. Но он удобнее тем, что позволяет грузить ОС с диска имеющего именно эту сигнатуру не заморачиваясь тем, какой он сейчас по счету multy() или scsi()...

За несоответствие действительности Вашим о ней представлениям администрация форума ответственности не несет.

Потому я про вариант с singnature() так и выспрашиваю, что угадывать номер шины, да и и параметры адреса тоже, не самое веселое занятие. Проще глянуть идентификатор диска в MBR или реестре.

Кстати, может существует какая-нить [досовская] утилита, позволяющая для каждого загрузочного устройства выдавать его адрес в формате ARC (Advanced RISC Computing). Т.е. чтобы она смотрела на конфигурацию компьютера глазами виндового загрузчика.

Например, запускаешь ее с дискеты, и она выдает:

• Partition 0: multi(0)disk(0)rdisk(0)partition(1)
• Partition 3: scsi(0)disk(3)rdisk(0)partition(2)
[или • Partition 5: signature(FD01C0EA)disk(3)rdisk(0)partition(2)]

Для scsi, если нет подходящего драйвера (или NTbootDD.sys), то можно было бы обойтись и без номера партиции. Хотя бы номера шин узнать и их привязку к контроллерам.

А то иногда, если несколько винтов, пока переберешь все варианты -- с ума сойдешь.:)

Аватар пользователя Root

коротко - читайте MSDN. Там все написано.
Подробно, честно, влом объяснять. По крайней мере прямо сейчас.

Цитата:
1) кто-нибудь на практике применял описанный выше способ загрузки с ntbootdd.sys ?

ИМХО, не актуален начиная с W2k, т.к. W2k+ понимает multi(*)

Цитата:
3) ... Пробовал pciide.sys, atapi.sys, еще какие-то -- не прокатило.

а PCIIDE.SYS и ATAPI.SYS - минипорты?
Цитата:
4) Должен ли быть ntbootdd.sys специально приспособлен драйверописателями для такого способа загрузки ? Может в официальных драйверах для scsi просто предусмотрен такой способ их вызова загрузчиком, а в дровах для силиконов -- нет.

см. DDK/исходные коды виндов.
Цитата:
5) Про signature(*): Поддерживает ли XP подобное задание пути до партиции ? 4 байта сигнатуры идут в том же порядке, что и в MBR / разделе реестра MountedDevices, или в обратном ?

скорее всего поддерживает.
microsoft.com/technet/prodtechnol/windows2000serv/reskit/Default.asp?url=/...

Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P

Урррраааа! Получилось!

Три дня мучений наконец увенчались хоть каким-то результатом.:)

Удалось загрузиться scsi-образным способом со встроенного IDE-контроллера при отключенных в биосе винтах!;)

Дольше всего пришлось повозиться с сигнатурой.
Оказывается, не зря я спросил про порядок следования байтов. wink
Он действительно оказался обратным!

Т.е. Diskedit и регедит выдает сигнатуру как последовательность 4-х байтов, а в boot.ini эти байты рассматриваются как одно двойное слово. И нигде, ни в одном документе об этом подвохе ни слова не говорилось. :twisted: Такое впечатление сложилось после долгих поисков в инете, что куча авторов перепечатывают один единственный первоисточник и друг друга.:(

Выяснилось так же, что далеко не каждый минипортовый драйвер рэйдового контроллера можно использовать в качестве NTbootDD.sys.
Поэтому неудивительно, что мне пока не удалось загрузиться ни с SiI0680A/3112, ни с VIA VT6421A.:(
Похоже, драйверописатели решили немного сэкономить свое время. Н-да, печально.:(

Root

Root писал(-а):
коротко - читайте MSDN. Там все написано.
Подробно, честно, влом объяснять. По крайней мере прямо сейчас.
Читайте MSDN, изучайте DDK, пишите собственные драйвера. Думаю, на это у меня уйдет гораздо больше, чем три дня. lol

Root писал(-а):
ИМХО, не актуален начиная с W2k, т.к. W2k+ понимает multi(*)

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

Root писал(-а):
а PCIIDE.SYS и ATAPI.SYS - минипорты?

Нет. Это я от безысходности все варианты перепробовал.:)

PCIIDE.SYS -- Стандартный драйвер шины PCI IDE
ATAPI.SYS -- IDE/ATAPI Port Driver

Root писал(-а):
исходные коды виндов.
Где бы эти коды еще раздобыть ... roll

Root писал(-а):
Цитата:
5) Про signature(*): Поддерживает ли XP подобное задание пути до партиции ?

скорее всего поддерживает.
microsoft.com/technet/...
Видел я эти документы и кучу их перепечаток и пересказов. Но не очень-то им доверял, пока сам на практике не убедился. 8)

ЗЫ: Спасибо всем, кто пытался помочь советом!

[/]
Аватар пользователя Root

Цитата:
Поэтому неудивительно, что мне пока не удалось загрузиться ни с SiI0680A/3112, ни с VIA VT6421A.

данный вопрос заслуживает отдельного рассмотрения... Причем те же драйвера установкой винды нормально подхватываются :-o
Цитата:
Где бы эти коды еще раздобыть ...

в eMule до сих пор лежат и на редких ФТП...
Цитата:
Нет. Это я от безысходности все варианты перепробовал.

PCIIDE.SYS -- Стандартный драйвер шины PCI IDE
ATAPI.SYS -- IDE/ATAPI Port Driver
да мало ли как их MS обзовет. Главное, что PCIIDE.SYS и ATAPY.SYS, ну, никак на (сказевые) минипорты не походят...

Цитата:
Сказиобразный способ загрузки актуален в любой системе в следующих случаях:

Биос PCI-контроллера испорчен или отсутствует.

Биос материнской платы не в состоянии правильно определить размер больших винтов или неправильно выставляет другие жизненно важные параметры накопителей.
согласен, но есть маленькие грабельки. У нас NTLoader должен как-то запуститься (т.е. БИОС все-таки нужен), а потом при необходимости подгрузить NTBootDD.SYS. А ставить загрузчик на другой диск, дабы грузится с безбиосного контроллера как минимум не эстетично.

Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P

Аватар пользователя rgt

Root

Цитата:
А ставить загрузчик на другой диск, дабы грузится с безбиосного контроллера как минимум не эстетично.

Изначально речь шла вообще о загрузке с флопа... ;)

За несоответствие действительности Вашим о ней представлениям администрация форума ответственности не несет.

Аватар пользователя great coder

xKVtor
Эту инфу тоже как статью оформишь? ;)

Выход обычно есть. Но он не работает.

great coder писал(-а):
Эту инфу тоже как статью оформишь? ;)
Угу, как скрытую (есть на ПС такая возможность);)

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

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые 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.

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

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