本帖最后由 xmzhqw 于 2020-6-21 12:11 编辑
一、 怎样离线导入注册表: 注册表菜单"加载配置单元\卸载配置单元"只有在 HKEY_LOCAL_MACHINE 和 HKEY_USERS 上才生效,通俗点说,其它的分支是这两个的映射。 离线导入注册表就必须用到加载配置单元。这是初学者感觉到很难很难的问题。还是先看以下的几组代码吧: 离线加载:指通过加载配置单元,导入到注册表中;在线加载:指在系统中,直接双击导入注册表中; 离线加载:[HKEY_LOCAL_MACHINE\_software\Classes\*\shell\用&Notepad++ 打开] 在线加载:[HKEY_CLASSES_ROOT\*\shell\用&Notepad++ 打开] 离线加载:[HKEY_LOCAL_MACHINE\_software\Microsoft\Windows\CurrentVersion\Run] 在线加载:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] 上述的代码都可以导入到注册表中,其对应的文件为:\Windows\System32\config 中的 SOFTWARE,其中的 _software 也有可能是 Pe_Soft 或其它的名字。★★★ HKEY_LOCAL_MACHINE 加载配置单元 离线加载:[HKEY_USERS\pe_def\Software\Microsoft\Windows\CurrentVersion\RunOnce] 在线加载:[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce] 离线加载:[HKEY_LOCAL_MACHINE\PE_DEF\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartPage2] 在线加载:[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage2] 上述的代码都可以导入到注册表中,其对应的文件为:\Windows\System32\config 中的 DEFAULT,其中的pe_def也有可能是 _DEFAULT 或其它的名字。★★★ HKEY_LOCAL_MACHINE 加载配置单元 离线加载:[HKEY_LOCAL_MACHINE\pe-system\ControlSet001\services\FBWF] 在线加载:[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\FBWF] 上述的代码都可以导入到注册表中,其对应的文件为:\Windows\System32\config 中的 SYSTEM,其中的 pe-system 也有可能是 _ system 或其它的名字。★★★ HKEY_LOCAL_MACHINE 加载配置单元 离线加载:[HKEY_USERS\PE_HKU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced] 在线加载:[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced] 离线加载:[HKEY_USERS\ PE_HKU\Software\PENetwork] 在线加载:[HKEY_USERS\.DEFAULT\Software\PENetwork] 上述的代码都可以导入到注册表中,其对应的文件为:\Windows\System32\config 中的 DEFAULT,其中的 PE_HKU 也有可能是 _HKU 或其它的名字。★★★ HKEY_USERS 加载配置单元
实际上,感觉到难的是因为初学者不知道要加载哪个配置单元,加载到哪里?细心的话,你会发现,论坛中的大侠们在提供代码的时候或多或少的都会给你一些提示的,如上面的几组代码中,Pe_Soft 或 _software 就是告诉你要加载到 SOFTWARE;PE_DEF 或 _DEFAULT 就是要加载到 DEFAULT;PE_Sys 或 _system 就是要加载到 system 等等,至于要加载到哪个项,注册表中只有 HKEY_LOCAL_MACHINE、HKEY_USERS 两个项可以加载配置单元的,你判断一下就应该清楚了。其它的,你用多了,或者在PE中多试几次,自然而然就清楚了。 接下来,我们来看一下实战例子。 例子:立邦电子在怎样添加StartIsBack中有这样两句话: 挂载SOFTWARE到HKEY_LOCAL_MACHINE\pe_soft
挂载DEFAULT到HKEY_LOCAL_MACHINE\pe_def 打开立帮电子提供的注册表代码,你可以看到下面的字眼: [HKEY_LOCAL_MACHINE\pe_def\SOFTWARE\StartIsBack] [HKEY_LOCAL_MACHINE\pe_soft\Classes\CLSID\{AD1405D2-30CF-4877-8468-1EE1C52C759F}] 分析一下,你便会明白的。立帮是告诉你:把含有 pe_soft 的注册表代码通过 HKEY_LOCAL_MACHINE 加载配置单元的方法导入到 SOFTWARE 中,把含有 pe_def 的注册表代码通过 HKEY_LOCAL_MACHINE 加载配置单元的方法导入到 DEFAULT 中。 我们还是看实际操作吧。 ★★★ 强烈建议在 WinPE 中执行操作,同时建议备份你要导入的注册表文件!! 1、复制注册表文件: 把SOFTWARE 和DEFAULT 从【已解压的PE】中的 Windows\System32\config 文件夹中复制出来(我习惯复制到桌面)。【之所以要复制出来,一方便是避免出错,另一方面是因为在修改过程中会产生一些垃圾文件,复制出来可以避免把这些垃圾也写入 PE 中 。】 2、加载配置单元:打开 注册表编辑器 (regedit.exe),选择 HKEY_LOCAL_MACHINE 项,再选择编辑器菜单中的 文件 菜单,在下拉菜单中选择 加载配置单元,在弹出的窗口中找到你复制出来的 SOFTWARE, 再在新窗口中填写项名称为 pe_soft (此处必须为 pe_soft,除非你更改了立邦的代码),如图:
3、导入立帮电子提供的代码:选择 HKEY_LOCAL_MACHINE 项,再选择编辑器菜单中的 文件 菜单,在下拉菜单中选择 导入,然后导入立帮提供的注册表代码 pe_soft 即可,你应该可以看到成功导入到注册表的提示了。 如出现错误的提示,则表明存在问题了。 4、卸载配置单元:选择并展开 HKEY_LOCAL_MACHINE 项,再选择 pe_soft 子项,然后选择编辑器菜单中的 文件 菜单,在下拉菜单中选择 卸载配置单元,再选择 是 ,即完成卸载了。到此,你已经把pe_soft 中的注册表代码加载到 SOFTWARE 中了。 5、关闭注册表编辑器,复制(剪切)已经加载的 SOFTWARE 到【已解压的PE】中的 Windows\System32\config 文件夹中,覆盖掉原文件,大功告成!
●●●上面所述的是导入注册表的方法。实际上,很多时候,我们只需要修改一个键值,就没必要去专门弄一个 .reg 文件了,直接在加载配置单元中修改就可以了。举个例子,我们要删除桌面空白处右键中的“显示设置”菜单,而且知道它的注册表位置为: [HKEY_CLASSES_ROOT\DesktopBackground\Shell\Display] 通过判断,此值需通过 HKEY_LOCAL_MACHINE 项加载配置单元到 SOFTWARE 中。这样就好办了。直接看图吧(其它的省略,见上面所述)
定位到 HKEY_LOCAL_MACHINE\123456789\Classes\DesktopBackground\Shell\Display,把 Display 注册项删掉。刷新一下系统,桌面右键的“显示设置”就没了。
二、修改开始菜单和任务栏中的软件: 第一步:删除原系统自带的软件: 如图所示,删除掉开始菜单不要的软件 删除任务栏中的软件: 如果PE中任务栏右击不正常(无法打开),就用下面的方法: 打开下面的文件夹(注意:可能是被隐藏,需要“显示系统文件”,才能看到) X:\Users\Default\AppData\Roaming\Microsoft\InternetExplorer\Quick Launch\User Pinned\TaskBar 你可以看到任务栏中的软件的快捷方式都在这里,把不要的按图中所示“从任选栏中取消固定”,没有此项则直接删掉(直接删掉的话,你能会在任务栏中看到无效的链接,双击它即可删除)
删除完成后,建议刷新一下屏幕(刷新Explore)。删除的任务就算完成了。如果你想在任务栏和开始菜单中都保留空白,就把X:\Users\Default\AppData\Roaming\Microsoft\InternetExplorer\Quick Launch\User Pinned\ 中的 TaskBar 和 StartMenu 两个文件夹删掉,直接看第三步,如果想添加自己的软件,则看第二步。 第二步:添加自己的软件 打开你要添加的软件所在的文件夹(正常是X:\Program Files 中) 右击你要添加的软件(EXE文件),如果右键菜单中有 “固定到任务栏”或“附到开始菜单”的话就好办了,直接点击它即可。 如果没有的话就麻烦一点,只好用“拖”的,如图: 同样,完成此步后,建议刷新一下屏幕(刷新Explore)。 刷新Explore 后,打开X:\Users\Default\AppData\Roaming\Microsoft\InternetExplorer\Quick Launch\User Pinned\ 文件夹,把其中的 TaskBar 和 StartMenu 两个文件夹复制到你的PE 中(即【你的PE】 \Users\Default\AppData\Roaming\Microsoft\InternetExplorer\Quick Launch\User Pinned\ 中。记得删掉原来的文件夹哦。)。
添加软件时,可能还会碰到这样的情况:即运行的 并非 exe 文件,而是批处理或其它的类型,如果是这样,用上面的方法可能没用。如 微PE 2.1 中,有个菜单【Windows引导修复】其运行代码是:%SystemRoot%\system32\PECMD.exe,LOAD"%ProgramFiles%\FixLegacyUefi\uefix.ini",%SystemRoot%\system32\shell32.dll#46 这类非 Exe 文件的快捷方式,在 \Users\Default\AppData\Roaming\Microsoft\Internet Explorer\QuickLaunch\User Pinned\ 中的TaskBar 和 StartMenu 两个文件夹中也不会产生快捷方式菜单的(批处理也是如此)。 怎么添加?首先,我们查看一下开始菜单程序组的文件夹中是否有它的快捷方式。如下图所示:先定位到开始菜单程序组的文件夹(点击右键属性,可以看到它的位置),即:X:\Users\Default\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\引导工具 在开始菜单程序组的文件夹快捷方式,只好自己建立一个快捷方式(同时更改一下图标),可以在 TaskBar 或 StartMenu 中建立,然后把此快捷方式用拖的办法拖到开始菜单中。 虽然在 TaskBar 或 StartMenu 中看不到,但在注册表中已经承认了,所以,别管它,导入注册表就可以了。
第三步:导出任务栏和开始菜单的注册表 强烈建议使用 RegWorkshop ,比系统自带的好用多了。打开 RegWorkshop,分别定位到下面的注册表项,右击导出,并根据自己的习惯命名(默认即可)。 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage2 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband 第四步:导入到注册表 1、简单的方法就是在pecmd.ini 中加载上面的注册表:代码如下: //开始菜单和任务栏快捷方式 EXEC@%SystemRoot%\regedit.exe /s "%ProgramFiles%\StartPage2.reg" EXEC@%SystemRoot%\regedit.exe /s "%ProgramFiles%\ Taskband.reg"
2、离线导入:参考上面的方法:详细待续。 (需要把HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage2 改为: HKEY_LOCAL_MACHINE\PE_DEF\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartPage2 实际上就是把HKEY_CURRENT_USER\ 改为HKEY_LOCAL_MACHINE\PE_DEF\ 然后加载HKEY_LOCAL_MACHINE ,导入到 DEFAULT 中。 任务栏也一样要修改,也导入到 DEFAULT 中。
|