Comments 36
А в чём сложность запустить древнюю версию Windows на современном x86 железе? Если плата может дисковый контроллер заставить работать в режиме IDE (а не AHCI), то без проблем всё заведётся, каких-либо других проблем возникнуть не должно.
Точно также должны заработать древние версии Linux или ранние версии FreeBSD.
Ну в свое время была известная "Borland: Runtime Error 200 - 'Divide by 0'". Ничего не мешает подобным завязкам на особенности современного в то время железа быть и в ядре NT.
К слову говоря, Windows NT до 3,51 без костылей не встанет на процессор новее первого пенька. Причина в том, что установщик не мог определить тип процессора и, соответственно, считал его неподдерживаемым.
Windows NT 3.5 смотрит на твой процессор как на кусок металлолома
Для исправления надо было править INFы из дистрибутива. Одна из строчек в ходе этого грязного хака заменялась на примерно следующее:
[ProcessorVar]
STF_PROCESSOR = $ (ProcessorID_I586)
Вроде в ней была вся магия. Вместо получения данных о процессоре просто забивалось фиксированное значение, которое система считала поддерживаемым.
Так что совершенно не удивлюсь, если в NT 4.0 тоже есть что-то подобное, что мешает ей стартовать на новом железе.
Ничего не мешает подобным завязкам на особенности современного в то время железа быть и в ядре NT
Мешать не мешает, а нэту...
каких-либо других проблем возникнуть не должно.
А вы пробовали сами?
в современном железе нет как бы вообще BIOS которое активно используют старые софты, да и слово IDE там отсутствует по понятным причинам
в современном железе нет как бы вообще BIOS
CSM пока никто не отменял. Видимо, его поддержку будут тянуть до выхода новой ревизии архитектуры x86, в которой, наконец, выпилят возможность нативно запускать 16 и 32-разрядные ОС.
Куда делся БИОС, кто же тогда пишет:
Keyboard not found. Press F1 to continue.
UEFI
Да ну какая разница за какой аббревиатурой оно спряталось, главное, чтобы прерывания биоса обслуживало.
А вот это вот совершенно не факт, что оно их обслуживает так же, как современные NT редакции. Это, все-таки, слой совместимости, основанный на последней реализации, а не альтернативная имплементация именно той версии.
Причём тут NT редакция и BIOS вообще?
Вот INT 10h
работает или нет?
При том, что загрузчик NT4 писался под те ревизии, которые были на момент его существования, включая обход known bugs?
Да ну, фигня какая-то. Для БОЖЕСТВЕННОЙ же типичная проблема старой собаки и новых трюков существовать не может.
Вот INT 10h работает или нет?
Попробуйте прочитать еще раз:
не факт, что оно их обслуживает так же, как современные NT редакции
не так же, как современные
НЕ ТАК ЖЕ
Понимаете, дело не в том, работает ли чайник на вершине Эвереста. А в том, что он работает НЕ ТАК ЖЕ.
Вы еще скажите — в реальном режиме загрузчик запускать
да и слово IDE там отсутствует по понятным причинам
ну NT всетаки промышленная ОС и умела работать на всяком мудреном серверном железе и прочих SCSI контроллерах, так что там явно нет прибитой гвоздями обязательности IDE
сдается мне при желании можно наваять дрова для любого современного железа
для начальной загрузки скорее всего вполне явно.
при желании то можно, только вот и желания то похоже нет вообще ни у кого, кроме авторов ReactOS , а трудоемкость весьма велика, и это еще как минимум кто то желательно чтоб дал доки на железо, а никто и не дает. Для Windows 7 уже никто ничего не хочет делать, че уж там говорить про Windows 98 (хотя под нее софты как раз допиливают)
для начальной загрузки скорее всего вполне явно.
возможно, но не факт, NT работала на куче платформ кроме x86 (alpha и прочие powerpc, где ide устройства были вполне себе не основным носителем данных)
для начальной загрузки скорее всего вполне явно.
Нет. Для самой начальной загрузки использовался интерфейс работы с диском из BIOS (Int 13, для этого с самом контроллере диска было ПЗУ для расширения BIOS), через него загружался указанный в конфигурации (в реестре с типом запуска start= boot) драйвер ядра NT и дальше шла работа с диском через этот драйвер. Реестр просматривался загрузчиком тоже через BIOS, а путь к установленной Windows NT был прописан в файле boot.ini в совершенно нестандартном для мира ПК формате ARC.
При установке установщик пробовал все известные ему драйверы диска, если же ни один не подходил — требовал дискету (именно дискету!) с нужным драйвером.
Впрочем, были способы встроить такой драйвер в дистрибутив (например — программой nLite)
Эта схема загрузки использовалась до Win2K3 Srv включительно, а современная схема появилась только в Vista
Да насчет IDE это я увлекся (исходно упор на него делался).. но BIOS то явно нужен... хотел посмотреть исходники Grub, Lilo на предмет int 13.. вопрос в том что мешает загрузиться таким образом когда BIOS уже называется UEFI со всеми вытекающими вопросами совместимости.
ну а уже второй вопрос в том способен ли уже NT со своими драйверами понять современное железо
запускали ли вы Digger хотя-бы на i286, мальчик мой?
сложность уже в том что не все это знают)
Насколько я помню, NT 4.0 штатно не поддерживает USB, а сейчас все через USB
тоже касается и других новинок. Новые интерфейсы, uefi и др
видеокартой ATI Radeon X300 и звуковой картой Creative AudioPCI (ES1371)
а видюха со звуковухой древние
Шах и мат, линуксоиды.
Энтузиаст запустил без эмуляции Windows NT 4.0 на ПК с Intel Core i3-13100F и матплатой Asus Pro H610M-C