А также 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. Для ленивых: Патченый файл могу выложить или выслать по почте.
Какой объем памяти реально поставить на 386 и 486 плату и начиная с какого объема реально можно работать с Nt4/W2K/Xp/W2K3 не впадая в autosado&mazo?
P.S. Имел возможность запускать Windows 3.0 (не путать c 3.1 и 3.11 for wg) на AT 286 12MHz 1Mb Ram 256 Kb VGA 80 Mb Hdd и Win95 не SE на i386 DX 33 / 128 Кb cache 4Mb Ram 512 Mb SVGA 170 Mb Hdd.
Windows NT 4.00 Workstation на 80486 = если 64 метров и более - ЛЕТАЕТ. А так NT 3.5x/4.0 минимально пашет и на 8 метрах.
Windows 2000 Professional на 80486 (128 метров) - РАБОТАЕТ. На 64 метрах заметно тормозит, это минимальные требования (+ Pentium class CPU 133 mHz). (Вообще IMHO W2K лучше ставить на P-III/IV. Будет действительно летать.)
Пробовал ставить Windows NT 3.51 WKS на Pentium4. C заменой драйверов (см. http://www.geocities.com/bearwindows/winnt351.htm) работает.
Там стоит 64 метра FPM.
Кажется, ставил Nt4 без сервис паков на пентиум1 с 16 мб памяти, сервисы отключать тогда не очень разбирался как, но помню, заняло это мегов 19 в памяти, а если с sp6a, то вообще нереально. Официальное требование, кажется, 12 мег, а в ntldr есть тексты про 8 мег.
запускал винворд6 на вин 3.1 на 286/1мб, заставку видел, дождаться, вроде, не получилось
запускал дум2 из под вин 3.1 на 386-sx25/2мб, ему нужно 4мб, а здесь виртуальная память, ждал минут 20, свап был большой, а времени было мало. не дождался.
Напомню, что в начале осени я передал на тестирование многоуважаемым Root и vk6666 486-ю мать, куда ставится 256 метров 30-пиновыми модулями. 8) Вообще такие платы (128-256) среди старых матерей встречаются чаще, чем можно подумать. Идея с кряком интересная, обязательно попробую.
Reaper, ага, было такое. Только вот 64МБ на 72-пиновых модулях у нас тоже на UMCшке было ;)
Ставил WinNT4.0+SP4 Workstation на 486DX4-75 24MBt Ram, работало нормально.
Так же, на AMD X5-133\32RAM стоит Win2k SP4. Жить можно, но не быстро. разгон до 160 и наращивание памяти до 44 картину почти не улучшили... Эх, мне бы еще 3 штучки 32х метровых FPM...
я бы сказал то же самое и про 32 метра
.
по заявлению того же микросоВта - минимум 486й камень и 12 метров оперативы - лично ставил на 486SX-33 и 12 метров оперативы - работает, только грузится минут 10-15
по поводу памяти - поспорю - ставил на Р-120 32метра оперативы - пошло, правда "несколько" медленно :)
а чем Р-2 и к6 не угодили??? на них то же самое, только памяти напихай не меньше 128 метров, и будет очень даже проворно ;)
да, по поводу проверки проца - винНТ4 на 386й проц (DX-40) и оперативы 20 метров, так и не получилось воткнуть :( root мне дал уже патченный сетап от NT4, где проверка проца отключена, так вот при попытке загрузится винда вываливает кучу мусора на экран или просто вмертвую виснет, еще до синего экрана (где память пишется и кол-во ЦПУ) при всем при этом машина полностью рабочая, и WinNT3,51 Server на нее встал как на родную, и гонял суперпи часик :)