| Aleksey Bragin ( @ 2007-10-12 01:11:00 |
| Entry tags: | nt, reactos |
Наконец-таки удалось загрузить Windows NT
Я уже долгое время разрабатываю форк загрузчика ReactOS - FreeLdr, под названием WinLdr. Началось всё это ещё с EFI-версии загрузчика, потом она переформировалась в версию, основанную на FreeLdr, т.к. некоторые вещи на EFI оказалось сделать проблематично.
Пришлось много повозится с фрилодером, практически полностью переписать его менеджер памяти, найти кучу багов, но вот несколько минут назад работа все-таки дала результат - была найдена мелкая ошибка, опечатка можно сказать, в типе выделяемой памяти, из-за чего страницы с GDT и IDT оказывались во временной куче. После перемещения их (а точнее, установке типа памяти MemoryData) всё заработало просто на ура - винда больше не вешается через 5 секунд после загрузки в эксплорер.
Аналогичных по возможности загрузчиков я не встречал, так что смею предполагать уникальность этого эксперимента :-)
Дальнейшее развитие - поддержка более новых версий Windows NT.
Все изменения уже залиты в SVN-репозиторий ReactOS'а, в ветку WinLdr.