Универсальный загрузочный диск Windows NT


Идея проекта: желание подружить Windows NT системы до Windows 2000 c новыми "железками" и не только. А также усилиями совместно с Alter Group обеспечить "поддержку боем" параллельной разработкой и тестированием UniATA и VBEMP на разнообразном оборудовании.
ВМЕСТО ПРЕДИСЛОВИЯ

Установка Windows NT с CD, HDD или флоппи дисков (как обычно) на современном "железе" (Я имею в виду Pentium4 и более новые PC) может стать довольно непростой задачей из-за несовместимости установщика с современным быстрым/новым "железом" и CPU. Это вовсе не означает, что Windows NT не может РАБОТАТЬ на таком оборудовании. Вы МОЖЕТЕ поставить Windows NT в виртуальной среде (QEMU, VirtualBox, VmWare, VirtualPC, Bochs ...) и затем скопировать образ установленной ОС на жесткий диск "реального" PC.


Microsoft Windows NT 4.00


Проверенные дистрибутивы:
  1. Windows NT 4.0 EN Workstation SP6a
  2. Windows NT 4.0 RU Workstation SP6a
  3. Windows NT 4.0 EN Server SP6a
  4. Windows NT 4.0 EN Server Enterprise Edition SP6a
  5. Windows NT 4.0 EN TerminalServer SP6
В дистрибутивы возможна дополнительная интеграция следующих дополнений: ВАЖНО:

Microsoft Windows NT 3.51


Проверенные дистрибутивы:
  1. Windows NT 3.51 EN Workstation SP5 + POSTSP5 SuperPack v.6
  2. Windows NT 3.51 EN Server SP5 + POSTSP5 SuperPack v.6
В дистрибутивы возможна дополнительная интеграция следующих дополнений: ВАЖНО:

Microsoft Windows NT 3.x0


Проверенные дистрибутивы:
  1. Windows NT 3.50 EN Workstation SP3
  2. Windows NT 3.10 EN Workstation SP3
Under construction... :)

Консоли восстановления WINDOWS

  1. O&O BlueCon XXL 5.0.174 (Windows NT 4.0 Kernel Based)
  2. Windows XP SP2 Preinstallation Environment (то бишь WINPE)
  3. Winternals ERD Commander 2000 (Windows 2000 Kernel Based)

Консоли восстановления DOS

  1. Windows 98SE EN Boot Disk
  2. Windows 98SE EN Boot Disk + Ontrack Disk Manager 9.57 beta
  3. MS-DOS Networking 3.0 (Windows 98 SE) Boot Disk
  4. Утилиты DOS (каталог /TOOLS)

Обновление Windows NT 4.0 MINI FAQ


Проблема 1: Установка NT 4.0 на новые PC (PII/III-P4 Class CPUs) (снятие ограничения 8gb HDD, добавление поддержки AGP, удачная загрузка на новых системах итд.)
Решение: NT4 Integration (Slipstreaming) Guide
Инструменты: Порядок действий:
  1. Создаем каталог C:\NT4INST. Распаковываем туда SSKIT.ZIP.
  2. Создаем каталог C:\NT4INST\SP6. Распаковываем туда Service Pack 6a:
    sp6i386.exe /x
    
    или для Terminal Server (Service Pack 6):
    wtsi386.exe /x
    
  3. Естественно туда еще можно скопировать любые более новые файлы из других обновлений перезаписывая более старые их варианты, как, например, из пакета SRP. Обнаружено, что Вы ДОЛЖНЫ переименовать некоторые файлы в каталоге C:\NT4INST\SP6 перед использованием SSKIT:
    oem*.wks в oem*.inf ; Service Pack 6a и обновляете NT4 Workstation.
    oem*.srv в oem*.inf ; Service Pack 6a и обновляете NT4 Server/Server Enterprise Edition
    oem*.srv в oem*.inf ; Service Pack 6 и обновляете NT4 Terminal Server.
    browser2.dll в browser.dll ; пакет SRP
    
  4. Создаем каталог C:\NT4INST\I386. Переписываем туда содержимое каталога (полностью) \I386 из Дистрибутива NT4.
  5. Создаем пустой каталог C:\NT4INST\OUT. Это временный каталог для SSKIT.
  6. Создаем пустой каталог C:\NT4INST\SRC\I386. Сюда будем собирать дистрибутив.
  7. Переходим в каталог C:\NT4INST. Запускаем SSKIT из командной строки:
    sskit.exe C:\NT4INST\SP6\ C:\NT4INST\I386\ C:\NT4INST\OUT\
    
  8. После отработки SSKIT:
  9. Переписываем содержимое архива nt4pack из каталога I386 в каталог C:\NT4INST\SRC\I386 c заменой одинаковых файлов.
  10. Переписываем содержимое архива nt4pack из каталога ROOT в каталог C:\NT4INST\SRC c заменой одинаковых файлов.
  11. Переписываем содержимое архива nt4pack из каталога EXE в каталог C:\NT4INST c заменой одинаковых файлов.
  12. Если Вы хотите интегрировать драйвер контроллера дисков - Внесите изменения в C:\NT4INST\SRC\I386\txtsetup.sif (на примере intelata.sys) :
    [SourceDisksFiles]
    ...
    intelata.sys = 1,,,,,,_3,4,0,0
    ...
    
    [SCSI.Load]
    intelata = intelata.sys,4 ; первая строчка!!!
    ...
    
    [SCSI]
    ...
    intelata = "Intel ATA PIIX/ICH Controller"
    ...
    
    Вносим изменения в C:\NT4INST\SRC\I386\dosnet.inf
    [Files]
    ...
    d1,intelata.sys
    ...
    
    Вносим изменения в C:\NT4INST\SRC\I386\layout.inf
    [SourceDisksFiles]
    ...
    intelata.sys = 1,,,,,,_3,4,0,0
    ...
    
  13. Переходим в каталог C:\NT4INST. Запускаем CDIMAGE.EXE из командной строки:
    CDIMAGE.EXE -lNT4SP6a -h -nt -m -bC:\NT4INST\SRC\bootsect.bin -ois C:\NT4INST\SRC nt4sp6a.iso
    
  14. Записываем nt4sp6a.iso на CD/DVD носитель и в финале получаем инсталляционный диск NT4 с интегрированным Service Pack. :)
  15. Не забываем после установки NT4 с данного диска запустить установку SP6a/SP6 с "родного" его дистрибутива (т.к. наличие SP6a/SP6 не отражено в реестре):
    sp6i386.exe -z -n -q 
    
    или для Terminal Server (Service Pack 6):
    wtsi386.exe -z -n -q 
    
    И затем - перезагружаемся.

Проблема 2: Необходим драйвер для НОВЫХ (E)IDE/(S)ATA контроллеров хранения c поддержкой busmastering, LBA48 & UDMA
Решение: Для Intel-овых контролеров (PIIX-PIIX4e,ICH-ICH4) используйте Intel Application Accelerator. Для VIA контроллеров используйте Via Service Pack. Для более новых используйте UniATA - Универсальный (E)IDE/(S)ATA драйвер для Windows NT3/NT4/2000/XP/2003. Обратите внимание, что UniATA поддерживает широкий спектр современных SATA контроллеров но только в том случае, когда настройки 'ide emulation' и/или 'legacy mode' включены в BIOS-e Вашего компьютера. Эти драйвера успешно решают проблемы с хорошо известным баръером 8Gb и поддержкой 48-Bit LBA.

Проблема 3: Необходим драйвер для НОВЫХ ВИДЕО адаптеров
Решение: Есть драйвер, основанный на VESA BIOS extensions (VBE). Посетите VBEMP x86 Project или используйте SciTech Software SNAP Graphics Версия 3.1.1 [snap-winnt-3.1.1.exe], поддерживаемое оборудование или Версия 3.1.3 beta 1284 [snap-winnt-3.1.3-1284.exe] для NT4. SNAP умеет 2D-ускорение и аппаратный оверлей.

Что касается официальных "родных" драйверов, вот небольшой их список:
  1. Карты ATI (теперь AMD) Radeon: все карты до чипов R400, включая мобильные и PCI-E варианты, т.е. Radeon X300/X550/X600 и ниже (ищите на сайтах вендоров ноутбуков драйвера выпущенные в 2004-2006 гг). SNAP Graphics умеет карты до x700, x800, x850 вкл.
  2. Карты Intel integrated graphics: все карты включая чипы 865G т.е. 740/810/815/830/835/845/852/855/865 (поледний выпущенный - версия 13.6.1). 910G/915G чипы подерживаются дополнительным драйвером Intel Embedded Graphics (версия 4.1 или 5.1). 945G чипы подерживаются дополнительным драйвером Intel Embedded Graphics (версия 5.1). SNAP Graphics умеет карты до 945G вкл.
  3. Карты nVidia GeForce: все карты включая чипы GeForce 2/3/4/FX/6 Series (поледний выпущенный - версия 77.72). SNAP Graphics умеет карты до GeForce 6 Series вкл.
  4. Карты Matrox chips: все карты включая чипы Parhelia.
  5. продолжение следует...

Проблема 4: Необходим драйвер для НОВЫХ АУДИО карт
Решение: Используйте SciTech Software SNAP Audio для NT4 [snapaudio-winnt-1.1.2.exe]. Поддерживаемое оборудование:

; ALI

1 10B9:5451 ac97ali.drv         ; ALI M5451
1 10B9:5455 ac97ali.drv         ; ALI M1563M
1 10B9:5461 hdaudio.drv         ; ALI 5461

; AMD

0 1022:7445 ac97int.drv         ; AMD 768
0 1022:746d ac97int.drv         ; AMD 8111

; ATI

0 1002:4341 ac97ati.drv         ; ATI SB200
0 1002:4361 ac97ati.drv         ; ATI SB300
0 1002:4370 ac97ati.drv         ; ATI SB400
0 1002:437b hdaudio.drv         ; ATI SB450

; Creative Labs (Ensoniq on old PCI cards)

1 1102:0002 sblive.drv          ; SB Live! / PCI 512
1 1102:0004 sblive.drv          ; SB Audigy
1 1102:0006 sblive.drv          ; SB Live! (Dell)
1 1102:0007 sblive.drv          ; SB Audigy LS
1 1102:0008 sblive.drv          ; SB Audigy 2
1 1274:1371 sbpci.drv           ; SB PCI
1 1274:5880 sbpci.drv           ; SB PCI

; Crystal / Cirrus

1 1013:6001 crystal.drv         ; CS4610
1 1013:6003 crystal.drv         ; CS4280

; Intel

0 8086:2415 ac97int.drv         ; Intel ICH
0 8086:2425 ac97int.drv         ; Intel ICH0
0 8086:2445 ac97int.drv         ; Intel ICH2
0 8086:2485 ac97int.drv         ; Intel ICH3
0 8086:24c5 ac97int.drv         ; Intel ICH4
0 8086:24d5 ac97int.drv         ; Intel ICH5
0 8086:25a6 ac97int.drv         ; Intel ESB
0 8086:2668 hdaudio.drv         ; Intel ICH6 (HDA)
0 8086:266e ac97int.drv         ; Intel ICH6 (AC97)
0 8086:2698 ac97int.drv         ; Intel ESB2 (AC97)
0 8086:269a hdaudio.drv         ; Intel ESB2 (HDA)
0 8086:27d8 hdaudio.drv         ; Intel ICH7 (HDA)
0 8086:27de ac97int.drv         ; Intel ICH7 (AC97)
0 8086:7195 ac97int.drv         ; Intel 440MX

; Neomagic

1 10C8:8005 neomagic.drv        ; MagicMedia 256AV (NM2200)
1 10C8:8006 neomagic.drv        ; MagicMedia 256ZX (NM2360)
1 10C8:8016 neomagic.drv        ; MagicMedia 256XL+ (NM2380)
1 10C8:8025 neomagic.drv        ; MagicMedia 256AV+ (NM2230)

; NVIDIA

1 10de:003a ac97int.drv         ; MCP04
1 10de:0059 ac97int.drv         ; CK804
0 10de:006a ac97int.drv         ; nForce 2
0 10de:008a ac97int.drv         ; MCP2S
0 10de:00da ac97int.drv         ; nForce 3
0 10de:00ea ac97int.drv         ; nForce 3
0 10de:01b1 ac97int.drv         ; nForce
1 10de:026b ac97int.drv         ; MCP51 (AC97)
1 10de:026c hdaudio.drv         ; MCP51 (HDA)

; SiS

1 1039:7012 ac97int.drv         ; SiS 7012
1 1039:7018 ac97int.drv         ; SiS 7018

; VIA

1 1106:3058 ac97via.drv         ; VIA VT82C686
1 1106:3059 ac97via.drv         ; VIA VT8233/A/8235/8237
1 1106:3288 hdaudio.drv         ; VIA VT8251/VT8237A

Проблема 5: Необходим драйвер для НОВЫХ NETWORK (W)LAN адаптеров
Решение: Некоторые из производителей прекратили поддержку NT 4.0 в своих драйверах, некоторые - нет. Вы должны посетить их сайты, указанные ниже, чтобы найти необходиме драйверы.
  1. Intel Corp. - http://www.intel.com/support/index.htm
  2. 3Com Corp. - http://www.3com.com/products/en_US/downloadsindex.jsp
  3. Marvell Semiconductor, Inc. - http://www.marvell.com/drivers
  4. Broadcom Corp. - http://www.broadcom.com/support/
  5. Realtek Semiconductor Corp. - http://www.realtek.com.tw/downloads/

Проблема 6: Необходим драйвер для USB 1.x/2.0 устройств/контроллеров
Решение: Используйте Inside Out Networks (теперь Digi International®) USB 1.x/2.0 Stack/drivers [i4usb406.exe] для стека, мышей, клавиатур, usb принтеров (через эмуляцию виртуального LPT порта), usb устройсв хранения - flash/hdd media.
Здесь вы найдете НОВЫЕ обновленные файлы ТОЛЬКО для обновления с версии 4.06! - Digi International® 4.20 USB 1.x/2.0 Stack/drivers update ver 4.20. Поместите их поверх старых версий в каталогах %SystemRoot%/SYSTEM32 и %SystemRoot%/SYSTEM32/DRIVERS.

Проблема 7: Необходим драйвер для файловой системы FAT32
Решение 1: Используйте Sysinternals Freeware - Fat32 for Windows NT 4.0 для поддержки данной файловой системы. Если драйвер FAT32.SYS настроить в реестре стартовать в момент system boot как показано ниже,
---- start copying here ----
REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Fat32]
"Type"=dword:00000002
"Start"=dword:00000000
"ErrorControl"=dword:00000001
---- end copying here ----
появляется возможность ЗАГРУЖАТЬ NT4 с раздела FAT32.

Решение 2: Используйте ОБНОВЛЕННЫЕ fastfat.sys/fs_rec.sys из FASTFAT.ZIP творчество неизвестного автора (151450 байт) для поддержки данной файловой системы. Для его установки замените %SystemRoot%/System32/Drivers/fastfat.sys и %SystemRoot%/System32/Drivers/fs_rec.sys файлами из архива и перезагрузитесь.

Но помните что эти драйверы не умеют исправлять ошибки файловой системы на разделах FAT32. Вы должшы использовать отдельную утилиту дял этого. Я рекомендую использовать NT4, установленную на разделе FAT32 ТОЛЬКО в мультизагрузке с любой системой полноценно поддерживающей FAT32 (Windows 95/98/ME/2K/XP/2003...)

Проблема 8: Необходима авторегистрация в сети с ПУСТЫМ паролем как в Windows 2000/XP и далее
Решение: Используйте опцию Autologon из TweakUI & сделайте патч на MSGINA.DLL (не забудьте пересчитать контрольную сумму после внесения изменений в MSGINA.DLL)
EN-US версия MSGINA.DLL из WindowsNT4Server-KB835732-x86-ENU.EXE

.48482BAF: FF7004         push        d,[eax][04]                              
.48482BB2: E87F740000     call        LsaFreeMemory ;ADVAPI32 -- 2             
.48482BB7: FF75F8        1push        d,[ebp][-08]                             
.48482BBA: E877740000     call        LsaFreeMemory ;ADVAPI32 -- 2             
.48482BBF: FF75F0         push        d,[ebp][-10]                             
.48482BC2: E869740000     call        LsaClose ;ADVAPI32 -- 3                  
.48482BC7: 837DF400       cmp         d,[ebp][-0C],0                           
.48482BCB: 7D15           jge        .048482BE2 -- 4  (7D поменять на EB)
.48482BCD: 689CD74848     push        04848D79C -- 5                           
.48482BD2: 68D8D44848     push        04848D4D8 ;'AutoAdminLogon'              
.48482BD7: 6888D74848     push        04848D788 ;'Winlogon'                    
.48482BDC: FF15D4D04848   call        WriteProfileStringW ;KERNEL32            
.48482BE2: 8B75FC        4mov         esi,[ebp][-04]                           
.48482BE5: 81C61C0B0000   add         esi,000000B1C ;'    '                    
.48482BEB: 833E00         cmp         d,[esi],0                                
.48482BEE: 754C           jne        .048482C3C -- 8                           
.48482BF0: 6A00           push        0                                        
.48482BF2: 68B4D44848     push        04848D4B4 -- 9                           
.48482BF7: 6864D74848     push        04848D764 ;'DefaultDomainName'           
.48482BFC: 6850D74848     push        04848D750 ;'Winlogon'                    
.48482C01: E8E8F5FFFF     call       .0484821EE -- C                           
.48482C06: 8BF8           mov         edi,eax                                  

Проблема 9: Необходимо использовать функции Расширенного Управления Питанием (АУП) в NT4 (Программное выключение питания, спящий режим, режим ожидания, resume)
Решениеn: Используйте Dell Phoenix APM Utility [R44506.EXE].
Обратите внимание что этот драйвер не посылает HLT процессору когда тот работает в режиме ожидания и в любом случае он расходует 100% энергии. Возможно сделать патч на hal.dll для поддержки HLT. Однако, стандартный HAL корректно посылает иструкции HLT для CPU когда тот находится в режиме ожидания, но функции АУП там отсутствуют.

Проблема 10: Необходимо видеть HICOLOR иконки в system tray
Решение: Патч explorer.exe:
.01587005: 6A01                         push        001                        
.01587007: 6A00                         push        000                        
.01587009: 6A11                         push        001 (изменть на push 011)
.0158700B: FF75FC                       push        d,[ebp][-04]               
.0158700E: 57                           push        edi                        
.0158700F: FF1550075A01                 call        ImageList_Create ;COMCTL32 
...
...
...
.015890AA: 6A01                         push        001                        
.015890AC: 6A00                         push        000                        
.015890AE: 6A11                         push        001 (изменть на push 011)
.015890B0: 6A32                         push        032                        
.015890B2: FF15E8025A01                 call        GetSystemMetrics ;USER32   
.015890B8: 50                           push        eax                        
.015890B9: 6A31                         push        031                        
.015890BB: FF15E8025A01                 call        GetSystemMetrics ;USER32   
.015890C1: 50                           push        eax                        
.015890C2: FF1550075A01                 call        ImageList_Create ;COMCTL32 

This Is A Translated Text! Original Article In English: http://www.geocities.com/bearwindows/winnt4.htm
E-Mail: navozhdeniye_at_narod_dot_ru | Последнее обновление листа: 1 сентября 2008