|
解决DF冰点不修改NTLDR,最后一次正确配置的问题(1) 第一步。。把HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\ReportBootOK的值设为0禁止写入LastKnownGood配置文件。
第二步。查看HKEY_LOCAL_MACHINE\SYSTEM\Select里面的Current和Default健值是多少。一般情况下两个的键值是一样的。。把LastKnownGood设定成它的值..如果Current和Default的值不一样的话。优先选Default的值。。这样。。NTLDR读取LastKnownGood的值就变成了我们现在使用的配置值了。不管他们怎么样使用最后一次配置都没用了。。因为最后一次配置的值已经指向了我们标准的配置文件。不再使用旧的配置文件启动了。。这样一来最后一次配置就失去作用了。。。。
第三步。重启。。。试试吧。。是不是成功了。。
有些人说此方法没用,今天再次说明一下。。
第三步重启后一定要再进入到系统桌面才能进行下一步操作,推荐在装好DF以后关掉保护再改注册表,重启后再打开保护,为什么一定要这样做,因为LastKnownGood的值会随着ControlSet002变动。也就是重写配置文件,当已经有了ControlSet002的项以后,把LastKnownGood的值设置为成Default键值的时候,在下一次进入桌面,系统就重写了配置文件,这时,相应ControlSet002已经变成了ControlSet003,因为系统已经删除了旧的配置,重写了新的配置做为最后一次的配置。。所以在改完LastKnownGood的值后重启一定要进入到桌面才进行下一步操作。。请无效的朋友仔细操作清楚了。不要老说没用。。
昨天晚上的研究想法:
至于禁用安全模式。。我想应该没有必要了。。都有用户名和密码。。他怎么进去。。
可能大家把思路都放在去禁用F8上面去了。。关于最后一次配置的问题。。。我今天做了一下测试。。。使用最后一次配置功能。系统其实是恢复了HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet这里的注册表。
我们能不能把这里的注册表分析出来。再做能一个工具保存我们修改后的配置。。这样的话。每次装好DF重启之前都保存一下。。那样不管他们怎么样使用这个功能都没用了。。。
我试过了。。我这里一使最后一次配置的话会恢复计算机名称的。。。改了那一项注册表里的计算机名称后。。使用最后一次就不会恢复了。。所以说。。跟注册表有很大的关系。。
大家来讨论一下此方法可不可行。。
我发现了:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
这三个子键下是有关联的。。。
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002这个子键如里我没有弄错应该就是最后一次配置使用的注册表文件。。。用它来恢复HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
这个键的注册表的。。。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet这个键是当前系统配置的。。
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001这个键是哪个模式启动的还不是很清楚。
在MS官方里所说的系统会恢复这个HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet键值。其它注册表键值一率不会被做任何改动。。即然有备份,肯定会有备份的东西。。如果没猜错,应该就是HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002它了。。因为NTLRD一个几百K的文件不可能会有近3.6M的系统配置文件的。。
也就是说。。当系统配置好后。。只要将HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet这个键的值覆盖掉HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002的键值。。。应该就可以达到保存配置的效果。。。大家可以用注册表工具前后对比一下这些键。。。应该是这样的。。
如果都正常的话。。那应该就这样了。接下来应该想怎么样导进注册表去。。在正常模式下注册是不能完全导入进去的。。。导到一半就提示有进程在使用。。。
顺便再看看系统引导过程中加载系统内核的这一段。。
加载内核阶段
|