Автор: Unknown BIOS (не проверено) , 14 октября 2006
А также WindowsNT4/2000 на 80386 (если угодно)...

Инструментарий:

1)Hiew by SEN. (patching)
2)Heaventools PE Explorer 1.95 (для просмотра ресурсов сообщений во 2-ой части setupldr.bin/cmldr)

Почитав форум и порывся в инете, а также покопався в дистрибутиве ХП СП2 нашел где идет проверка на инструкции CPUID/CMPXCHG8B. Наличие оных требуется для установки данной винды. :idea:

Я копался в аглицкой версии XPюши с SP2.

Файл называется SETUPLDR.BIN (он переименовывается в cmldr при использовании WindowsPE).

Для справки: setupldr.bin (260272) состоит из двух частей:

1-ая: бинарный кусок. (19632) до сигнатуры MZ. (REALMODE загрузчик?)

2-ая: обычный PE-файл. (240640)
Вот выдержка из него.
[list]
.0031F3A6: E847420000 call .0003235F2 --- (1)
.0031F3AB: E82868FFFF call .000315BD8 --- (2) (проверка на 80486 и более камень)
.0031F3B0: 84C0 test al,al
.0031F3B2: 740B je .00031F3BF --- (3) (если успешно)
.0031F3B4: 686D230000 push 00000236D --- (4) (номер сообщения в таблице)
.0031F3B9: E8B0480000 call .000323C6E --- (5)
.0031F3BE: 59 pop ecx
.0031F3BF: E85868FFFF call .000315C1C --- (6) (проверка на CPUID)
.0031F3C4: F6C401 test ah,001
.0031F3C7: 750B jne .00031F3D4 --- (7) (если успешно)
.0031F3C9: 688C230000 push 00000238C --- (номер сообщения в таблице)
.0031F3CE: E89B480000 call .000323C6E --- (9)
.0031F3D3: 59 pop ecx
.0031F3D4: 381DA1E53300 cmp [0033E5A1],bl
.0031F3DA: BE50E03300 mov esi,00033E050
.0031F3DF: 0F858C040000 jne .00031F871 --- (A)
.0031F3E5: 8BBD1CFEFFFF mov edi,[ebp][-000001E4]
.0031F3EB: 6872E33100 push 00031E372 ;'osloadoptions'
.0031F3F0: 57 push edi
.0031F3F1: FF7508 push d,[ebp][08]
.0031F3F4: E8E3D0FEFF call .00030C4DC --- (C)
.0031F3F9: 3BC3 cmp eax,ebx
.0031F3FB: 0F84C5000000 je .00031F4C6 --- (D)
[/list:u]

Как патчить - можно догадаться. Отключить эти проверки.

НО! Этого недостаточно. Нужно еще пересчитать контрольную сумму в PE-заголовке, а потом "склеить" 1 и 2-ую части файла. Вуаля!

Дополнительно проверка на CPUID и CMPXCHG8B осуществляется в файле SETUPLDR.EXE (SETUPLDR.EX_) - это обычный PE-файл.

P.S. По аналогии можно сделать и с Windows 2003 Server и с Windows XP c SP1, c русскими версиями наверное тоже можно разобраться.

P.S.P.S. Для ленивых: Патченый файл могу выложить или выслать по почте.
Содержимое данного поля является приватным и не предназначено для показа.

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

sarinn

19 лет 1 месяц назад

От автора этой статьи: я сам пробовал ставить WinNT4 ENG на 386-ой комп с 20 метрами RAM. Установщик вис (по логу) на fastfat.sys (BSOD)

что это была за машина и ГЛАВНОЕ какими манипуляциями NT4 встала на 80386 комп? интересно, блин.

А WinNT 3.51 у меня чудесно бегает даже на P4-2.4GHz(533), 768 MB ram, HDD 120 Gb. Вот так!

vk6666

19 лет 1 месяц назад

2 vk6666
В тот момент, когда установщик предлагает выбрать дополнительный контроллер по F6, нажать F5, далее сами разберетесь...

то что это в ХР есть - это я в курсе, а вот в NT4 - не проверял...

Добавлено спустя 4 минуты 2 секунды:

2 geodimetr
NT 4.0 нужно мозгов минимум 12 метров - проверял лично, сопроцессор на моей 386й стоит, так что не в нем дело, а если подумать совместно?
От автора этой статьи: я сам пробовал ставить WinNT4 ENG на 386-ой комп с 20 метрами RAM. Установщик вис (по логу) на fastfat.sys (BSOD)

та же фигня, только по моему с ntfs.sys..
да! а сопроц ей не обязателен - она по заявлениям мелкомягких на 486SX-25 ставится, даже без сопроца.
так я и спрашиваю - может кто-либо, дружащий с asm'ом поискать в драйверах и HAL nt4 команды, появившиеся только в 486м? и чем там адресация различается в практическом смыле?

RAM: в доке было написано: "min: 12Мб - workstation, 16Мб - server"
И "только на 486".
а про ядро всё пытаюсь дочитать статью:
"i486C-ядро Разгон и торможение Windows NT" http://www.insidepro.com/kk/030/030r.shtml

Gordon01

19 лет 1 месяц назад

Вот только не понимаю, нафиг вам нужно насиловать это старьё(всмысле операционки, а не железо). Ведь ничего-то оно не умеет.
Лучше линукс куда-нить поставить, толку больше будет
[offtop]а фиг его знает... желания вообще иррациональны... Ты ещё "в чём смысл жизни" спроси :)
А *nix не ставить - на нём работать надо... да всё никак не собраться, текучка заедает[/offtop]

Gordon01

19 лет 1 месяц назад

Ну не знаю... рабочие никсы на каком-нить специфическом/медленном железе, это всё же лучше чем винда там же, не правда?

Werty162

19 лет 1 месяц назад

Имеется мать HOT-419 486 3-VL Bus на сокете 3 и весовских шинах с WINBIOS.
К этой материнке прилеплены 24 Мб ОЗУ, проц 486DX4-100, видео Cirrus Logic 2 Мб (VESA), звук Yamaha. 8-)

Вопрос №1: как можно на эту машину поставить W2k, кроме как путем обновления w95 или w98?
Вопрос №2: Стоит ли на такую озверевшую от времени машину ставить что либо *NIX подобное для комфортного просмотра МПЕГ видео и прослушки мр3? Если да, то что?

З.Ы. CD-rom как вы поняли BIOS не видит в упор. :roll:

Super486

19 лет 1 месяц назад

А зачем при 24 метрах Win2k?! Из сущего мазохизма? 32 метра это ОЧЕНЬ мало, а 24...

Werty162

19 лет 1 месяц назад

А зачем при 24 метрах Win2k?! Из сущего мазохизма? 32 метра это ОЧЕНЬ мало, а 24...



согласен, я над этим работаю :wink:

sarinn

19 лет 1 месяц назад

Имеется мать HOT-419 486 3-VL Bus на сокете 3 и весовских шинах с WINBIOS.
К этой материнке прилеплены 24 Мб ОЗУ, проц 486DX4-100, видео Cirrus Logic 2 Мб (VESA), звук Yamaha. 8-)

Вопрос №1: как можно на эту машину поставить W2k, кроме как путем обновления w95 или w98?
Вопрос №2: Стоит ли на такую озверевшую от времени машину ставить что либо *NIX подобное для комфортного просмотра МПЕГ видео и прослушки мр3? Если да, то что?

З.Ы. CD-rom как вы поняли BIOS не видит в упор
. :roll:


1) есть такая вещь = bcdl - позволяет грузиться с CD на системах без bios поддержки оной (
с дискетки).
********************************
http://bootcd.narod.ru/index_r.htm
Bootable CD Loader v1.50Z: bcdl150z.zip
(~20 Kb, 21.03.2004)
Загрузочная дискета.
Позволяет загрузиться с загрузочного компакт-диска (Bootable CD) на компьютерах, которые не поддерживают загрузку с компакт-дисков.
http://bootcd.narod.ru/bcdl150z.zip
********************************
так что имея загрузочный диск с W2k/NT4/Xp Вы можете винду поставить "с чистого листа".

2) можно поставить ваще-то и NT4 -
МПЕГи у меня игрались (MPEG1) через WindowsMediaPlayer 6.4 (входит в состав IE6, есть и отдельно),есть и VideoLan Player и др.; а MP3-шки работали в вчетверо ухудшенном режиме (quad quality) через Winamp 5.
Машинка была - AMD Am5x86-P75 AMD-X5-133(50x3=150),64 Mb RAM, Matrox Millenium PCI video 4 Mb, Sound ESS 1868 ISA+IDE.