Насколько я понял проблема не в том, чтобы заставить ntldr загрузить ReactOS18.04.05 18:13 Число просмотров: 2269 Автор: amirul <Serge> Статус: The Elderman
Хочу "поломать" сабж так, чтобы вместо "родного" ядра можно было подсунуть ReactOS (или скомпиленное из сырца). Эта тварь проверяет подлинность Ntoskrnl и с чужим работать отказывается.
Принципиальных проблем нет, если дела не отвлекут, думаю, через неделю будет полный деассемблинг со структурами данных. Но вот вопрос: мож. я изобретаю велосипед и у кого-нить деассемблинг уже есть?
К нему есть символы. Расковыривать надо только real-mode загрузчик15.04.05 14:00 Автор: AlexD <Alexander> Статус: Member
У меня знакомый немного его ковырял. Включил там искусственно отключенную поддержку ESC-последовательностей при выводе текста:). Заботал себе цветные надписи:).
Символов не нашел, но в xpddk есть дебажная версия - ее ковырять как то легче18.04.05 12:25 Автор: amirul <Serge> Статус: The Elderman
Я долбаю лоудер от w2k.
Действительно, есть MZ и PE но... Рылом об тейбл!!! Если ХР-шный хвост MZ и далее декомпилится, как ЕХЕ-шник, это говорит: не РЕ-файл. Заголовок у него, похоже, какой-то обгрызаный. можно было бы, наверное, и ХР-шный разобрать, но боюсь - совместимости не будет. Во всяком случае, ядра - точно не совместимые: в Винтукее ядреные ф-ции вызываются через прерывания, а в ХР - через шлюз.
Ну так блин - XPшный ntldr умеет грузить все ядра предыдущих версий. Обратное неверно:).16.05.05 19:18 Автор: AlexD <Alexander> Статус: Member
Что бы посмотреть по какому сегменту грузится NTLDR и посмотреть в какое его место передается управление, для начала надо разобрать boot sector. Если сам boot sector грузиться в сегмент 7C00, то ntldr то ли чуть выше, то ли чуть ниже... Не помню и к сожалению, листинга boot sector'а у меня не сохранилось.
И с отладчиком там проблемы: отладчик виртуалки очень неудобный. Вот, если бы туда Сайс засунуть...
KD/WinDbg взлетает раньше сайса, но даже он не катит, потому как взлетает на первой фазе инициализации ЯДРА, а когда работает ntldr никаким ядром еще не пахнет18.04.05 14:44 Автор: amirul <Serge> Статус: The Elderman
> И с отладчиком там проблемы: отладчик виртуалки очень > неудобный. Вот, если бы туда Сайс засунуть... Так что отлаживать придется именно в виртуальной машине
Amirul, ау! Ядра NT и ReactOS совместимы по процессу загрузки?16.04.05 10:12 Автор: Zef <Alloo Zef> Статус: Elderman
У меня такое впечатление, что Фрилоудер только запускает его Кернел, а всз загрузку и инициализацию тот проводит сам.
Я пробовал записывать Реактось поверх работоспособной НТюхи сохраняя ее реестр и недостающие драйвера - хрен! Ни в виртуалке ни на реальной железяке он не грузится - пишет UNKNOWN BOOT DEVICE и - брык! НТевое ядро тоже способно выдать такое сообщение, если перетащить его на "слишьком другую" машину. Насколько я понимаю, причина в том, что Нтдетект не полностью определяет конфигурацию системы.
Если учесть, что Реактось понимает реестр Мд (но не наоборот) то мой вариант должен был сработать, но - нет! В чем может быть дело?
Все б^Rt$тво в том, что в Реактоси нет ничего похожего на Нтдетект и вообще непонятно, как конфигурить систему в соответствии с железом.
Блин!!! Такая красивая идея и сделана не с того конца! Ведь это же ясно, что надо было начинать с лоудера и детекта, потом подставлять их в живой Мд, потом так же подменять ядро и далее...
Пока Реактос не начнет запускаться на реальном железе работать с ним будет невозможно, а хочется - аж жуть!
Или, мож плюнуть на этот вариант и попытаться скомпилить тыренное ядро и его подставить? а потом подставлять по одной дллки от Реактося?
WoW!!! Вот ета штука Bolzano.4096 как ето делает?16.04.05 11:31 Автор: Zef <Alloo Zef> Статус: Elderman
1. К примеру, создай три раздела. Первый раздел - загрузочный FAT16 или FAT32 (если ReactOS поддерживает FAT32) размером 2 - 4Gb. Второй раздел сделай для ReactOS каким-нибудь Partition Magic, но это раздел не должен находиться в дополнительном разделе (Extended partition). Третий раздел можно сделать в дополнительном разделе для WinNT, 2K etc., если необходимо ставить рабочую систему именно на NTFS.
2. Сделай первый раздел активным (загрузочным) и поставь на третий раздел рабочую систему WinNT+.
3. Сделай второй раздел активным и поставь в него ReactOS. Проверь работоспособность ReactOS.
4. Снова сделай первый раздел активным, Norton Disk Editor'ом сними загрузочный сектор второго раздела (загрузочный сектор ReactOS) и помести его в файл "bootsect.ros" на первом разделе (FAT).
5. В раздел [operating systems] файла boot.ini добавь строку вида:
c:\bootsect.ros="ReactOS"
Насколько я понял проблема не в том, чтобы заставить ntldr загрузить ReactOS18.04.05 18:13 Автор: amirul <Serge> Статус: The Elderman
Беда вся в том, что не имея отладчика я не могу понять, почему он валится. А отладчика на этой стадии загрузки нет и не может быть. Вот я и изъеживаюсь.
И потом "Трудно собирать выбитые зубы сломанными руками", в смысле искать глюк ядра в глючной системе глючным отладчиком. Нужно хотя бы иметь возможность изолировать ядро в заведомо рабочем окружении.