![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-27 02:21 |
共 47,812 主题排行 / 349,912 发帖 / 今日 2 篇 / 48,264 会员排行 |
| 其它操作系统综合讨论区 » (转贴)真正Vista完美激活,杜绝MBR失败的危机 |
| 可打印版本 1,013 / 0 |
| 第1楼 0451lym | 发表于 2007-04-20 03:41 |
| 高级用户 发帖 357 积分 760 | |
|
(转贴)真正Vista完美激活,杜绝MBR失败的危机 作者:wwashington AT boletips and newsmth
时间:2007/04/01 说明:欢迎转载,请保持本文件的完整性,包括本文原始出处和相关链接。 原文:http://bbs.boletips.com/blbbs/viewthread.php?tid=61 昨天我发了一篇文章,是关于如何使用Vista Loader模拟品牌机BIOS的OEM_SLP达到 激活Vista系统的目的。当时我并不知道Grldr.mbr可以直接在Bootmgr里启动Grldr, 再加上Vista Loader的原版和傻瓜包都修改MBR导致长时间黑屏,只能先恢复Ntldr 的引导,然后让Ntldr启动修改过的Grldr,从Grldr里加载Bootmgr,激活成功。 这篇文章是针对原文的改进版,所以读者必须具备相应的基础知识,但是不需要完全 按照原文修改启动分区。如果您对Vista Loader不了解,可以参考下面的文章。 参考:http://bbs.boletips.com/blbbs/forumdisplay.php?fid=17 我的Vista激活成功,修复MBR故障的笔录 基础知识: 我碰巧在Grub4DOS的官方论坛找到一个最新的Grldr.mbr文件,它可以在Bootmgr和 Ntldr里引导Grldr,这样问题就向着完美解决前进了一大步。因为我们可以通过加载 MBR文件来启动Grldr,就没有必要把Grub的MBR纪录写到硬盘(死机风险很高),也 没有必要把启动区设定为Ntldr的引导纪录。当然,如果已经被Vista Loader搞到不 能启动了,修复系统 fdisk /mbr ; sys a: c: ; winnt 这三个步骤还是要的。 如果要维持 Ntldr 启动请按参考文章做,如果要用 Bootmgr 做引导管理器,可以进 WinXp 之后把 Vista DVD 安装盘的 \Boot\boosect.exe 拷出来,放到一个你可以找 到的目录下,然后进 Cmd 命令行找到所在路径,运行 bootsect/nt60 sys ,重启后 出现 Bootmgr 菜单但不能引导 Vista,重启机器并用 Vista DVD 安装盘修复。 准备工作: 下载最新的Vista Loader(地址在参考文章),并用Notepad编辑install.cmd,查找 "data\bootinst /nt60 %%A",改为"echo REM data\bootinst /nt60 %%A && Pause", 这样做的目的是不要改写MBR从而避免死机的危险。这部分工作跟"修复MBR故障"非常 类似,如果忘了修改脚本而直接使用导致死机,只能按参考文章里的办法解决。 按照Vista Loader的说明安装完毕,您的引导盘根目录会出现一个修改版的Grldr,它 整合了相应的OEM_SLP信息,在Grldr运行时向内存写入欺骗Vista的BIOS资料。同时考 虑到Vista Loader占用了Grldr这个文件名,原版Grub4DOS的Grldr就暂时改名为Grldb 好了,它需要做进一步的修改才能使用,我们把启动菜单的选项做好再改文件。 系统激活: 以管理员的身份运行 Cmd,输入 bcdedit 可以查看当前配置,输入下列指令添加菜单。 注意: 下文所出现的 {id} 其实就是在您每次刚运行完 /create 之后系统返回的数值。 bcdedit /create /d "Vista OEM_SLP by Grldr.mbr_BCD" /application bootsector bcdedit /set {id} device boot bcdedit /set {id} path \Grldr.mbr bcdedit /displayorder {id} /addlast bcdedit /create /d "Load Grub4DOS by Grldb.mbr_BCD" /application bootsector bcdedit /set {id} device boot bcdedit /set {id} path \Grldb.mbr bcdedit /displayorder {id} /addlast 重启机器,如果直接选 Vista 启动,那么你会发现系统尚未激活,跟什么也没改一样; 如果你先选"Vista OEM_SLP by Grldr.mbr_BCD",屏幕闪耀一下之后回到Bootmgr菜单, 再选择 Vista 启动,那么你会发现系统已经激活,可以用 slmgr -dlv 查看细节。 验收成果。以管理员身份运行Cmd,然后输入bcdedit,您将看到史上最强的 BCD 配置。 关于{ntldr}的partition=D:的原因,是因为Vista把我的引导盘标记为D:盘,而系统盘 标记为C:盘,所以必须这么写。如果引导盘和系统盘是同一个盘,那么通常应该是C:盘。 C:\Windows\system32>bcdedit Windows 启动管理器 -------------------- 标识符 {bootmgr} device unknown description Windows Boot Manager locale zh-CN inherit {globalsettings} default {current} displayorder {ntldr} {current} {b3f58295-ddfb-11db-8f1e-ce7a8ab7e028} {b3f58296-ddfb-11db-8f1e-ce7a8ab7e028} toolsdisplayorder {memdiag} timeout 30 Windows 旧 OS 加载器 ------------------------ 标识符 {ntldr} device partition=D: path \ntldr description 早期版本的 Windows Windows 启动加载器 ------------------- 标识符 {current} device partition=C: path \Windows\system32\winload.exe description Windows Vista (TM) Ultimate (已恢复) osdevice partition=C: systemroot \Windows resumeobject {e857bc7a-ddff-11db-a026-806e6f6e6963} 实模式启动扇区 --------------------- 标识符 {b3f58295-ddfb-11db-8f1e-ce7a8ab7e028} device boot path \Grldr.mbr description Vista OEM_SLP by Grldr.mbr_BCD 实模式启动扇区 --------------------- 标识符 {b3f58296-ddfb-11db-8f1e-ce7a8ab7e028} device boot path \Grldb.mbr description Load Grub4DOS by Grldb.mbr_BCD 在 Bootmgr 里选择"早期版本的 Windows"会加载 Ntldr,它的启动菜单就是 Boot.ini。 当然您需要注意到,Boot.ini 的内容也会出现在 Bootmgr 里,所以我们可以通过修改 Boot.ini 来达到启动 Grldr.mbr 的目标。说明:direct Grldr 只对 Ntldr 有效。 timeout=10 default=multi(0)disk(0)rdisk(0)partition(5)\WINDOWS multi(0)disk(0)rdisk(0)partition(5)\WINDOWS="Microsoft Windows XP Pro:D" /noexecute=optin /fastdetect C:\grldr.mbr="Vista OEM_SLP by Grldr.mbr" C:\grldb.mbr="Load Grub4DOS by Grldb.mbr" C:\grldr="Vista OEM_SLP direct Grldr" C:\grldb="Load Grub4DOS direct Grldb" C:\Boot\Data\Bootsect.dos="Microsoft Windows 98SE DOS" C:\Boot\Data\Bootsect.osd="OpenBSD/i386 3.8.0 Release" C:\Boot\Data\Bootsect.red="Redhat Linux For Ent AS4U2" C:\Boot\Data\Bootsect.sun="Solaris 9U8 x86 DirectBoot" 持续改进: 刚才说到为了顾及原版的Grub4DOS的使用,已经把原版 Grldr 和 Grldr.mbr 重新命名 为 Grldb 和 Grldb.mbr,但它们并不是随便改个名字就能用的。测试新名字是否能用, 可以把 Grldr 和 Grldr.mbr 移动到其他目录,再重启机器,这样结果才真实可靠。 http://bbs.boletips.com/blbbs/viewthread.php?tid=60 WinHex v13.2 SR-11 汉化版,强大的16进制编辑器 (附件是可用的注册机) 想必您已经被无穷多的错误信息吓坏了吧,不要怕,有我在。您先按照上面的地址下载 一个WinHex,然后分别打开 Grldb 和 Grldb.mbr,用 Hex 替换字符串"47524C4452"为 "47524C4442",其实就是替换"GRLDR"为"GRLDB"。修改很简单吧,小心笑掉了下巴。 再次验收。重启系统并且在Grldr/Ntldr/Bootmgr之间来回切换,就是不肯死机,真牛! 请再次注意*.mbr是通用的,Grldr和Grldb只在Ntldr里可用。如果在菜单里碰到 Vista OEM_SLP 的项目,那么相应的BIOS数据就会被写入内存,只要运行过一次就行,当系统 启动完毕就已经是激活了。如果不论怎么选都不涉及OEM_SLP,那么系统会保持原状。 小结一下: 任何技术成果都是暂时的,不久后就会被更新更强的技术代替。我相信Vista Loader的 作者看到我的文章,一定会研究如何改进脚本,发行通用性更强的新版。至于傻瓜安装 包的作者,也会提供Grldr.mbr的模式和直接写入硬盘MBR这两种做选择。所以,我这边 的研究任务就告一段落了。不好意思,昨晚只顾看电视,弄到熬夜写文章了,抱歉。 我对未来Vista激活的期望,最好是又泄露一个VOL版和一堆正版Key,或者是把OEM版本 和破解(目前最好的是Vista Loader,不排除有新技术产生)直接集成进安装盘,安装时 选择一下,装好后BCD和Boot.ini、两个版本Grldr以及Grldr.mbr都直接能用,爽啊。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |