Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Windows > Запуск Windows XP с RAM диска


Автор: haker-kirik 27.10.2006, 02:24
У меня возникла острая необходимость создать совой LIVE CD, но не средствами всяких там bcdw или reatogo и т.п., а самому, со своими настройками. В системе нет ни одного харда. И у меня возникла проблема вот в чем. Необходимо:

1) Загрузиться со своего загрузочного диска (НЕ ХР), где находяться файлы ntldr, ntdetect.com, boot.ini, bootfont.bin, папка со всеми файлами  моего диска С и драйвер RAM диска.
2) Во время запуска ntldr каким-то образом (прописать что-то в boot.ini или пропатчить ntldr) запустить драйвер RAM диска (тем самым создать диск) и на него скопировать содержимое папки где находятся файлы моего диска С.
3) Тем самым образуется еще один диск с со всеми нужными мне и ХР файлами.
4) Дальше продолжаеться обычная загрузка XP с RAM диска.

Вопрос вот в чем: как мне во время запуска ntldr, перед обращением к системным папкам, запустить драйвер RAM диска.  smile  smile  smile  smile 

Автор: bartram 27.10.2006, 15:02
haker-kirik, почитай "Внутреннее устройство Windows XP", ntldr это всего лишь загрузчик он не передает управление драйверам smile

Добавлено @ 15:05 
А вообще лучше не парится и воспользоваться Bart PE Builder, там можно все настройки выставить (проги и т.д.)

Автор: haker-kirik 28.10.2006, 00:13
Меня просто заинтересовал такой вот файл NTBOOTDD.SYS в корне диска. smile   В доках говориться, что этот драйвер SCSI дисков существует для правильной загрузки ХР с этих дисков. Так вот: возможно ли мне как-нибудь подсунуть драйвер RAM диска под именем NTBOOTDD.SYS, так чтобы он (драйвер) нормально загрузился и создал виртуальный диск.    smile 

Автор: LSD 28.10.2006, 00:24
Сомневаюсь что ntldr сможет загрузить драйвер с CD-ROM диска.

Автор: Dude03 28.10.2006, 10:55
Ты ваще в курсе, что на CD-R файловая система не фат и даже не ntfs?

Автор: haker-kirik 28.10.2006, 15:53
Во первых: при чём здесь файловая система???
Во вторых: дело в том что NTLDR'у ничего не машает загрузить с загрузочного CD файлы типа NTDETECT.EXE и другие драйвера для начала установки ОС. На загрузочном CD NTLDR называется SETUPLDR.BIN. 

В доках по XP говорится вот что:
Цитата

scsi(W)disk(X)rdisk(Y)partition(Z)

Использование синтаксиса scsi() указывает Windows NT на необходимость загрузки
SCSI-драйвера и его использования для обращения к загрузочному разделу.

Hа x86-компьютерах этот драйвер называется Ntbootdd.sys и располагается в корне
системного диска (обычно C:). Ntbootdd.sys является копией драйвера
используемого для загрузки SCSI-контроллера.



Так что этот драйвер (NTBOOTDD.SYS) должен  как-то загружается smile 
У меня лишь вопрос можно ли мне подсунуть вместо SCSI-драйвера драйвер RAM диска smile  

Автор: LSD 28.10.2006, 16:31
Цитата(haker-kirik @  28.10.2006,  16:53 Найти цитируемый пост)
Во первых: при чём здесь файловая система???

При том, что ntldr должен найти и самостоятельно прочитать файл boot.ini и при необходимости ntbootdd.sys (без помощи каких либо других драйверов).

Цитата(haker-kirik @  28.10.2006,  16:53 Найти цитируемый пост)
Во вторых: дело в том что NTLDR'у ничего не машает загрузить с загрузочного CD файлы типа NTDETECT.EXE и другие драйвера для начала установки ОС. На загрузочном CD NTLDR называется SETUPLDR.BIN.

Это совершенно разные файлы, setupldr.bin не анализирует никакого boot.ini. ntldr мешает загрузить с CD файлы то, что он не умеет работать с CD-дисками.

Автор: haker-kirik 28.10.2006, 17:07
Дело в том, что я создаю загрузочный CD, прикрепляя к нему образ дискетки (размер 2,88 Мб), на которой и находятся файлы ntldr, ntdetect.com, boot.ini, bootfont.bin, NTBOOTDD.SYS и которая имеет загрузочний сектор XP и файловую систему FAT16. smile  С нее начинается загрузка. Тут все ОК. 
Вопрос состоит в том, можно ли мне подсунуть вместо SCSI-драйвера драйвер RAM диска. smile  smile 

Автор: LSD 28.10.2006, 17:23
В таком случае - да можно. Вот только где такой драйвер взять?

Добавлено @ 17:24 
А кстати, системы с HDD можно таким макаром загрузить?

Автор: haker-kirik 28.10.2006, 17:37
Тогда у меня два вопроса:

1)Какой должна быть строка в boot.ini
Цитата

scsi(W)disk(X)rdisk(Y)partition(Z)

при запуске этого драйвера RAM диска.

2)Подойдет ли для этих целей майкрософтофский драйвер http://download.microsoft.com/download/win2000ddk/sample01/1/nt5/en-us/ramdisk.exe, с сайта microsoft с исходниками. Меня просто беспокоит в нем Plug'n'Play. Мне кажеться, что Plug'n'Play менеджер загрузиться позже чем этот драйвер, и могут возникнуть проблемы с загрузкой RAMDISK.SYS  smile 

Системы с HDD можна загрузить таким способом без проблем.

Автор: LSD 28.10.2006, 17:49
1. Полностью зависит от драйвера.
2. Нет. Во первых - это не драйвер SCSI устройства. Во вторых - это должен быть специальный драйвер: он должен загрузится сам, создать диск в памяти и скопировать из указанного места нужные файлы.

Автор: haker-kirik 28.10.2006, 18:19
Цитата(LSD @  28.10.2006,  17:49 Найти цитируемый пост)

Во первых - это не драйвер SCSI устройства.

А как ntldr узнет, что это ИМЕННО не драйвер SCSI устройства? Он просто грузит файл по именем NTBOOTDD.SYS, если ему в boot.ini встречается строка вида 
Цитата

scsi(W)disk(X)rdisk(Y)partition(Z)


Цитата(LSD @  28.10.2006,  17:49 Найти цитируемый пост)

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

Это вообще как  smile  .  Программы и драйверы сами не запускаются smile. Походу драйвер что-то должно загружать, то ли ntldr, то ли ntdetect.exe.

Цитата(LSD @  28.10.2006,  17:49 Найти цитируемый пост)

создать диск в памяти

На то он и драйвер RAM диска smile 

Цитата(LSD @  28.10.2006,  17:49 Найти цитируемый пост)

скопировать из указанного места нужные файлы

На счет этого у меня есть идея и проблем возникнуть не должно smile 

Автор: LSD 28.10.2006, 19:57
Цитата(haker-kirik @  28.10.2006,  19:19 Найти цитируемый пост)
А как ntldr узнет, что это ИМЕННО не драйвер SCSI устройства?

Я не знаю формат драйверов Windows, но абсолютно уверен, что функции предоставляемые драйвером диска и мыши - различны.


Цитата(haker-kirik @  28.10.2006,  19:19 Найти цитируемый пост)
Это вообще как    .  Программы и драйверы сами не запускаются . Походу драйвер что-то должно загружать, то ли ntldr, то ли ntdetect.exe.

Я писал что он должен загрузится сам по себе?

Автор: haker-kirik 28.10.2006, 20:36
Цитата(LSD @  28.10.2006,  19:57 Найти цитируемый пост)
Я не знаю формат драйверов Windows, но абсолютно уверен, что функции предоставляемые драйвером диска и мыши - различны.


А кто в таком случае экспортирует функции для драйвера. ntldr - не может никак.

Цитата(LSD @  28.10.2006,  19:57 Найти цитируемый пост)
Я писал что он должен загрузится сам по себе?


Извини, я просто не понял что ты имел ввиду smile 

И еще меня интересует вот что : этот драйвер должен быть DOS или win32 драйвером.

Автор: Dude03 28.10.2006, 22:28
Цитата(haker-kirik @  28.10.2006,  18:19 Найти цитируемый пост)

Это вообще как  smile  .  Программы и драйверы сами не запускаются smile. Походу драйвер что-то должно загружать, то ли ntldr, то ли ntdetect.exe.

ntldr. Ntdetect.com(а не EXE) - 16-битная программа реального режима, которая собирает инфу о железе
Цитата(haker-kirik @  28.10.2006,  20:36 Найти цитируемый пост)
А кто в таком случае экспортирует функции для драйвера. ntldr - не может никак.

 smile может быть ядро smile а как известно ядро - находиться в каталоге двойной вложенности - занчит для его загрузки необходим драйвер файловой сисетмы. smile 

Автор: haker-kirik 29.10.2006, 14:05
Цитата(Dude03 @  28.10.2006,  22:28 Найти цитируемый пост)
  может быть ядро  а как известно ядро - находиться в каталоге двойной вложенности - занчит для его загрузки необходим драйвер файловой сисетмы.  


У меня к стати такой вот встречный вопросик:
А как вообще тогда система запускает NTLDR с SCSI диска smile  Если у системы проблемы с этим диском, то явно тут уже никакой NTBOOTDD.SYS не поможет, т.к. она его вообще не сможет запустить smile   

И вообще, я хотел бы разобраться: 
в доках по XP обширно описана последовательность запуска XP начиная с NTLDR, но ни слова о том в каком моменте, после чего, и вообще что запускает NTBOOTDD.SYS  smile  smile  smile 




Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)