Windows XP/2003 на 80486

А также 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)
Вот выдержка из него.

    .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)

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

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

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

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

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

[/]
Аватар пользователя vk6666

rgt писал(-а):
Повторюсь: Вы сами видели 486 плату в которой было установлено или хотя бы можно было установить 64 MB Ram?

у меня дома сейчас лежит, я же о ней в соседней ветке писал...
128 метров SIMM на ней запросто пашут...

Аватар пользователя vk6666

Root писал(-а):
а потом переставить винч с ней на ту машину, где она требуется. Для НТ4 никаких шаманств не требуется,

подтверждаю, на моей четвере виннт так и поставлен - ставил на к6, а винч потом перекинул на 486 (ну нету у нее загрузки с сидюка, да и NTёвых загрузочных дискет ТЕПЕРЬ тоже нет (убил их старый флоповод)

Аватар пользователя Root

ЗЫ: а такой вариант никто не пробовал?
Берем NT3.51, ставим на старую машинку (она, ессно, ставится, т.к. достаточно убойная и тупая ось), а потом грейдить ее до NT4?

Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P

Аватар пользователя vk6666

Root,
ИМХО - онанизм... если 386 - то повиснет на первом запуске, а если на 486м - то нафиг надо - ее итак на нее можно ставить, с нуля..

так всё-таки, удалось кому-либо в истории "386 + NT4" ?
насколько я понял, NT4 просто использует команды 486го проца, которых нет в 386м. Или кто-то запарился ядро преписать?
Есть в коллекции несколько материнок 386х, в одной установлено 32Мб (4Мб*8).
486ые как-то не заинтересовали... следующий объект коллекционирования - PPro, ну, на нём и так всё работает

Аватар пользователя vk6666

2 74ALS00
NT4 как я уже писал повисает на 386м:( причем было испробовано все - и установка на ее винч на другом компе (что с 486м запросто прокатывало) и установка на нем, и куча ИДЕ контроллеров, и шамашство с бивисом - все по нулям, зато 3.51 сервер пашет на ура (на моем 386м 20 метров оперсклероза - 3.51й сервак просто летает)

Аватар пользователя savely

А ядро выбирать пробовал? Ведь, к примеру, при формальном требовании пня 2K ставится на 486.

А кому счас легко...

Аватар пользователя vk6666

2 savely_s
пардон... 2000 я на 486 ставил совершенно без проблем, он даже не матюгнулся, и завелся с первого раза, а вот 386 и НТ4 - другое дело, тем более что имеется ввиду под "выбирать ядро" ?

Аватар пользователя ivp

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

- Ситчик веселенький есть?..
- Приезжайте, обхохочетесь!..

NT4 на 386-й сам видел, знаю (примерно) как народ ее туда взгромоздил... кроме сопроцессора и приличного объема памяти (28 метров на нее втыкали) других особых условий не упомню...

У вас прекрасные дети ! Но все, что вы делаете РУКАМИ - никуда, никуда не годится !

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей