Zmiany rejestru w wersjach systemu Windows opartych na systemie x64

W tym artykule opisano niektóre zmiany rejestru wprowadzone w wersjach opartych na systemie x64 systemów Microsoft Windows Server 2003 i Microsoft Windows XP Professional x64 Edition. Opisano w nim, jak system operacyjny Windows x64 Edition przechowuje informacje o rejestrze dla programów 32-bitowych i programów 64-bitowych.

Dotyczy: Windows 10 — wszystkie wersje, Windows Server 2012 R2
Oryginalny numer KB: 896459

Podsumowanie

Ważna

W tej sekcji, metodzie lub w tym zadaniu podano informacje dotyczące modyfikowania rejestru. Niepoprawne zmodyfikowanie rejestru może jednak być przyczyną poważnych problemów. Dlatego należy uważnie wykonywać podane czynności. Dla większego bezpieczeństwa przed zmodyfikowaniem rejestru należy wykonać jego kopię zapasową. Dzięki temu będzie można przywrócić rejestr w przypadku wystąpienia problemu. Aby uzyskać więcej informacji na temat tworzenia kopii zapasowej i przywracania rejestru, kliknij następujący numer artykułu, aby wyświetlić artykuł w bazie wiedzy Microsoft Knowledge Base: 322756 Jak utworzyć kopię zapasową i przywrócić rejestr w systemie Windows

Komputery z systemem x64 wersji systemu Microsoft Windows Server 2003 lub Microsoft Windows XP Professional x64 Edition używają innego układu rejestru do obsługi programów 32-bitowych i 64-bitowych. Zmiany układu rejestru w wersjach x64 Edition systemu operacyjnego Windows upewnij się, że programy zakodowane na stałe .dll ścieżki, ustawienia programu i inne wartości parametrów nie są zastępowane.

Aby zapobiec zastępowaniu 64-bitowych ustawień rejestru przez 32-bitowe ustawienia rejestru, na komputerach, na których jest uruchomiona wersja x64 sklepu Microsoft Store, ustawienia 32-bitowych programów w nowej gałęzi w rejestrze. Użytkownicy nie zauważają żadnych zmian podczas instalacji programu. Proces przekierowania rejestru umożliwia instalacjom programu i ustawień konfiguracji programu dostęp do poprawnego podklucza rejestru bez interwencji użytkownika.

Programy 32-bitowe i programy 64-bitowe, które są uruchomione w wersji systemu Windows opartej na x64, działają w różnych trybach i korzystają z następujących sekcji w rejestrze:

  • Programy 64-bitowe w trybie natywnym działają w trybie natywnym oraz klucze dostępu i wartości przechowywane w następującym podkluczu rejestru:

    HKEY_LOCAL_MACHINE\Software

  • Programy 32-bitowe działają w trybie WOW64, a klucze dostępu i wartości są przechowywane w następującym podkluczu rejestru:

    HKEY_LOCAL_MACHINE\Software\WOW6432node

Przekierowanie rejestru

Aby obsługiwać współistnienie 32-bitowej i 64-bitowej rejestracji COM i stanów programu, podsystem WOW64 przedstawia programy 32-bitowe przy użyciu innego widoku rejestru. Podsystem WOW64 używa przekierowania rejestru do przechwytywania wywołań rejestru na poziomie bitu. Przekierowanie rejestru zapewnia również, że wywołania rejestru są kierowane do prawidłowych gałęzi w rejestrze.

Podczas instalowania nowego programu lub uruchamiania programu na komputerze z systemem Windows x64 Edition wywołania rejestru wykonywane przez programy 64-bitowe uzyskują dostęp do podklucza HKEY_LOCAL_MACHINE\Software rejestru bez przekierowania. Wow64 przechwytuje wywołania rejestru, HKEY_LOCAL_MACHINE\Software które są wykonywane przez programy 32-bitowe, a następnie przekierowuje je do podklucza HKEY_LOCAL_MACHINE\Software\WOW6432node . Przekierowując tylko 32-bitowe wywołania programu, WOW64 zapewnia, że programy zawsze zapisują do odpowiedniego podklucza rejestru. Przekierowanie rejestru nie wymaga modyfikacji kodu programu, a ten proces jest niewidoczny dla użytkownika.

Podklucze rejestru uwzględnione w przekierowywaniu

Następujące podklucze rejestru są przekierowywane w bieżących wersjach systemu operacyjnego Windows x64 Edition:

  • HKEY_LOCAL_MACHINE\Software\Classes
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Ole
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc
  • HKEY_LOCAL_MACHINE\Software\Microsoft\COM3
  • HKEY_LOCAL_MACHINE\Software\Microsoft\EventSystem

Ważna

Przekierowanie klucza rejestru może ulec zmianie w późniejszych wersjach systemu operacyjnego. Deweloperzy oprogramowania są zachęcani do unikania pisania kodu programu opartego na wcześniej udokumentowanych listach przekierowanych kluczy. Zamiast tego należy zapisać kod w celu zweryfikowania stanu przekierowania przed wywołaniem 32-bitowego lub 64-bitowego widoku logicznego rejestru.

Odbicie rejestru

Odbicie rejestru zapewnia metodę w czasie rzeczywistym do przechowywania 32-bitowych i 64-bitowych sekcji rejestru otwartych przez cały czas. Rozważmy na przykład 32-bitowy program o nazwie Hello.exe, który działa jako 32-bitowy serwer OLE, ale może również obsługiwać żądania od klientów 64-bitowych. Odbicie rejestru umożliwia programowi Hello.exe utrzymywanie zarówno rejestru 32-bitowego, jak i rejestru 64-bitowego w celu obsługi zarówno wywołań programów 32-bitowych, jak i 64-bitowych.

Odbicie umożliwia istnienie dwóch fizycznych kopii tego samego rejestru w celu obsługi równoczesnych operacji natywnych i WOW64. Większość odzwierciedlonych kluczy to klucze klas. Klucze klas są zapisywane przy użyciu filozofii "ostatni zapis wygrywa", a dojście do klucza jest zamykane po zapisaniu i zamknięciu klucza klasy 32-bitowej lub 64-bitowej.

Poniższa lista zawiera kilka przykładów filozofii "ostatni pisarz wygrywa":

  • Po przeprowadzeniu czystej instalacji systemu operacyjnego Windows x64 Edition 64-bitowa wersja Wordpad.exe jest zarejestrowana do obsługi .doc plików. Odblask rejestru kopiuje rejestrację .doc z 64-bitowej sekcji rejestru do 32-bitowej sekcji rejestru.
  • Podczas instalowania 32-bitowej wersji pakietu Microsoft Office Winword.exe jest zarejestrowany do obsługi .doc plików w 32-bitowym widoku rejestru. Odblask rejestru kopiuje te informacje do 64-bitowej sekcji rejestru. W związku z tym zarówno programy 32-bitowe, jak i 64-bitowe uruchamiają 32-bitową wersję Winword.exe dla plików .doc.
  • Podczas instalowania 64-bitowej wersji pakietu Microsoft Office 64-bitowa wersja Winword.exe jest zarejestrowana w 64-bitowej sekcji rejestru w celu obsługi .doc plików. Odblask rejestru kopiuje również te informacje do sekcji rejestru 32-bitowego, więc zarówno programy 32-bitowe, jak i 64-bitowe uruchamiają 64-bitową wersję Winword.exe dla .doc plików.

Uwaga

Deweloperzy mogą użyć funkcji RegQueryReflectionKey, aby określić stan odbicia dla określonego klucza i użyć funkcji RegDisableReflectionKey i funkcji RegEnableReflectionKey, aby programowo wyłączyć i włączyć odbicie rejestru dla określonego klucza.

Udostępnione klucze rejestru

Niektóre podklucze rejestru zawierają stałe informacje, które istnieją tylko w jednej kopii rejestru, mimo że te klucze są wyświetlane zarówno w 32-bitowych, jak i 64-bitowych widokach rejestru. Jest to nazywane odbiciem rejestru.

W bieżących wersjach systemów operacyjnych Windows x64 Edition następujące podklucze rejestru są współużytkowane w programach 32-bitowych i 64-bitowych i nie są ponownie zapisywane na podstawie poziomu 32-bitowego lub 64-bitowego programu lub procesu:

  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\SYSTEMCERTIFICATES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CRYPTOGRAPHY\SERVICES
  • HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\HCP
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\ENTERPRISECERTIFICATES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSMQ
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\NETWORKCARDS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\PROFILELIST
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\PERFLIB
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\PRINT
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\PORTS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\CONTROL PANEL\CURSORS\SCHEMES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\TELEPHONY\LOCATIONS
  • HKEY_LOCAL_MACHINE\SOFTWARE\POLICIES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\GROUP POLICY
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP\OC MANAGER
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\SOFTWARE\MICROSOFT\SHARED TOOLS\MSINFO
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CTF\TIP
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CTF\SYSTEMSHARED
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\FONTS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\FONTSUBSTITUTES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\FONTDPI
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\FONTMAPPER
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\RAS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\DRIVER SIGNING
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\NON-DRIVER SIGNING
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CRYPTOGRAPHY\CALAIS\CURRENT
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CRYPTOGRAPHY\CALAIS\READERS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\TIME ZONE
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\TRANSACTION SERVER
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\DFS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\TERMSERVLICENSING

Ważna

Odbicie klucza rejestru może ulec zmianie w późniejszych wersjach systemu operacyjnego. Deweloperzy oprogramowania są zachęcani do unikania pisania kodu programu opartego na wcześniej udokumentowanych listach kluczy odzwierciedlonych. Zamiast tego należy napisać kod w celu zweryfikowania stanu odbicia, zanim program wywoła 32-bitowy lub 64-bitowy widok logiczny rejestru.

Zmiany Redaktor rejestru

Zarówno 32-bitowe, jak i 64-bitowe wersje rejestru Redaktor są dołączone do systemów operacyjnych x64 Edition. Aby lepiej zrozumieć sekcje programu 64-bitowego i 32-bitowego rejestru na komputerze z systemem Windows x64 Edition, użyj jednej z następujących metod.

Aby uruchomić 64-bitową wersję usługi Registry Redaktor

  1. Zaloguj się na komputerze z systemem Windows x64 Edition przy użyciu konta z uprawnieniami administracyjnymi.
  2. Kliknij przycisk Start, kliknij polecenie Uruchom, wpisz ciąg regedit w polu Otwórz, a następnie kliknij przycisk OK.
  3. W Redaktor rejestru znajdź i sprawdź następujący podklucz rejestru:HKEY_LOCAL_MACHINE\Software\WOW6432node

Aby uruchomić 32-bitową wersję Redaktor rejestru

Kliknij przycisk Start, kliknij przycisk Uruchom, wpisz literę dysku, w której zainstalowano system Windows x64 Edition\Windows\syswow64\regedit.exe m w polu Otwórz , a następnie kliknij przycisk OK. Przełącznik m umożliwia uruchamianie wielu wystąpień Redaktor rejestru.

Uwaga

Po zalogowaniu się na komputerze z systemem Microsoft Windows Server 2003 z dodatkiem Service Pack 1 (SP1) lub komputerze z systemem Windows x64 Edition i połączeniu z innym komputerem z systemem Windows Server 2003 z dodatkiem SP1 lub nowszym lub komputerem z systemem Windows x64 Edition można wyświetlić 64-bitową sekcję rejestru na komputerze zdalnym. Jednak po zalogowaniu się do komputera z systemem Microsoft Windows Server 2003, który nie został uaktualniony do dodatku SP1 lub innego 32-bitowego systemu operacyjnego Windows, można wyświetlić tylko 32-bitową sekcję rejestru na komputerze zdalnym.

Pomoc techniczna dotycząca wersji systemu Windows opartych na x64

Jeśli sprzęt jest już zainstalowany z systemem Windows x64, producent sprzętu zapewnia pomoc techniczną dla systemu Windows x64. W tym przypadku producent sprzętu zapewnia pomoc techniczną, ponieważ system Windows w wersji x64 został dostarczony razem ze sprzętem. Być może producent sprzętu dostosował instalację systemu Windows w wersji x64 przy użyciu unikatowych składników. Mogą do nich należeć sterowniki określonych urządzeń lub ustawienia opcjonalne zwiększające wydajność sprzętu. Firma Microsoft zapewni pomoc dotyczącą rozsądnego nakładu pracy, jeśli potrzebujesz pomocy technicznej dotyczącej wersji systemu Windows x64. Czasami jednak może być konieczny bezpośredni kontakt z producentem. Personel producenta jest najlepiej przygotowany do świadczenia pomocy technicznej związanej z oprogramowaniem zainstalowanym na danym sprzęcie. Jeśli zakupiono oddzielnie wersję systemu Windows x64, taką jak windows Server 2003 x64, skontaktuj się z firmą Microsoft w celu uzyskania pomocy technicznej.