ndyndy 发表于 2010-7-2 07:24:25

有关操作系统识别问题

在c:盘和d:盘各装了一套操作系统,在启动c:盘的操作系统下怎样判断d:盘装的是什么系统。用@OSVersion 和ObjGet()得到的都是现在使用的操作系统的版本。
目的:在x盘的操作系统(如WINPE)下,将一个操作系统系统制成的wim文件释放到硬盘,然后自动判断这是个什么系统,以便确定该选择使用bootsect /nt60还是bootsect /nt50启动。

republican 发表于 2010-7-2 09:18:58

@osversion肯定是当前系统的版本,先弄清楚原理再说。

你想判断的话,找个关键的文件,获取文件信息吧。

不管是什么NT6还是NT5, /nt60 都可以正确引导。
例子:
如果你是xp,写入NT60引导,只要没有BCD文件,则会直接引导ntldr.

ndyndy 发表于 2010-7-2 09:21:40

自己解决。用dos语句 reg load 把目标盘上的Windows\system32\config\software 导入到本地的注册表中,然后 查看注册表导入项中 \Microsoft\windows NT\CurrentVersion 中的ProductName键值。
不知au3中有否类似Dos语句reg load把Windows\system32\confi下的software、system文件导入注册表。

3mile 发表于 2010-7-2 09:35:51

nt5引导器是NTLDR
nt6引导器是bootmgr
其实只是系统引导识别的话,不如读取MBR和BPR来确定以及引导。
页: [1]
查看完整版本: 有关操作系统识别问题