我修改PE的一点小经验

前言

  • 我觉得应该把这些经验分享出来,因为我觉得我的技术算是非常的差,基本上用的都是别人制作好的东西,我只是把他们简单的拼合在一起,事实上确是如此。下面我所说的PE是指的整个工具的集合,而非特指Win2003或者Win10PE,我又比较懒,多打几个字就不是滋味,所以PE就是那个不知道叫什么好的工具集

PE中的注册表部分

  • PE内核中的注册表是PE的核心部分,每个大神制作的PE内核都有他们独到的部分,可谓是百家齐放。这部分很难,网上搜集到的资料也比较少。我曾经也是有自己精简注册表的想法的,但是发现这样太耗费时间,不如直接用别人修改好的,站在巨人的肩膀上可以少费力很多。我用的就是无忧论坛wimboot大神制作好的内核,Win10x86和x64都有,而且他的注册表精简的非常到位,我觉得不错,在此表示致敬。
  • 下面就是外置软件部分的注册表了,当然是用RegShot这个工具,这个工具可以非常快速方便的对比出安装软件之前和安装之后的注册表和Windows目录中文件的变化,并且生成报告文件,这样就可以讲安装式的软件变成绿色免安装版的,就可以放进PE中啦。RegShot生成的TXT报告文件其实是reg文件,可以直接修改后缀为.reg,双击就可以直接导进目录了。
    还有一种导入reg格式注册表的方法,就是利用注册表转换工具,将reg格式的注册表文件转换成cmd格式或者inf格式,利用cmd命令就可以导入注册表了。
  • 导入reg格式注册表的命令行:
    1
    regedit /s X:\\Windows\system32\RegPE.reg

GRUB引导部分

  • 我的PE的界面是用GRUB4DOS做成的,从官方下载来的GRUB4DOS运行以后是命令行版本,没点功底还真是操作不了。
    GRUB4DOS可以加载常见的ISO、IMG格式的磁盘文件,也可以直接引导Linux内核。Linux内核要和initrd一起加载,否则引导成功也只是进入了内核而没有图形界面,只能敲bash命令。
  • 懒得敲命令就写一个LST列表文件,把需要引导的文件做成一个列表,这样就省去了每次敲命令的麻烦。具体的LST语法可以参考我PE中的LST文件,很简单的,基本上就是复制粘贴一下就好。
  • 所以给GRUB4DOS应用主题就是一个非常明智的选择。GRUB4DOS的主题文件在GRUB/MESSAGE文件,这个文件包含了界面的背景和倒计时等一系列控件。有人问我可不可以更改PE的背景图?当然可以!你下载一个MESSAGE编辑工具就可以更改了,而且还有很多模板哦,可以自己DIY。
  • GRUB4DOS寻找默认LST的位置是在/GURB/memu.lst,这个路径和许多Linux系统默认的路径是一样的,如果直接使用的话可能导致引导的是你本地的系统而非PE,所以应该修改一下默认的路径免得GRUB混淆。可以使用磁盘引导扇区修复工具中得GRUB内置命令修改工具打开PE目录的GRUB文件,将所有的menu.lst改成UDmenu.lst这样独一无二的文件名,这样就不会引起混乱。还要注意的是保存的时候千万不要选择进行GZ压缩,这样会导致GRUB4DOS出问题的,直接以UTF-8编码保存就好。因为新版本的fbinsttool会默认进行GZ压缩GRUB文件,所以不要用fbinsttool工具直接修改GRUB文件。
  • GRUB4DOS可以自动识别GZ压缩过的磁盘文件,所以把ISO或者IMG文件进行GZ压缩一下体积会减小许多哦。

UEFI引导部分

  • 现在的机器应该都是UEFI引导的了,发展的趋势如浪如潮哇。UEFI是个很好的趋势,因为我不用再担心MBR损坏了,也不用再考虑将哪个分区设置为主分区(MBR有主分区个数的限制,而GPT可以说没有),也可以购买3T4T的大硬盘了。就算引导文件损坏了,我只需要把引导文件拷贝进FAT32的U盘里一样可以引导进入系统,备份重要数据,所以我是非常喜欢UEFI方式的。
  • UEFI中的一个很重要的工具就是UEFIshell,就是那个壳子。shell这个东西在Linux可是神器,前提是你得会命令。用这玩意可以引导任何EFI文件,用来调试EFI再好不过了,而且它能提供你机器BIOS的原生UEFI环境。shell是一个efi文件,通过改名为bootx64.efi的方式引导它,它在引导其他文件,很方便的。但是对于不愿意敲命令的同学就非常的差劲了。
  • 我PE中的UEFI引导部分的列表是用XorBoot,出自无忧论坛的Pauly大师。这个工具可以做出精美的引导界面。我才学疏漏,并且没有艺术大脑,最终只做成了这个样子:黑背景黄框框。这不是重点,我想说的是在BIOS的环境下做一个图形界面是不容易的,所以说XorBoot可谓是一个极好的工具,也是我PE的UEFI部分中的核心。

Linux部分

  • 我PE中Linux用的是无忧大神wintoflash定制的Porteus,这是网友公认的比价好的小型Linux了。可惜驱动不是很全,较新的的机器上还会有兼容性问题,作者现在也不再更新了。如果大家还有什么比较好的Linux发行版的话(我是指体积比较小,界面好看,支持网络的),可以自行更换哦,也可以告知我。
  • Linux启动的话就两点。一个是内核(体积大概十几MB到几十MB),一个是initrd(体积几百兆甚至几个G)。只要这两个文件在启动器中定义好,启动基本是没有问题的。有的Linux还要在其内核后面添加一些命令,比如–noroot,用来指定启动方式的。自行添加的时候要注意这些。

最后

  • 我当然是希望大家能够轻松的DIY出自己喜欢的PE。所以大家可以解包我的PE,进行研究之。不过要注意的是,切莫拿这个PE进行商用,这里面有很多的开源软件和破解软件,如果拿来商用的话,小心收到律师函罒ω罒。

坚持原创技术分享,您的支持是我前进的动力!