我正在尝试恢复一台无法启动的旧计算机,但我不确定它运行的是哪个版本的 Windows。如何简单地通过检查文件系统来判断?
我相当有信心它是 Vista 或 Windows 7。它是 Windows Server 2008 的可能性很小。
Moa*_*oab 33
看文件
C:\Windows\System32\License.rtf
可以在所有这些 Windows 操作系统中找到
远景,W7,W8,W8.1
这些许可证 rtf 将具有 Windows 版本和版本,例如 Windows 7 Pro。
Windows 10 有 rtf 文件但不显示版本,但如果顶部有仲裁条款注释,您就知道它是 W10,或者使用 Matthew Steeples 回答中的资源管理器技巧。
要查找 Windows 10 产品类型(Home Pro 等)类型,请参阅本页下方 Moif Murphy 的回答
Mat*_*les 15
最好的办法是找到 Windows 可执行文件(例如 explorer.exe)的属性。就我而言,它的文件和产品版本是 6.1.7601.17567
6.0.xxxx.xxxxx 将表示 Windows Vista(6000、6001 和 6002 分别为 RTM、SP1 和 SP2)。
6.1.xxxx.xxxxx 将表示 Windows 7(7600 和 7601 是 RTM 和 SP1)。
相同的版本号也适用于 Windows 服务器,所以我不确定你如何区分使用这种方法的版本号。
使用注册表,您可以查找版本和版本
我在 Stackoverflow 上找到了这个问题的答案确定离线磁盘映像的 Windows 版本、版本和服务包
使用值之下
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion
。我想你知道在哪里可以找到那个蜂巢吗?!可以%SystemRoot%\System32\config
在名称下找到相应的配置单元SOFTWARE
。旁注:您可以通过查看一些众所周知的文件(例如
kernel32.dll
,ntdll.dll
)并进入它们的版本信息资源(您要查找的是文件版本:with,例如GetFileVersionInfo()
)来尝试验证您的结果。如果需要,可以在 中找到版本值
HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions
。
更具体地说,如何加载另一个注册表的配置单元:
小智 7
如果你在同一个系统上有 Linux,你可以启动到 Linux,确保 Windows 分区已挂载(例如它在 中/mnt/C
),然后执行strings /mnt/C/Windows/System32/ntoskrnl.exe 2>/dev/null | grep amd64
. 对我来说,printed9600.18258.amd64fre.winblue_ltsb.160303-0600
和谷歌搜索 winblue 表明这是 Windows 8.1 的代号。
如果您没有正在运行的 Windows 并且想从 Linux 机器上查找信息,您可以使用hivexget
读取磁盘上的注册表文件。
对于基于 Debian 的系统,请使用sudo apt install libhivex-bin
.
示例(使用 grep 使输出更短):
# hivexget /mnt/tmp/WINDOWS/system32/config/software 'Microsoft\Windows NT\CurrentVersion' \
| egrep 'ProductName|CSDVersion|"ProductId'
"ProductName"="Microsoft Windows XP"
"CSDVersion"="Service Pack 3"
"ProductId"="76487-OEM-0011903-00101"
Run Code Online (Sandbox Code Playgroud)
移除| egrep ...
部件以查看该键下的所有值。
对于 Windows 10,可以使用 Windows 操作系统上的 Wordpad.exe、notepad.exe 来分析
C:\\ProgramData\Microsoft\Diagnosis\osver.txt
.
在 Unix 系统上,控制台命令如
cat <Windows system root partition>/ProgramData/Microsoft/Diagnosis/osver.txt
显示版本号。
操作系统版本号示例:10.0.18362(不含 .116 - .267@2019-07-26)