zoukankan      html  css  js  c++  java
  • 自己动手定制winpe+各类dos工具箱U盘启动盘+minilinux

    由于一个64M老U盘,没什么用,拿来发挥余热。如果U盘够大,可以使用功能更强大的mini linux和带更多工具的winpe。这次安装了winpe+maxdosv6plux+矮人dos5.3+cdlinux0.4.9+mclinux2.02+bomberlinux3.7,工具应该算比较多了。

    思路很多:

    法1:可以先做成dos启动盘,这样直接加载各类dos工具,然后再用grub4dos加载winpe。

    法2:可以做成ntloader,启动winpe,再在boot.ini中写入加载dos工具的语句。

    法3:用grub引导各类工具,包括winpe和各类工具箱。

    由于觉得grub引导功能强大(各大linux发行版都用它做引导器),因此决定用第三种方法。

    首先准备工具:

    1、惠普优盘格式化工具HPUSBFW.EXE,或者usboot或者其它格式化U盘的工具。

    2、winpe,我用的是64M的U盘,故使用了mini winpe,使用的是老毛桃修改的miniwinpe 070911版: thunder://QUFodHRwOi8vd3d3LnF1aWNrOC5jbi9kb3duLmFzcD9pZD0xNTMmc2lkPTBaWg==

    如果你使用的U盘比较大,可以下载其它的集成了较多工具的winpe。对老毛桃修改的版本,对我们来说仍然过大,因此需要自己再定制,把Acdsee等软件删除。在winpe安装文件\SETUP\MYINS下有个ntboot.exe,把它备份起来,今后可能用到。

    3、grub安装工具:grubinstall: http://download.gna.org/grubutil/grubinst-1.1-bin-w32-2008-01-01.zip

    以及grub引导文件grldr,网上很多,自己搜索下载(它是grub4dos的一部分,可以下载grub4dos,然后只要该文件即可)

    4、MaxDos v6 plus: http://down.56xia.com/200711/MAXDOSV6U.rar

    5、矮人dos工具箱5.1: http://w1.e666.cn/green/airenDOS.rar

    6、wmitool: http://rosibo1.bibidu.com/server9/hnwzfile/WimTool-V1.0.7.1018.rar

    7、你还可以下载其它工具箱,比如深山红叶等。由于空间所限,我只使用了上面的几个软件。

    然后开始:

    part1:winpe+dostool

    1、使用惠普格式化工具格式化U盘

    2、打开miniepe.iso,如果你的U盘比较大,可以直接将minipe目录拷贝到你的U盘上,如果象我的一样小,那么先删除op.wim,然后再拷过去,op.wim里面全是工具,没有它,minipe也能启动,后面我们再讲如何修改op.wim,缩小其体积,定制自己的工具。然后将wxpe下的ntdetect.com和setupldr.bin也拷到minipe目录,并分别改名为ntcom和ldrxpe。然后在minipe目录下新建一个名为pe的文件,内容如下(如果你采用安装方式,则这个文件已经存在):

    [SetupData]

    BootDevice="ramdisk(0)"

    BootPath="\WXPE\SYSTEM32\"

    OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=MiniPE\WinPE.IS_"

    更简单的方法是:你可以直接用minipe的setup将其先安装到你的U盘(如果U盘太小,请先删除op.wim再安装),这样和手工拷过去的差不多,但是会多几个文件,你可以选择删除上面没有提到过的文件。

    3、如果你是手工拷贝过去的,那么要先安装grub,使用grubinstall_gui,选中U盘,分区刷新后选整个磁盘,然后安装,这样就重新安装了grub,然后将你下载的grldr文件拷贝过去。如果你是采用在安装的方法,那么已经安装了grub,它的menu是内置到了grldr中的,为了让自己编辑的menu.lst来启动更多项目,将下载的grldr拷贝到u盘覆盖原来的,这样就会使用你自己的menu.lst了。如果mbr中的grub没有了,要重新安装grub。如果你依然想使用内置的菜单,可以用grubmenu export命令导出菜单,修改成自己想要的后,再grubmenu import,导入,这样就变成你自己的内置菜单了。另外为了支持中文菜单,请使用中文的grldr,以及中文字体。下载一个带字体和中文的grub4dos,将chinese目录下的grldr拷贝过去,建立一个boot目录,然后将字体文件fonts.gz拷到里面,再将splash.xm.gz也拷到里面,它是启动画面背景,你可以自己制作自己的启动画面。如果你是安装的minipe,那么可以直接用它的muifont.gz和*.xpm.gz。

    4、安装maxdos和airendos,然后把目录maxdos和ados拷贝到U盘根目录下。然后就可以卸载maxdos和ados了。

    然后将ados下的除argj目录外的所有文件删除,然后将argj目录下的文件移动到ados下,删除argj目录。将两个目录下一些不必要的文件删除。比如图标文件。由于是它们都是硬盘版,一键ghost时会出问题(网上所谓的U盘版也一样),需要对其进行修改。首先,经过HP格式化后,一般会把U盘认作第一硬盘,而原来的硬盘认作第二硬盘,这时ghost命令的src=1:1,就要改为2:1,然后,由于我们没有创建指定的文件夹,因此我们可以直接备份到根目录下。如maxdos中用maxbk.gz和maxre.gz来表示备份和恢复,用记事本打开这两个文件,分别改为:

    ghost -clone,mode=pdump,src=2:1,dst=2:2\sysbak.max -sure -z2 -split=2000 -no1394 -nousb -rb


    ghost -clone,mode=pload,src=2:2\sysbak.max:1,dst=2:1 -sure -no1394 -nousb -rb

    而矮人dos需要把ar5.img中的argj.exe导出来,然后扩展名改为gz,然后,解压出其中的gh.bat、menu.bat等bat文件,然后查找含有argj~1路径的,把它改为根目录,如:c:\*.gho,另外查找镜像的命令的/s需要去掉,可以改成/a,/s要查找子目录,需要很长时间。同时把ghost命令的src=1:1等类似之处改为2:1。

    如果你的U盘启动后不是第一硬盘,那么就不必改。

    5、编写grub启动菜单

    为了标识U盘,在U盘根目录建立一个grubhere.id的空文件,当然你也可以使用U盘上的任意文件来标识,如/maxdos/Maxs.sys,当然你需要在下面的相应内容处作修改。然后在U盘根目录建立一个menu.lst,内容如下:

    timeout 30

    default 0

    splashimage /boot/splash.xpm.gz

    #foreground ffff00

    fontfile /boot/muifont.gz

    title Mini WindowsPE

    find --set-root /grubhere.id

    chainloader /minipe/ldrxpe

    title MaxDOS V6 Plus

    find --set-root /grubhere.id

    kernel /maxdos/Memdisk.gz c=555 h=2 s=18 floppy

    initrd /maxdos/Maxs.sys c=555 h=2 s=18 floppy

    title 矮人Dos工具箱

    find --set-root /grubhere.id

    kernel /ados/memdisk.gz c=118 h=2 s=36 floppy

    initrd /ados/ar5.img c=555 h=2 s=18 floppy

    title 本机Windows系统

    map (hd0) (hd1)

    map (hd1) (hd0)

    rootnoverify (hd1,0)

    makeactive

    chainloader +1

    title 重启计算机

    reboot

    title 关闭计算机

    halt

    title Grub命令行

    commandline

    保存这个文件。

    6、定制winpe工具,上面实际上已经完成启动U盘了,但是我们还可以为minipe定制工具。用wmitool打开op.wim,然后将其文件导出,把不需要的软件全部删除,比如acdsee、音乐播放什么的,对于系统维护根本没什么用,就删掉,最后再新建一个wim文件,将修改后的目录导入。然后修改minipe下的winpe.ini文件,找到建立快捷方式的命令的地方,把没有的link给删掉。

    6、如果还需要安装其它工具箱的话,步骤和上面类似。制作完毕。

    如果希望mbr被破坏,能够使用ntloader启动,那么可以用ntboo i:(I是U盘),将ntloader也安装到U盘,但这不是必须的。

    7、备份:为了今后的制作不再这样多,可以将U盘上所有文件拷贝到一个目录备份(注意有隐藏文件,一块备份)。今后要制作启动U盘就可以这样做了:

    首先用惠普格式化工具格式化U盘,再将备份的文件拷贝过去,然后使用grubinstall,安装grub到mbr即OK。其中的ntboot不是必须的。

    如果有时间,你可以把这些备份文件压缩,然后编写一个bat,让bat来依顺序执行格式化,拷贝文件,这样就形成了你自已的winpe+maxdos+airendos安装包。

    part2:mini linux

    如果你不需要linux,那么到此为止,如果你还希望启动linux,将U盘制作成启动盘,然后用Mini Linux引导,可以用以修复硬盘上的Linux系统错误。那么继续:

    Mini linux很多,如:CDlinux、dsl、puppy等,还可以自己lfs。这里简单介绍最简单的制作方法。由于U盘大小限制(我的U盘64M,基本没用了,正好拿来做引导盘),我选择了CDlinux0.4.9(19M)、Mini Chinese Linux(mclinux2.02)(2.88M)、BomberLinux 3.9(2.88M),因为我的U盘上还装有mini winpe、maxdos、矮人dos,要做到他们加起来不超过64M(最后一共61M)。

    由于已经装好的winpe等都是采用grub引导的,因此这三个mini linux当然也用grub来引导。如果你没有安装上面这些,只需要启动mini linux,那么你需要先制作可启动U盘,先用惠普格式化U盘工具格式化,然后用grubinstall将 grub安装到U盘的mbr,并复制grldr到U盘根目录。可参考前面的文章。

    首先看CDlinux,由于它本身是采用syslinux来引导的,因此需要做一点调整。首先打开cdlinux的iso,将boot目录下的cdlinux提取出来,然后,将cdlinux.img的扩展名改成 gz,即cdlinux.gz,然后将其解压,由于我们采用grub引导,因此syslinux的文件都可以删掉,只保留bzImage和 CDlinux.gz,将其复制到cdlinux目录下,然后将cdlinux目录复制到U盘根目录。然后写menu.lst

    title CDlinux 0.4.9 (with extra)

    find --set-root /grubhere.id

    kernel /CDlinux/bzImage root=/dev/ram0 cdl_dev=/dev/sda1

    initrd /CDlinux/CDlinux.gz

    grubhere.id 意义见上一篇文章。具体的更多参数可以参考cdlinux howtos中的命令行参数,这里/dev/sda1可能要根据具体情况来区别对待。我当初把它搞成hda1,结果不能加载extra,因为找不到,后来发现linux将其识别为sda1。中文:kernel /CDlinux/bzImage root=/dev/ram0 CDL_LANG=zh_CN.UTF8 cdl_dev=/dev/sda1

    然后再看mclinux,我下载了 mclinux1.0和mclinux2.02,mclinux1.0是一个ima软盘镜像文件,因此直接用软盘引导的方式即可,而mclinux2没有做成软盘镜像,是一人zip文件,里面有很多把它rawrite到软盘的工具。还是做成ima方便,首先解压,然后只留mclinux.img、 zimage、syslinux.cfg三个文件,将它们做成ima,由于已经有mclinux1.0.ima,因此我直接用winimage打开 mclinux10.ima,然后删里面那三个文件,将这三个文件拉进去,然后保存就OK了。将保存后的mclinux.ima复制到U盘/linux/ 下,然后写menu.lst:

    title Mini Chinese Linux 2.02

    find --set-root /grubhere.id

    map --mem /linux/mclinux.ima (fd0)

    map --hook

    chainloader (fd0)+1

    rootnoverify (fd0)

    对于bomber linux 3.7,本身就是一个ima文件,因此直接复制到linux目录下,然后写menu.lst

    title BomberLinux 3.7

    find --set-root /grubhere.id

    map --mem /linux/bomberlinux.ima (fd0)

    map --hook

    chainloader (fd0)+1

    rootnoverify (fd0)

    这样就制作完成了,如果U盘够大,完全可以使用功能更强的cdlinux0.5.9(包含X和更多的软件)和dsl、puppy等。最后,我们就完成了在一个64M U盘上安装winpe+maxdosv6plux+矮人dos5.3+cdlinux0.4.9+mclinux2.02+bomberlinux3.7 这样一个mini 型的功能非常齐全的启动型U盘。其实maxdos和矮人dos只需要一个,linux也只需要一个即可(建议用cdlinux,如果希望小一点的,可以用后面两个中的一个),这样可以节省空间,方便集成更多的工具

  • 相关阅读:
    linux c编程错误汇总
    linux 相对路径
    内存池版本4多线程可变大小对象的内存池
    2. D3DBlankWindow添加透视投影矩阵
    1. D3DBalnkWindow
    内存池版本3单线程可变大小对象的内存池
    内联函数提高程序性能
    代码优化
    STL总结
    内存池版本2单线程固定大小对象的内存池
  • 原文地址:https://www.cnblogs.com/top5/p/1570430.html
Copyright © 2011-2022 走看看