我正在尝试恢复无法启动的旧计算机,并且不确定运行的是哪个版本的Windows。仅通过检查文件系统如何分辨?
我相当有信心它是Vista还是Windows7。很有可能是Windows Server 2008。
我正在尝试恢复无法启动的旧计算机,并且不确定运行的是哪个版本的Windows。仅通过检查文件系统如何分辨?
我相当有信心它是Vista还是Windows7。很有可能是Windows Server 2008。
Answers:
最好的选择是找到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服务器,因此我不确定您如何区分使用此方法的版本。
看文件
C:\ Windows \ System32 \ License.rtf
可以在所有这些Windows操作系统中找到
Vista,W7,W8,W8.1
这些rtf许可证将同时具有Windows版本和Edition,例如Windows 7 Pro。
Windows 10有rtf文件,但没有显示版本,但是如果它在顶部有仲裁条款注释,您知道它是W10,或者使用Matthew Steeples回答中的资源管理器技巧。
要查找Windows 10产品类型(Home Pro等)类型,请参见此页下的Moif Murphy的答案
C:\Windows\System32\Licenses
。它应包含类似于c:\Windows\System32\Licenses\neutral\_Default\Professional\license.rtf
Pro版的内容。对于Windows 10 Enterprise,它似乎同时具有Enterprise
和Professional
文件夹。我猜家庭版会有Home
文件夹。
使用注册表,您可以查找版本和版本
我在Stackoverflow上找到了确定离线磁盘图像的Windows版本,版本和Service Pack的问题的答案
使用值之下
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion
。我想您知道在哪里可以找到该配置单元吗?可以%SystemRoot%\System32\config
在名称下找到相应的配置单元SOFTWARE
。边注:你可以尝试寻找一些知名的文件(例如,以确认结果
kernel32.dll
,ntdll.dll
),并到他们的版本信息资源(你要找的是什么文件版本:有,如GetFileVersionInfo()
)。如果需要,可以在上找到版本值
HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions
。
更具体地说,如何加载另一个注册表的配置单元:
如果您在同一系统上有Linux,则可以引导至Linux,确保已安装Windows分区(例如,该分区位于其中/mnt/C
),然后执行strings /mnt/C/Windows/System32/ntoskrnl.exe 2>/dev/null | grep amd64
。对我来说,在印刷中9600.18258.amd64fre.winblue_ltsb.160303-0600
,并且搜索winblue表示这是Windows 8.1的代号。
14393.351.amd64fre.rs1_release_inmarket.161014-1755
)。综观的Windows 10发布的信息,对应于1607年的版本
如果您没有正在运行的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"
删除| egrep ...
零件以查看该键下的所有值。
如果您引导至Windows安装介质(例如USB记忆棒),然后按[SHIFT] + [F10]来获取命令提示符,则可以查询哪个驱动器号对应于所讨论的原始OS驱动器,然后获取以下版本的信息:像这样的程序ntoskrnl.exe
。例如,浏览已安装的磁盘和相关的驱动器号,
$ wmic diskdrive get model,name,serialnumber
$ wmic logicaldisk get description,deviceid,volumename
$ wmic datafile where name="<DRIVE LETTER>:\\Windows\\System32\\ntoskrnl.exe" get Version /value
Version 10.0.15063.413
或使用@beyondtime中的方法,该方法键入较少但省略了内部版本号的小数部分
$ type "<DRIVE LETTER>:\ProgramData\Microsoft\Diagnosis\osver.txt"
10.0.15063
因此,此处显示的驱动器号上安装的操作系统是Windows 10,内部版本15063.413。谷歌搜索显示这是Windows 10版本1703 | 红石2 | 创作者更新。
另外,如果您想查看操作系统的最后启动时间,可以执行
$ dir /ah /tw <DRIVE LETTER>:\pagefile.sys
01/31/2017 03:04 PM ...... pagefile.sys
您可以通过查看驱动器根目录中隐藏文件和文件夹的创建时间来确定最初安装操作系统的时间:
$ dir /ah /tc "<DRIVE LETTER>:\"
并在完成后关闭:
$ wpeutil shutdown
获取神奇的果冻豆Keyfinder。便携式免费版本工作正常。最安全的方法是从他们的网站magicaljellybean.com或sofpedia等获得。
启动它。在工具菜单下,选择>>加载配置单元。然后显示所有驱动器,选择相关驱动器的Windows文件夹。它立即提供版本和密钥。
Magical Jelly Bean Keyfinder
已知报告错误的许可证密钥。它也是nagware,只有在您购买后才能正常工作。还不需要确定Windows安装在文件系统上的方式,这是更容易的方法,然后使用像Magical Jelly Bean Keyfinder
我提到的那套软件这样的nagware 甚至行不通?