原创 DIY多功能的启动U盘

2011-3-2 13:33 3182 8 10 分类: 工程师职场





怎样制作多功能的启动U盘


 


现在很多电脑没有光驱,或者光驱使用时间太长不容易读盘。这时维护系统就需要通过U盘了。使用U盘维护,相比光盘,不但速度快,而且更加灵活可靠,可以随时按照自己的需要添加、裁减功能,而光盘一旦刻录,就不能修改了(CDRW/DVDRW虽然可以擦除后改写,但相比U盘还是又慢又麻烦的)。


 


怎样才能做出一个可引导系统维护U盘?虽然网上有不少介绍,也有一些软件,但是很多都只有单一的WinPE系统,或者只有linux系统,集成的软件也不一定适合自己的需要。其实,自己DIY一个可以引导的多功能U盘系统也不难。下面就介绍一下制作带有WinPE、veket、DOS、Linux LiveCD等多个系统的U盘的方法。使用这个方法,还可以根据自己的需求,随时添加或改进。理论上移动硬盘应该也可以用同样的方法,不过因为手头没有移动硬盘,所以还没有试过。


 



  • 首先,需要下载几个需要的工具软件

    • grub4dos和grubinst,grub4dos是grub在DOS下的移植,里面还包含了支持中文需要的grldr文件。而grubinst可以在win32下对磁盘进行引导,不需要在纯DOS下运行,方便了Windows用户。grub4dos在SourceForge上可以下载。
    • WinPE。因为WinPE有很多版本,不同的版本功能、大小、文件都有很大差异,所以这里只以深度WinPE五周年版本为例。其他版本的PE使用方法也是类似的(有些老版本的WinPE是不能安装Win7的)。
    • GHO文件或Windows系统安装文件,用于安装Windows,可选。
    • veket,以目前最新的5.29版为例,其他版本的veket和其他的Linux随身系统应该也是差不多的,可以根据相关文档进行修改。
    • Linux LiveCD,一般使用ubuntu或者DeepinLinux,从官方网站下载对应的ISO文件就行。

然后准备一个U盘,并格式化为FAT32的格式。如果U盘原来就是FAT32格式,那么可以省掉格式化的步骤。在制作过程中,是不会删除U盘上原有的数据。不过需要留出足够的空间存放文件,空间的大小和需要的功能相关,如果只需要WinPE功能,那么大约是170M;veket需要400M,以及32M-512M可选的用户数据空间;LinuxLiveCD的大小就是ISO文件的大小,通常是700M;DOS最小,一般10M就差不多了。这样算下来,1G的U盘可以放下WinPE和veket,如果要加上Linux LiveCD就需要2G的U盘才行。



  • 安装grub

将U盘插到计算机的USB上,再通过Windows的磁盘管理功能查到U盘对应的磁盘。这里千万不要选择错误,否则硬盘的MBR会被改写了。从下面的图中,可以看出这里的U盘是磁盘2。


[attachimg]145995[/attachimg]


 


然后运行grubinst下的grubinst_gui.exe这个软件,在Disk中选择U盘对应的磁盘(例如在上图可以清楚看到是hd2,实际中每个人对应的磁盘可能会不同)。


[attachimg]145996[/attachimg]


 


不需要选择什么参数,直接按下grubinst_gui软件的按钮,就会将引导数据写入U盘的MBR中。整个过程速度非常快,完成后就会显示下面的界面。这时U盘已经具有引导功能了,不过要方便使用还需要进行一些设置。


[attachimg]145997[/attachimg]


 


再把grub4dos里的grldr这个文件复制到U盘的根目录下。为了在启动菜单上支持中文显示,我们需要复制的是grub4dos下chinese子目录里的grldr这个文件。然后在用记事本建立一个MENU.LST文件,这个文件就是U盘启动时的菜单。此外为了显示中文还需要一个font文件,这是一个16点阵的汉字字库。


 



  • WinPE的安装方法:

将深度WinPE五周年的文件复制到U盘。一般的WinPE都是压缩文件或ISO文件,不需要按照通常的方法将ISO文件写入U盘,那样会清空U盘的内容,这里只需要将文件解压缩到U盘的根目录。深度五周年winpe是一个WinRar压缩的自释放文件,用WinRar展开到硬盘,然后复制这些文件到U盘。主要文件有:BOOT.WIM、MTLDR、WINNT.XPE、NTDETECT.COM、[Programs]等注意要保持目录结构。


然后在menu.lst中添加下面几行:


title 启动深度WinPE五周年纪念版
chainloader /MTLDR


如果想要添加自己的一些工具软件,可以查看一下winpe里面的说明,把自己需要的软件添加进去。


 



  • DOS系统

在某些情况下,可能需要使用到纯DOS系统。通常可以下载到一个包含DOS的IMG文件,然后在在U盘新建一个DOS文件夹,把IMG文件复制进去,最后在menu.lst中添加下面内容(以maxdos为例):


title DOS 工具箱
map --mem /dos/maxdos.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)


有些硬盘的设置工具也是在DOS下运行,也可以采用这个方法。(比如日立的,只要把maxdos换成ftool.img)






  • veket的安装:

这个可能是最简单的了。先在U盘根目录下建立一个veket文件夹,再使用7zip这个软件将veket的iso文件解压缩,然后将解压缩的文件全部复制到U盘的veket文件夹中。使用7zip是因为这个软件在解压缩时不会改变文件名的大小写,而Linux系统是区分大小写的。


然后在menu.lst中添加下面几行:


title 进入随身系统 veket
kernel /veket/vmlinuz pmedia=usbflash
initrd /veket/initrd.gz


 



  • Linux LiveCD的使用方法:

和veket差不多,也是先建立一个文件夹(比如ubuntu),然后把iso中的vmlinuz和initrd.gz两个文件解压出来,放到新建的文件夹中,同时复制ISO文件到U盘。最后在menu.lst中添加对应的项目即可,如下面是添加deepin的LiveCD:


title Deep Linux (需要将DeepLinux的ISO放到U盘根目录并改名为deepin.iso)
kernel /deepin/vmlinuz boot=casper iso-scan/filename=/deepin.iso ro quiet splash
initrd /deepin/initrd.lz


 


在有多个系统存在的情况下,还可以指定某个系统是默认的,只需要添加下面两行。


default 0
timeout 30


修改default后面的数字可以指定默认启动的系统,timeout是启动时等待的时间(秒)。


 


菜单的字体可以使用不同的颜色和背景色,也可以使用背景图。不过使用了背景图片后,字体颜色选项就失效了。背景图片需要使用 640x480 的大小,14色,并且保存为xpm的格式(可以用gz压缩)。为了避免上面的系统文件被意外删除,还可以将这些文件和目录设置只读、系统、隐藏等属性。


 


经过上面的几个步骤,一个可以引导、方便DIY的多功能U盘就做好了,一般情况下只需要几分钟就足够。在BIOS中修改计算机U盘优先启动后,如果在启动时看到menu.lst的菜单,就代表制作成功了。


 


为了方便大家,我把grub以及需要的字库等文件打包,里面还有一个menu.lst文件例子,可以参考。




 


 [attach]146000[/attach]



PARTNER CONTENT

文章评论4条评论)

登录后参与讨论

用户944075 2011-5-28 08:57

谢谢 收藏了 有空试试

用户1715008 2011-3-7 17:11

可以试试

用户371925 2011-3-2 18:27

学习了

用户1584993 2011-3-2 14:17

谢谢分享
相关推荐阅读
shaoziyang 2017-12-15 11:06
《micropython 入门指南》正式出版了
第一本专门介绍MicroPython的中文图书《MicroPython入门指南》由电子工业出版社正式出版了(各大书店和网络书店都有)。MicroPython是近年开源社区中最热门的项目之一,它功能强大...
shaoziyang 2017-11-01 15:30
《MicoPython入门指南》一书即将发行
《MicoPython入门指南》一书即将发行,这是第一本专业介绍MicroPython的中文书籍,请大家多关注和支持。​​...
shaoziyang 2017-07-13 19:50
micro:bit 专用电池扩展板
最近Microbit这么火,就想着要做点什么,于是就有了这个Microbit的专用电池扩展板。它完美配合原版的microbit,可以为microbit增加电池、蜂鸣器功能,功能上超过 MI:power...
shaoziyang 2017-06-13 09:09
用pyboard的dac播放音乐
官方的PyBoard带有DAC功能,使用DAC,我们可以播放简单的音乐。 先准备好两根铜丝,一个有源音箱,一个音频线。 然后从官方网站下载两个文件: http://micropython.org/...
shaoziyang 2017-06-13 09:03
microbit巡线小车 BoBBoT
BoBBoT 是一个使用 BBC micro:bit 控制的巡线小车套件,它很容易组装。 它特别为儿童设计,让孩子可以通过实践学习计算机科学概念。使用 BoBBoT 可以学习: 算法设计 (流程图和...
shaoziyang 2017-06-12 08:29
micropython升级到了 1.9.1
micropython升级到了 1.9.1,主要改进有: v1.9.1 修复了 stm32 的 USB 存储, lwIP 绑定和 VFS 问题 This release provides an imp...
EE直播间
更多
我要评论
4
8
关闭 站长推荐上一条 /3 下一条