Форум: "Прочее";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];
ВнизМультизагрузчик ОС Найти похожие ветки
← →
Германн © (2006-01-25 00:27) [0]Кто, или точнее что, читает boot.ini в процессе загрузки системы? Для уменьшения числа сущностей, примем что данный мультизагрузчик появился при установке WinXP. Но и другие варианты интересуют.
← →
Джо © (2006-01-25 00:31) [1]AFAIK, ntldr.
← →
Германн © (2006-01-25 00:39) [2]
> Джо © (25.01.06 00:31) [1]
>
> AFAIK, ntldr.
>
Принято.
А кто его вызывает?
← →
Gero © (2006-01-25 00:43) [3]Да, это ntldr.
← →
Джо © (2006-01-25 00:44) [4]> [2] Германн © (25.01.06 00:39)
> А кто его вызывает?
AFAIK, загрузочный сектор. :)
← →
Gero © (2006-01-25 00:44) [5]> А кто его вызывает?
BIOS
← →
Gero © (2006-01-25 00:45) [6]> AFAIK, загрузочный сектор. :)
Дык загрузочный сектор это всего лишь сектор :)
← →
Джо © (2006-01-25 00:46) [7]> [5] Gero © (25.01.06 00:44)
> > А кто его вызывает?
>
> BIOS
Нет, БИОС загружает загрузочный сектор в MBR, а он уже (если он NT-шный, разумеется) загружает ntldr.
← →
Gero © (2006-01-25 00:50) [8]> а он уже
MBR это всего лишь Record :)
Да, я перепутал немного.
Запуск произовдит NSB (Non-System Bootstrap), который находится в MBR и поставляется с жестким диском.
← →
Джо © (2006-01-25 00:51) [9]С предлогами и падежами сумятица :)
Программа в ПЗУ считывает первый 512 байт из определенного места на определенном носителе в определенное место оперативной памяти. А затем передает управление на первый байт этой области. Ежели в этих 512 байтах содержится "правильный код" (назовем его загрузчиком NT-ОСи), то он уже считывает ntldr и передает управление ему. Во. ;)
← →
Gero © (2006-01-25 00:52) [10]> Джо © (25.01.06 00:51)
Точно )
← →
Джо © (2006-01-25 00:55) [11]> который находится в MBR и поставляется с жестким диском.
Не, ничего он не поставляется :) MBR так же просто записывается и стирается, как и любое другое место на носителе. Содержимое Master Boot Record как правило записывают Оп. Системы при своей установке.
← →
Германн © (2006-01-25 00:56) [12]Спасибо всем.
← →
Gero © (2006-01-25 00:57) [13]> Джо © (25.01.06 00:55)
Спасибо, не знал.
← →
Джо © (2006-01-25 01:07) [14]Забыл сказать, как загрузочная программа в ПЗУ определяет, что этому загрузочному сектору можно передавать управление, т.е, что он является реальным загрузчиком какой-нибудь ОС.
По принятым соглашениям, в конце этой 512-байтной области должно находиться слово-сигнатура $55AA. Если его там нет, БИОС считает, что загрузочного сектора нету и, вместо того, чтобы передать ему выполнение, выводится сообщение о "Missing operating system...".
Кстати, написание загрузчик облегчается тем обстоятельством, что заранее известно, по какому адресу в ОЗУ он будет загружен (фиксированная загрузка по физическому адресу $7C00).
Спасибо за внимание :)
П.С. Придут зубры и меня запинают за вольное обращение с жаргоном ;)
← →
Германн © (2006-01-25 01:11) [15]У меня есть ещё вопросы по поводу BIOS, который что-то там загружает, но я их пока не сформулировал. :(
И ещё раз спасибо!
Будут конкретные вопросы, спрошу.
← →
Джо © (2006-01-25 01:15) [16]> [15] Германн © (25.01.06 01:11)
А поищи в Инете, статей довольно много на эту тему, включая подробное описание как всего процесса загрузки, так и примеров написания собственных загрузчиков. Я в свое время немало нарыл, когда понадобилось :)
← →
Германн © (2006-01-25 01:31) [17]
> Джо © (25.01.06 01:15) [16]
>
> > [15] Германн © (25.01.06 01:11)
>
> А поищи в Инете, статей довольно много на эту тему, включая
> подробное описание как всего процесса загрузки, так и примеров
> написания собственных загрузчиков. Я в свое время немало
> нарыл, когда понадобилось :)
Не Серёг. Пока мне хватает информации! Спасибо большое!
Буду в Киеве, с меня пыво! Встретимся у моих друзей с "ветрянных гор".
← →
Джо © (2006-01-25 01:55) [18]> [17] Германн © (25.01.06 01:31)
> Буду в Киеве, с меня пыво! Встретимся у моих друзей с "ветрянных
> гор".
Не возражаю! :0)
← →
Игорь Шевченко © (2006-01-25 11:23) [19]
> Кто, или точнее что, читает boot.ini в процессе загрузки
> системы?
А толку от этих знаний ?
← →
AlexKniga © (2006-01-25 12:29) [20]Джо © (25.01.06 00:51) [9]
Один шаг пропустил.
BIOS -> MBR -> BS -> ntldr
Обычно MBR у всех одинаков. Он по признаку активности $80 в таблице разделов PT передает управление соответствующему Boot Sector"у.
Обычно ОСи MBR не трогают. При смени оси меняется тока BS.
← →
PAVIA © (2006-01-25 13:03) [21]AlexKniga
Ты из какого времени??? Это было давно когда у всех был дос.
Win2K, winXP, Линуксы все они перезописывают MBR.
← →
Игорь Шевченко © (2006-01-25 13:10) [22]PAVIA © (25.01.06 13:03) [21]
> Win2K, winXP все они перезописывают MBR.
У меня не перезаписывают. Что я делаю не так ?
← →
Piter © (2006-01-25 15:56) [23]Gero © (25.01.06 0:50) [8]
Запуск произовдит NSB (Non-System Bootstrap), который находится в MBR и поставляется с жестким диском
не совсем правильно.
Вообще, лучше говорить об MBS - это сектор, располагающийся на цилиндре 0, плоскости (головка) 0 и имеющий номер 1. Именно туда передается управление при загрузке с харда.
MBR - это вообще вся структура, которая обеспечивает загрузку. Зачастую весь MBR умещается в MBS, для винд - это так. Но не обязательно. MBS может передавать управление дальше, хоть весь хард в теории может быть MBR.
Поэтому BAD блоки - это плохо, но совсем плохо когда запорот именно первый сектор - тогда MBS ку-ку, загрузиться с винта невозможно.
← →
VirEx © (2006-01-25 17:19) [24]
> [22] Игорь Шевченко © (25.01.06 13:10)
> PAVIA © (25.01.06 13:03) [21]
>
>
> > Win2K, winXP все они перезописывают MBR.
>
>
> У меня не перезаписывают. Что я делаю не так ?
в биосе отключи опцию "virus warning", зайди в режиме консоли восстановления, набери fixmbr, заодно и fixboot
из моего диплома для техникума И.И.Ползунова:
8.11 Загрузка операционной системы
При загрузке 32-разрядных версий операционной системы Windows NT 5 (2000, ХР или Server 2003) используются следующие файлы:
C:\NTLDR — стадии подготовки к загрузке и загрузка
C:\BOOT.INI — стадия загрузки ядра
C:\BOOTSECT.DOS — стадия загрузки ядра (опционально)
C:\NTDETECT.COM — стадия загрузки ядра
%systemroot%\System32\NTOSKRNL.EXE — стадия загрузки ядра (или NTKRNLPA.EXE)
%systemroot%\System32\ HAL.DLL — стадия загрузки ядра
Раздел реестра HKLM\SYSTEM — стадия инициализации ядра
%systemroot%\System32\*.sys — стадия инициализации ядра
Здесь под %systemroot% подразумевается директория, где размещены основные файлы операционной системы, например, D:\Windows — для Windows XP, установленной на логический диск D. Для системы Windows 2000, например, установленной на логическом диске С, это будет директория C:\WINNT.
8.11.1 Подготовка к загрузке
1. Компьютер тестирует себя (стадия POST, Power On Self Test), оперативную память, физические устройства. Если BIOS поддерживает спецификацию РnР, то происходит определение и настройка такого типа устройств.
2. BIOS обнаруживает загрузочное устройство (жесткий диск, привод CD ROM), загружает и запускает на выполнение основную загрузочную запись (MBR).
3. MBR просматривает таблицу разделов (partition table), чтобы найти активный, загружает загрузочный вектор активного раздела в память и запускает его на выполнение.
4. Загружает и инициализирует файл NTLDR, который представляет собой загрузчик ОС.
8.11.2 Начальная стадия загрузки
Загрузчик NTLDR переключает процессор из реального режима в 32-разрядный защищенный, что необходимо для получения возможности выполнить любую дополнительную функцию. Файловая мини-система, встроенная в NTLDR позволяет загружать Windows NT 5 с носителей FAT, FAT32 и NTFS.
8.11.3 Загрузка
Загрузчик NTLDR считывает файл BOOT.INI, использует его для отображения экрана загрузчика, предоставляет пользователю возможность выбора ОС, выбирает профиль оборудования и загружает ядро, но не инициализирует его.
8.11.3.1 Распознавание оборудования
NTDETECT.COM запускается после надписи «Выберите операционную систему для загрузки», составляет список установленного на данный момент оборудования, и возвращает этот список в NTLDR для последующего включения его в раздел системного реестра HKLM\HARDWARE. NTDETECT.COM выполняет определение характеристик устройств:
• Тип шины.
• Последовательные порты.
• Математический сопроцессор.
• Гибкие диски.
• Клавиатура и указывающие устройства.
• Параллельные порты.
• Адаптеры SCSI.
• Видео адаптеры.
Следует отметить, что устройства, которые подключаются к шинам и должны быть обнаружены шинными драйверами (например, внешние устройства на шинах USB), здесь не обнаруживаются — по той простой причине, что шинные драйверы, которые должны выполнить эту работу, на данный момент еще не загружены.
8.11.3.2 Выбор конфигурации
После того как NTLDR начинает загрузку и получит информацию об оборудовании, будет отображен экран с диалогом «Выбор профиля оборудования/Восстановление системы» (Hardware profile/Configuration recovery). В случае если профиль оборудования является единственным, то диалога представлено не будет.
8.11.3.3 Загрузка ядра
На этапе загрузки ядра NTLDR выполняет следующие действия:
Загружает код ядра из файла NTOSKRNL.EXE (NTKRNLPA.EXE при наличии опции /РАЕ в файле boot.ini), но не инициализирует его.
Загружает код слоя аппаратных абстракций из файла HAL.DLL.
Загружает раздел HKLM\SYSTEM из %systemroot%\System32\Config\System.
Выбирает набор параметров для конфигурации (список драйверов, устройств, устройств и служб, которые необходимо запустить).
Загружает драйверы (обычно это низкоуровневые драйвера, как, например, драйвера дисков) со значением параметра Start равным 0x0.
Значение параметра List в HKLM\SYSTEM\CurrentContorlSet\Control\Service-GroupOrder определяет порядок загрузки их загрузчиком NTLDR. Драйверы, регулирующие свою загрузку таким способом, должны иметь соответствующие значения параметра Group в своих подразделах раздела Системного Реестра HKLM\Sys-tem\ CurrentControlSet\Services.
8.11.4 Инициализация ядра
По завершении загрузки, ядро инициализируется и ему передается управление от загрузчика NTLDR.
1. Создается раздел HKLM\Hardware по результатам распознавания аппаратуры, куда заносится информация о системной плате, устройствах и прерываниях.
2. Создается набор параметров Clone путем копирования управляющих параметров, информация о которых содержится в параметре Current в разделе HKLM\System\Select. Набор Clone никогда не модифицируется.
3. Загружаются драйверы, указанные в разделе системного реестра HKLM\System\CurrentControlSet\Services, в параметрах которых присутствует значение Start равное 0x01 , порядок загрузки которых так же, как и было указано выше, определяется в параметре Group. Драйверы инициализируются сразу же после их загрузки. Значения параметра ErrorControl в описании драйвера (то есть в его параметре, указанном в Системном Реестре) определяет реакцию системы в том случае, если при загрузке и инициализации данного драйвера произошла ошибка.
4. Запускаются сервисы (например, Служба Журнала Событий) и драйверы.
← →
Игорь Шевченко © (2006-01-25 18:01) [25]VirEx © (25.01.06 17:19) [24]
Руссинович пишет увлекательнее. Целую главу посвятил загрузке и завершению работы Windows.
← →
VirEx © (2006-01-25 18:11) [26]
> [25] Игорь Шевченко © (25.01.06 18:01)
> VirEx © (25.01.06 17:19) [24]
>
> Руссинович пишет увлекательнее. Целую главу посвятил загрузке
> и завершению работы Windows.
тема диплома:
МЕТОДИЧЕСКОЕ ПОСОБИЕ ПО РАЗРАБОТКЕ ДРАЙВЕРОВ ДЛЯ УСТРОЙСТВ СОПРЯЖЕНИЯ ПК С НЕСТАНДАРТНЫМ ОБОРУДОВАНИЕМ
← →
Игорь Шевченко © (2006-01-25 18:17) [27]VirEx © (25.01.06 18:11) [26]
Тема конечно интересная, но по поводу написания драйверов есть DDK, как последняя инстанция. Там и Help есть достаточно подробный.
Ты меня извини, а что, этим методическим пособием (надо понимать, там методика разработки драйверов изложена) будет народ пользоваться ?
← →
VirEx © (2006-01-25 19:23) [28]
> [27] Игорь Шевченко © (25.01.06 18:17)
ну ты и мастер оффтопа :) нескем поговорить о смысле жизни?? в инфе есть аська, поговорим раз тебе нетерпиться.
дЫк вот, есть причины:
техникум в котором я учился по идее горный, и специальность ВМКСС (вычислительные машины комплексы системы и сети) появилась недавно когда я поступил, вообщем наш выпуск был вторым и на нас проверяли новые методики обучения и "оценко-образования" так сказать...
мой руководитель дипломного проекта (кстати хороший человек, доцент каких-то там наук :) ) не зря я думаю сначало для курсовой предложил тему "Устройства сопряжения персонального компьютера со стиральной машиной “Вятка Автомат”" (получился такой ...программно-аппаратный комплекс...) а затем и для диплома эту тему ([26]), так как остальные не выбрали ничего кроме как "копи-пастной" работёнки на тему создания "учебника по C,C++" либо еще какой-нибудь лабуды.
дык вот, как ты уважаемый Игорь Шевченко думаешь: зачем техникуму нужны вообще такие темы в дальнейшем способствующие написанию новых интересных дипломов за которые другие студенты получат корочки? нафиг вообще нужны методические пособия о разработке софта, драйверов и тому подобное? кому нужен этот материал? студентам! в колледже не было материала на эту тему вот и предложили мне, т.к. я этим интересовался больше остальных. это большая работа: надо объяснить что это, зачем, "как оно там делается", притом доступным языком и как можно постараться не раздувать объем материала (у меня сначало было около 300 страниц, но пришлось многое убрать, урезать. урезал - до 160 ст. :) ). сейчас с помощью этого материала возможно учащиеся там будут делать интересные работы, т.к. раньше по видимому до меня, небыло "за что схватиться". лёд тронулся господа присяжные заседатели.
← →
Германн © (2006-01-26 02:31) [29]
> Игорь Шевченко © (25.01.06 11:23) [19]
>
>
> > Кто, или точнее что, читает boot.ini в процессе загрузки
>
> > системы?
>
>
> А толку от этих знаний ?
Интересно было в плане "общего развития". Плюс, хотел попытаться найти решение некоторой задачи без вреда для своего домашнего компьютера и для пользователей оного!
Ответ получил. Решение нашёл.
Ты, как модератор, можешь "Закрыть обсуждение" в сей ветке. Не имею возражений и не имею желания "возобновить дискуссию" по данной теме!
Твои лмчные дискуссии с VirEx © меня не касаются.
← →
Дмитрий Белькевич (2006-01-26 03:19) [30]>Поэтому BAD блоки - это плохо, но совсем плохо когда запорот именно первый сектор - тогда MBS ку-ку, загрузиться с винта невозможно.
MHDD?
← →
Игорь Шевченко © (2006-01-26 11:30) [31]Германн © (26.01.06 02:31) [29]
> Интересно было в плане "общего развития".
А в плане общего развития есть очень увлекательная книжка Руссиновича и Соломона "Внутреннее устройство Windows", я вполне серьезно.
← →
Piter © (2006-01-26 14:40) [32]Дмитрий Белькевич (26.01.06 3:19) [30]
MHDD?
VMWare?
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.041 c