Udostępnij za pośrednictwem


Zmiany rejestru w wersjach systemu Windows opartych na architekturze x64

W tym artykule opisano niektóre zmiany rejestru wprowadzone w wersjach 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 rejestru dla programów 32-bitowych i programów 64-bitowych.

Oryginalny numer KB: 896459

Podsumowanie

Ważne

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 wykonać poniższe kroki. Aby zapewnić dodatkową ochronę, utwórz kopię zapasową rejestru przed przystąpieniem do jego modyfikacji. 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 wersją x64 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. Układ rejestru zmienia się w wersjach x64 Edition systemu operacyjnego Windows upewnij się, że programy zakodowane na twardo ścieżki .dll, ustawienia programu i inne wartości parametrów nie są zastępowane.

Aby zapobiec zastępowaniu ustawień rejestru 32-bitowego 64-bitowego, komputery z uruchomioną wersją x64 sklepu Microsoft Store ustawienia dla programów 32-bitowych w nowej gałęzi rejestru. Użytkownicy nie zauważają żadnych zmian podczas instalacji programu. Proces przekierowywania rejestru umożliwia instalowanie programów i ustawienia konfiguracji programu w celu uzyskania dostępu do poprawnego podklucza rejestru bez interwencji użytkownika.

Programy 32-bitowe i programy 64-bitowe działające w wersji x64 systemu Windows działają w różnych trybach i korzystają z następujących sekcji w rejestrze:

  • Programy w trybie natywnym 64-bitowe 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 oraz klucze dostępu i wartości przechowywane w następującym podkluczu rejestru:

    HKEY_LOCAL_MACHINE\Software\WOW6432node

Przekierowywanie rejestru

Aby obsługiwać współistnienie 32-bitowych i 64-bitowych stanów rejestracji i programów COM, 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 bitów. Przekierowanie rejestru zapewnia również, że wywołania rejestru są kierowane do odpowiednich 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, które HKEY_LOCAL_MACHINE\Software 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. Przekierowywanie rejestru nie wymaga modyfikacji kodu programu, a ten proces jest niewidoczny dla użytkownika.

Podklucze rejestru uwzględnione w przekierowaniu

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żne

Przekierowanie klucza rejestru może ulec zmianie w nowszych 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 napisać kod w celu zweryfikowania stanu przekierowania przed wykonaniem wywołań do 32-bitowego lub 64-bitowego widoku logicznego rejestru.

Odbicie rejestru

Odbicie rejestru zapewnia metodę czasu rzeczywistego do przechowywania 32-bitowych i 64-bitowych sekcji rejestru otwarte 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 przechowywanie zarówno rejestru 32-bitowego, jak i rejestru 64-bitowego otwarte w celu obsługi wywołań programów 32-bitowych 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 klasy. Klucze klas są zapisywane za pomocą filozofii "ostatniego zapisywania wygrywa", a uchwyt do klucza jest zamykany, gdy klucz klasy 32-bitowej lub 64-bitowej jest zapisywany i zamykany.

Poniższa lista zawiera kilka przykładów filozofii "ostatniego zapisywania wygrywa":

  • Po przeprowadzeniu czystej instalacji systemu operacyjnego Windows x64 Edition wersja 64-bitowa Wordpad.exe jest zarejestrowana w celu obsługi plików .doc. Reflektor rejestru kopiuje rejestrację .doc z sekcji rejestru 64-bitowego do sekcji rejestru 32-bitowego.
  • Po zainstalowaniu 32-bitowej wersji pakietu Microsoft Office Winword.exe jest rejestrowana w celu obsługi plików .doc w widoku rejestru 32-bitowego. Reflektor rejestru kopiuje te informacje do sekcji rejestru 64-bitowego. W związku z tym programy 32-bitowe i 64-bitowe uruchamiają 32-bitową wersję Winword.exe dla plików .doc.
  • Po zainstalowaniu 64-bitowej wersji pakietu Microsoft Office 64-bitowa wersja Winword.exe jest zarejestrowana w sekcji rejestru 64-bitowego w celu obsługi plików .doc. Reflektor 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 plików .doc.

Uwaga 16.

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

Klucze rejestru współużytkowanego

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 widokach rejestru 32-bitowego, jak i 64-bitowego. 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 32-bitowym i 64-bitowym programie i nie są przepisane na podstawie 32-bitowego lub 64-bitowego poziomu 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żne

Odbicie klucza rejestru może ulec zmianie w nowszych wersjach systemu operacyjnego. Deweloperzy oprogramowania są zachęcani do unikania pisania kodu programu opartego na wcześniej udokumentowanych listach odzwierciedlonych kluczy. Zamiast tego należy napisać kod w celu zweryfikowania stanu odbicia przed wykonaniem wywołań do 32-bitowego lub 64-bitowego widoku logicznego rejestru.

Zmiany w Edytorze rejestru

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

Aby uruchomić 64-bitową wersję Edytora rejestru

  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 Edytorze rejestru znajdź i zbadaj następujący podklucz rejestru: HKEY_LOCAL_MACHINE\Software\WOW6432node

Aby uruchomić 32-bitową wersję Edytora 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ń Edytora rejestru.

Uwaga 16.

Po zalogowaniu się do komputera z systemem Microsoft Windows Server 2003 z dodatkiem Service Pack 1 (SP1) lub nowszego komputera lub komputera z systemem Windows x64 Edition oraz używania protokołu RDP (Remote Desktop Protocol) w celu nawiązania połączenia z innym komputerem z systemem Windows Server 2003 z dodatkiem SP1 lub nowszym albo z systemem Windows x64 Edition, można wyświetlić 64-bitową sekcję rejestru na komputerze zdalnym. Jednak po zalogowaniu się na komputerze 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 architekturze x64

Jeśli twój sprzęt jest już zainstalowany z systemem Windows x64, producent sprzętu zapewnia pomoc techniczną i pomoc dla wersji x64 systemu Windows. 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 rozsądną pomoc, jeśli musisz mieć pomoc techniczną dotyczącą wersji x64 systemu Windows. 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 wersję x64 systemu Windows, taką jak system Windows Server 2003 x64, skontaktuj się z firmą Microsoft, aby uzyskać pomoc techniczną.