热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[转]制作一个64M的U盘启动盘(minilinux+winpe+dostoolbox)

自己动手定制winpe+各类dos工具箱U盘启动盘

自己动手定制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/gru...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/hn...1.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,如果希望小一点的,可以用后面两个中的一个),这样可以节省空间,方便集成更多的工具。

最后我把这些做成了一个傻瓜化的安装包。只需点几下就可以完成整个过程。

需要下载傻瓜安装包的到这里下载:

WinPE+DosTool+MiniLinux U盘启动盘制作工具 Zhenhai专用版(64M迷你版) 说明:

本安装包集成了:
  老九Mini WinPE老毛桃撤手不管版070911 (去除了IE、音乐播放、驱动,留下了系统维护与检测工具)
  MaxDos V6 Plus (PQ8+Ghost11+DM 等大量工具)
  矮人DOS工具箱5.3 (Ghost8.3+DM 等工具)
  Bomber Linux 3.7
  Mini Chinese Linux 2.02

特色:
  集成 WinPE + DOS ToolBox + Mini Linux 大小还不到64M(安装后62M),包括了含有系统维护与检查工具的Mini WinPE和流行的两个Dos工具箱,2个Mini Linux。基本可以用于修复从Windows到Linux的任何类型的操作系统了。可根据自己的U盘大小定制工具和启动项(需要相关知识)。

修改说明:
  为了缩小体积,修改了winpe的工具集,去掉了IE、音乐播放、驱动安装等对系统维护不必要的工具,留下了系统备份、磁盘检测、系统检测等工具。
  修改了MaxDos和矮人DOS的一键备份系统,因为原来的只对硬盘安装有效。将会把系统直接备份到D盘根目录下。

出处:http://hi.baidu.com/long200259/item/b8b9653917ad80fb96f88d9c

[转]制作一个64M的U盘启动盘(mini linux + winpe +dos toolbox)


推荐阅读
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文介绍了指针的概念以及在函数调用时使用指针作为参数的情况。指针存放的是变量的地址,通过指针可以修改指针所指的变量的值。然而,如果想要修改指针的指向,就需要使用指针的引用。文章还通过一个简单的示例代码解释了指针的引用的使用方法,并思考了在修改指针的指向后,取指针的输出结果。 ... [详细]
  • 在project.properties添加#Projecttarget.targetandroid-19android.library.reference.1..Sliding ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
author-avatar
手机用户2502860901
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有