我需要知道如何从Windows注册表,Linux系统上安装的Windows(7或10)分区中检索区域设置。请注意,我不能直接使用Windows。
最好是将它们直接显示在终端中,但是我想这不会像使用cat registry_file | grep key
那样容易。
我主要对诸如sCountry
,Locale
,LocaleName
和sLanguage
之类的注册表项感兴趣(但是我可能还不知道更多,因为更多Linux人士)。据我所知,这些密钥分散在系统范围内或出于不同目的而分布在每个用户目录中,但是我找不到如何读取这些密钥的最终答案,特别是对于一个用户。
在这种情况下能否实现?
我的问题不是重复的;我已经看过了:
Editing Windows registry, from Python, Under Linux-它不提供有用的信息(过时和/或不相关的信息,断开的链接等)。
How to find world region or country or language from the windows registry?-它不涉及从Linux系统执行此操作的用例
答案 0 :(得分:1)
所需的系统语言环境存储在:
HKEY_USERS\.DEFAULT\Control Panel\International\sCountry
HKEY_USERS\.DEFAULT\Control Panel\International\Locale
HKEY_USERS\.DEFAULT\Control Panel\International\sLanguage
sCountry
仅用于表示法格式,您还可以使用语言环境信息并将其链接到此表:
https://msdn.microsoft.com/en-us/library/ee825488(v=cs.20).aspx
此外,您可以查看以下注册表:
HKEY_CURRENT_USER\Control Panel\International\Geo\Nation
下表中代表当前位置:
根据grawity的回答: https://superuser.com/a/289963
注册中心:
HKLM\SYSTEM
文件:
\WINDOWS\system32\config\system
- 注册中心:
HKLM\SOFTWARE
文件:
\WINDOWS\system32\config\software
- 注册表:
HKU\<user-SID>
(又名HKCU
)文件:
<home>\NTUSER.DAT
- 注册表:
HKU\<user-SID>_Classes
(又名HKCU\Software\Classes
)文件:
<home>\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat
文件:
<home>\AppData\Local\Microsoft\usrclass.dat
–从Windows Vista开始
- 注册中心:
HKU\.DEFAULT
(系统帐户)文件:
\WINDOWS\system32\config\default
请注意,
HKU\.DEFAULT
是系统帐户。这不是 模板帐户。模板帐户的文件位于
\Documents and Settings\Default User
(代替上面的<home>
)。
hivex
:
此程序提供了用于浏览Windows注册表“配置单元”文件的简单外壳。它使用hivex库访问这些二进制文件。 https://linux.die.net/man/1/hivexsh
chntpw
:
chntpw是一个实用程序,用于查看一些信息并重置Windows NT / 2000 SAM用户数据库文件(...)中的用户密码。此外,它包含一个简单的注册表编辑器和一个十六进制编辑器,可使用该十六进制编辑器浏览和修改注册表文件中包含的信息。 http://manpages.ubuntu.com/manpages/cosmic/man8/chntpw.8.html
其他参考:
How to find world region (or country) or language from the windows registry? https://superuser.com/questions/289955/access-windows-registry-from-ubuntu/289963#289963 https://unix.stackexchange.com/questions/214856/how-can-i-access-the-windows-registry-from-linux