zoukankan      html  css  js  c++  java
  • PE制作实录 —— 补充说明

    上一篇博文中我提到了定制 PE 合盘的方法,可能还有一些朋友不是很懂,这里补充几点。

    要点1: 菜单的排布

    U盘启动时的界面,这里叫做主界面,而主界面下有时还会用到子界面,下面是我制作的PE的菜单目录:

         GRLDR//主菜单
              |
              | ———OP.LST//工具分类
              |              |
              |              |———FQ.LST//分区工具
              |              |                       |————————MENU.LST//返回主菜单
              |              |———HY.LST//备份工具
              |              |                       |————————MENU.LST//返回主菜单
              |               ———BIOS.LST//BIOS工具          
              |                                      |————————MENU.LST//返回主菜单
    | ———ED.LST//更多选项 | |———US.LST//USB加速 | |————————MENU.LST//返回主菜单 ———MENU.LST//返回主菜单 |————————MENU.LST//返回主菜单

     看到这你大概就明白了,这里的菜单就像文件夹,一个夹着一个。

    引导菜单文件(.LST)的命令是:

    title ****这里是标题******
    configfile ****这里是路径*****
    
    比如下面的例子:
    
    title [ - ] 更多选项  >>>
    configfile (bd)/BOOT/GRUB/ED.LST
    

    要点2:IMA、IMG工具的使用

    IMA、IMG 格式文件放在 TOOLS 目录下(你也可以使用别的目录),使用如下命令引导:

    title *****这里是标题****
    map --mem *****这里是路径*****
    map --hook
    chainloader (fd0)+1
    rootnoverify (fd0)
    
    比如下面的例子:
    
    title [ 5 ] 安装 GHO 到硬盘第一分区
    map --mem (bd)/TOOLS/XGHOST.IMG (fd0)
    map --hook
    chainloader (fd0)+1
    rootnoverify (fd0)
    

    常用的IMA、IMG工具

    DISKGENIUS

    GHOST

    OKGHOST

    矮人工具箱

    迈思工具箱

    深山红叶工具箱

    PASSWORD

    KONBOOT

    PM 分区魔术师

    MHDD 磁盘检测

    CMOS密码清除

    ……

    要点3  Fbinst Tool 的使用

    上一篇博文是把怎么使用 FB 格式化U盘省略了,现在补上,看图说话。

    FB文件的新建与编辑都是很人性化的,添加某个文件只需要拖动到窗口内就可以,FB可以编辑基于 TXT 的文档。(只要是记事本可以打开不乱码的都可以)

    如果你是用记事本编辑的文档一定要保存为 UTF-8 的格式,这样才支持中文显示。

    同样地,FB支持导出导入FBA文件,记得制作好的 PE 保存为FBA,下次就可以直接写入了。

    要点4 常用的命令

    上面是标准格式,下面是例子。

    引导 ISO 格式文件:

    title ***标题***
    find --set-root ***路径***
    map ***路径*** (0xff)
    map --hook
    chainloader (0xff)
    title [ 2 ] 运行 强悍内置 WINDOWS 2003 PE
    find --set-root /BOOT/03.ISO
    map (ud)/BOOT/03.ISO (0xff)
    map --hook
    chainloader (0xff)

    关机与重启:

    title 重新启动
    reboot
    
    title 关机
    halt

    引导操作系统:

    title ***标题***
    find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr
    calc *0x475&0xff-1 && calc *0x82b8 && map (hd0) ()
    calc *0x475&0xff-1 && calc *0x82b8 && map () (hd0)
    calc *0x475&0xff-1 && calc *0x82b8 || if exist (hd0,0)/grldr map (hd0) ()
    calc *0x475&0xff-1 && calc *0x82b8 || if exist (hd0,0)/grldr map () (hd0)
    calc *0x475&0xff-1 && calc *0x82b8 && calc *0x82b9=*0x82b9&0xffffff00|0x81 > nul
    calc *0x475&0xff-1 && map --hook
    if exist /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS || find --set-root --devices=h /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS
    cat /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS | set wincd=
    if "%wincd:~,4%"=="(pd)" echo -n  > /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS && map --mem %wincd% (0xff) && map --hook && set wincd=
    if "%wincd:~,1%"=="/"  echo -n  > /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS || set wincd=
    if exist wincd && if exist (0)%wincd% root (0) && map --mem (0)%wincd% (0xff) && map --hook && set wincd=
    if exist wincd && if exist %wincd% || find --set-root --devices=uh %wincd%
    if exist wincd && if exist %wincd% && map %wincd% (0xff) || map --mem %wincd% (0xff)
    map --e820cycles=3
    map --hook
    find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr
    chainloader ()+1 || chainloader /ntldr || chainloader /bootmgr
    title [ 2 ] 引导此计算机上的 Windows 操作系统
    find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr
    calc *0x475&0xff-1 && calc *0x82b8 && map (hd0) ()
    calc *0x475&0xff-1 && calc *0x82b8 && map () (hd0)
    calc *0x475&0xff-1 && calc *0x82b8 || if exist (hd0,0)/grldr map (hd0) ()
    calc *0x475&0xff-1 && calc *0x82b8 || if exist (hd0,0)/grldr map () (hd0)
    calc *0x475&0xff-1 && calc *0x82b8 && calc *0x82b9=*0x82b9&0xffffff00|0x81 > nul
    calc *0x475&0xff-1 && map --hook
    if exist /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS || find --set-root --devices=h /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS
    cat /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS | set wincd=
    if "%wincd:~,4%"=="(pd)" echo -n  > /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS && map --mem %wincd% (0xff) && map --hook && set wincd=
    if "%wincd:~,1%"=="/"  echo -n  > /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS || set wincd=
    if exist wincd && if exist (0)%wincd% root (0) && map --mem (0)%wincd% (0xff) && map --hook && set wincd=
    if exist wincd && if exist %wincd% || find --set-root --devices=uh %wincd%
    if exist wincd && if exist %wincd% && map %wincd% (0xff) || map --mem %wincd% (0xff)
    map --e820cycles=3
    map --hook
    find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr
    chainloader ()+1 || chainloader /ntldr || chainloader /bootmgr

    图形化菜单(根据 Message 文件):

    find --set-root (ud)/BOOT/GRUB/MESSAGE
    timeout 30
    default 0
    gfxmenu (ud)/BOOT/GRUB/MESSAGE

    参考:http://bbs.wuyou.com/forum.php?mod=viewthread&tid=170034


    作者:rhinoc
    来源:http://rhinoc.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者允许必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任权利。

  • 相关阅读:
    cerr与cout区别
    Apache Flink 进阶(三):Checkpoint 原理解析与应用实践
    一张图轻松掌握 Flink on YARN 应用启动全流程(上)
    开篇 | 揭秘 Flink 1.9 新架构,Blink Planner 你会用了吗?
    阿里第一颗芯片问世,平头哥发布最强AI芯片含光800
    Kubernetes 从懵圈到熟练:集群服务的三个要点和一种实现
    研发效能提升 36 计第二课:照亮问题,效能提升从可视化交付过程开始
    如何抢占云栖大会C位?史上最强强强攻略来了
    从零开始入门 K8s| 阿里技术专家详解 K8s 核心概念
    Serverless Kubernetes全面升级2.0架构:支持多命名空间、RBAC、CRD、PV/PVC等功能
  • 原文地址:https://www.cnblogs.com/RhinoC/p/3721309.html
Copyright © 2011-2022 走看看