Podmiana jądra i warstwy abstrakcji sprzętu w systemie Windows XP.

Dla każdego podmiana jądra systemu kojarzy się przede wszystkim z Linuxem. Kompilacja jądra jest możliwa, ponieważ źródła są dostępne w sieci. Windowsowskiego jądra nie można skompilować (brak źródeł). Natomiast można skorzystać z dostępnych jakie są w Windowsie XP.

Jaki ma sens podmiana jądra i HALa (Hardware Abstraction Layer)?

Wyobraźmy sobie sytuację, w której kupiłeś nowy procesor i chciałbyś, żeby system działał w pełni bez reinstalki. Albo z jakiś innych względów chcesz zmienić jądro i HALa.
Zmianę HALa i jądra można zrealizować na dwa sposoby.

Metoda prosta - instalator.

Prawym klawiszem myszy klikasz na Mój komputer. Następnie Właściwości-> Sprzęt -> Menadżer Urządzeń. Tam rozwijasz gałąź komputer i wybierasz właściwości tego co się tam pojawiło. W zakładce Sterownik wybierasz przycisk Aktualizuj sterownik. Zaznaczasz Zainstaluj z listy lub określonej lokalizacji (zaawansowane) i dalej. Następnie wybierasz Nie wyszukuj, wybiorę sterownik do zainstalowania i znów dalej. Reszta już z górki. Wybierasz interesujący cię HAL i kernel (rys. 1), a po naciśnięciu dalej wszystko zainstaluje się automatycznie. Na sam koniec instalacji wskazany jest restart maszyny.
Ekran wyboru typu komputera (HAL i kernel)
Ekran wyboru typu komputera

Metoda trudniejsza.

Tą metodę polecam osobom, które wiedzą co robią, albo przynajmniej wiedzą co chcą zrobić.

Wybór odpowiedniego jądra i HALa.
Rodzaje jąder:
  1. Jądro systemu jednoprocesorowego (ntoskrnl.exe)
  2. Jądro systemu wieloprocesorowego (ntkrnlmp.exe)

Skoro już mamy wybrane jądro należy przejść do wyboru warstwy abstrakcji sprzętowej. Tutaj wyborów jest więcej.
  1. Standardowy komputer PC, Non-ACPI PIC HAL (Hal.dll)
  2. Komputer PC z interfejsem ACPI, ACPI PIC HAL (Halacpi.dll)
  3. Jednoprocesorowy komputer PC MPS, Non-ACPI APIC UP HAL (Halapic.dll)
  4. Wieloprocesorowy komputer PC MPS, Non-ACPI APIC MP HAL (Halmps.dll)
  5. Jednoprocesorowy komputer PC z interfejsem ACPI, ACPI APIC UP HAL (Halaacpi.dll)
  6. Wieloprocesorowy komputer PC z interfejsem ACPI, ACPI APIC MP HAL (Halmacpi.dll)

OSTRZEŻENIE: Nie zalecana jest zmiana HALa z obsługą ACPI na taki bez tej obsługi, lub odwrotnie. Może to powodować problemy z uruchomieniem się Windowsa.

Pliki HALa i jądra znajdują się w Windows\Driver Cache\i386\driver.cab lub sp1.cab dla systemów bez service packa lub z jego pierwszą wersją. Natomiast przy SP2 można je znaleźć w Windows\ServicePackFiles\i386. Skoro już mamy wybranego kernela oraz HALa, należy wybrane pliki przekopiować w dowolne miejsce (np. na c:\).
Następnie musimy zmienić im nazwę. Plik jądra zamieniamy na ntoskrnl.exe, a HALa na hal.dll. W ramach przygotowań do instalacji warto zrobić backup aktualnej wersji HALa (windows\system32\hal.dll) oraz kernela (windows\system32\ntkrnlpa.exe).
Kiedy wszystko już przygotowane. Czas rozpocząć podmianę.

I znów mamy dwie wersje.
Po skopiowaniu restart systemu. Po restarcie system sam powinien wykryć nowe jądro i warstwę abstrakcji sprzętu. Dla sprawdzenia czy typ komputera jest zgodny z zamierzeniami włączamy Mój komputer -> Właściwości-> Sprzęt -> Menadżer Urządzeń i wprawdzamy gałąź komputer.
Jeśli komputer się nie uruchomi musimy przywrócić poprzedniego HALa oraz jądro z backupu i spróbować z inną konfiguracja.

Valid HTML 4.01 Transitional