创建U盘上的维护系统

来源:互联网 发布:付费软件破解器 编辑:程序博客网 时间:2024/06/06 19:52

 

最近解决了一个让我很有压力的问题。现在突然轻松了很多,来看看CSDN博客,发现我这个技术博客还是相当空的,之前写过一篇关于“弄一个既能挂载压缩文件,但是也能保存的100MB以内的linux”,此文提出在ubuntu社区“http://forum.ubuntu.org.cn/viewtopic.php?f=77&t=292547”觉得自己这个想法意思不错,于是贴在CSDN博客里面作为第一篇文章,后来我也一直没有解决这个问题,挂载博客上面也没有意思,于是删掉了。。。

现在回想起自己这个博客,空荡荡的。希望给它加点什么,想起大约半年前写的《创建U盘上的维护系统,分3部分,发在百度文库上面,

这是Part2http://wenku.baidu.com/view/ff2dc91e650e52ea5518986b.html(不推荐看,下面有修正版的pdf)

这是Part3http://wenku.baidu.com/view/9f6325ea551810a6f524866b.html(不推荐看,下面有修正版的pdf

至于part1:百度文库那里没有通过审核。

 



当时写这个,只是好让我的同学们可以自行重装系统,自行制作维护U盘,希望日后系统崩溃了,就不需要找我了。。为了尽量的通俗易懂,我基本上是用相当简单的语言写,也用了很多很直接的类比例子。说白点,就是一篇极度不专业的文章吧。不过,轻轻松松地学习到东西,不在乎专业不专业。

现在,打算再次把此文修改一下,放在博客上面,填补博客的空白。我也希望自己也可以花些时间写写自己的学习到东西,遇到的问题和解决的方法,都放在博客上。

 

<!--@page { margin: 0.79in }P { margin-bottom: 0.08in }A:link { so-language: zxx }-->

 

前天,讲此文发到百度文库上:http://wenku.baidu.com/view/95741ebc960590c69ec3765e.html(此版本包含图片,推荐看这个)

创建U盘上的维护系统

 

创建U盘上的维护系统Part13种常用的U启模式概念介绍

 

用u盘重装系统只要有一下的几种常用的方法:

 

1.U盘进行量产

具体做法:对u盘进行量产,然后进入USB-DVDROM模式进入,然后进入PE或者XP安装程序进行安装。

量产:大量生产的意思,说白点,就是对U盘的容量进行功能划分。(分区)

举一个例子:

我手上的2GU盘,默认情况下是一个盘的。于是,我可以通过量产,把这2G的空间,拿700MB的空间出来,放存放一个xp安装光盘。因此,如果你成功量产后,你接入U盘的时候,你会发现你的电脑的我的电脑里面,会多了一个光驱和一个U盘。那个多了的光驱就是你放进去的xp安装光盘。另外一个就是剩余的1.3G的空间了。那些病毒,搞不了你的光盘的数据的,因为,光盘本来就是只读的东西。很安全。。现在我们买到的一些U盘,带防毒功能,那个防病毒的软件就是放在那个光盘了。

量产的优缺点

优点正如上段所说的,量产出来的光盘,不受病毒的干扰。缺点在于,对U盘进行量产,需要专用的软件,所谓的专用,就是要根据U盘里面的控制芯片,然后对应不同的控制芯片找到对应的量产软件,进行量产。一般U盘的生产商还是什么商,都会提供相关的软件的。这样子会显得很麻烦,如果我的维护光盘需要更改,那么,需要重新量产,很可能U盘需要重新格式化。

 

.对U盘改成HDD模式

对u盘改成HDD模式。电脑启动的时候,会把U盘识别成一个硬盘来看待,那么,可以通过在U盘里面装一个系统,然后进入这个系统进行维护。此类系统可以是WinPe,一些微型Linux。通过这些系统,可以进行原来系统的修改,维护,包括备份,重装系统等。

HDD模式:

把你的U盘弄成一个硬盘一样,HardDisk=硬盘。所以,叫做HDD模式。当然,还有其他一些类似的模式,如我们在BIOS看到的ZIP模式,FDD模式。其中FDD模式是把U盘看作是一个软盘。在Win95/98年代,如果硬盘崩溃了,一般都是启动软盘里面的Dos系统进行维护。

 

Ghost

Ghost是一款软件,是美国赛门铁克公司旗下的一款出色的硬盘备份还原工具。其功能很强大,我们一般都用它来重装系统。让很多人认为Ghost是一个系统安装软件,其实不是,它只是一个备份还原的工具。所谓的Ghost安装就是对C盘(假设你的系统安装在C盘),进行覆盖。其中这个过程我详细说明一下:

假设我现在已经把一个winxp系统装好在C盘,把常用软件都装好,现在,我通过Ghost软件来对我的C盘进行备份。备份会生成一个扩展名为gho的镜像文件。这个gho文件,一般放在D盘或者其他盘,里面包含了你c盘里面的所有文件,等于对c盘的复制,就像那些压缩文件一样。一个rar文件里面有很多文件。

如果,过了一个月,我系统设置错误,我的桌面很难看,图标改不回来。那么,这个时候,可以通过我之前生成的gho镜像文件来进行还原,把当前的c盘完全删掉,用gho镜像文件里面的文件复制到c盘,由于gho镜像文件是一个月前c盘的备份,那么,把gho镜像文件来覆盖当前的c盘,那么,c盘会变成一个月前。这个过程,称之为“还原”。

 

Q:如果我的C盘崩溃了,我之前又没有备份生成gho镜像。我该如何?

A:出现这种情况,我们可以用别人已经生成好多的通用的gho镜像来进行还原,我们可以通过光盘,或者U盘,甚至是软盘,进入ghost程序,然后用别人之前已经生成的gho镜像进行还原。

这里的“通用gho镜像”就是我们常常听说的深度Ghost,蕃茄Ghost,萝卜Ghost,雨林沐风Ghost。不同人,或者不同组织弄出的通过gho镜像,如前面说的深度,蕃茄,都是一群系统爱好者做出来的好作品,不同组织出的ghost系统,在系统稳定性和系统设置上各有不同,因为,那些组织会对系统进行一定的优化,修改,然后做出通用的ghost镜像文件,放到网上去,让别人下载使用。

 

Q:所谓的通用是什么意思呢?基本上都是x86结构。有什么区别?

A:一般不同组织做出来的ghost系统,为了适应不同硬件设备,一般都会在用ghost还原系统后重启,第一次启动后自行查找本机器的硬件设备,自动安装对应的硬件驱动。因为,不可能每一个人的机器都是拥有相同的硬件设备的。比方说,我用的是AMD的显卡,你用的是Nvidia的显卡。要对应不用的硬件设备安装不同的驱动。

 

Q:我自己做的ghost文件,别人能用吗?

A:如果你的ghost文件里面带的驱动,符合你朋友的话,那么是可以的。不过,一般个人自行备份生成的ghost文件都是专用的。因为,每个人的喜好不一样,包括系统字体的大小,背景,安装了什么软件==都是各有喜好的。所以,相当建议首次安装好系统好,把该安装的软件装好,和该优化的优化,然后自行ghost下,日后系统崩溃了,直接ghost还原,不用3分钟,系统马上还原成刚重装一样。

 

 

3.Fbinst模式

一种新型的U启模式,为了增加不同主板对U盘的识别率而产生的。具体可以了解一下,其实,我自己已经有2年的时间没有去学习U启,没想到现在还发展得那么快,据说,现在还加了一种加快U启的方法,已经从理论走向实践。大家有空可以去了解一下,对于Fbinst模式,目前已经是一种相当成熟的技术,限于本人能力和时间有限,不对此方面作深入的了解,大家有空可以去了解一下。

 

 

创建U盘上的维护系统Part2:电脑启动过程介绍

虽然此文主要介绍U启的,但是,其实U盘和硬盘、光盘、软盘都是属于同一个等级,也就是说,机器启动的时候,会在“U盘”,“硬盘”,“光盘”三者中选择其中一个设备来进行启动,当然,可以把网络加进去,那样子就是我们在网吧常常看到的无盘启动(没有硬盘、光盘、U盘),启动的系统用远端网络上的服务器的系统。

在了解U启过程之前,必须要了解普通电脑的启动过程,里面很多概念都和U启重叠。

 

普通电脑的启动过程:(以硬盘为例,系统为Xp

  1. BIOS自检

  2. 1扇区(里面放着MBRMBR=MasterBoot Record。中文名是主引导记录)

  3. 读取MBR里面的Bootloader=主引导程序

  4. 主引导程序找到系统(winxpLinux==)

  5. 启动系统。

 

上述是机器启动的主体过程,下面将各个步骤细化,把各个概念理解清楚。

  1. BIOS自检(检查显卡有没有接好,内存接好没?===

  2. 1扇区(以下的3个步骤都和在这个1扇区里面操作)

    1. 读取硬盘的0柱面0磁道1扇区(没有0扇区的说法,扇区从1开始)::把这个512字节的东西存放在内存。

    2. 目前硬盘的1个扇区的大小都是512字节,第一扇区比较特殊,因为他属于硬盘的第一个数据单元,等同于我们班的一进门的第一行,第一列的那个位置,那个位置负责关灯,开灯==的事务。

    3. 这个第一扇区:前446字节存放的一个小程序(这个小程序和后面说的分区表,等下会详细说说)。接下来的64字节是分区表,最后的两个字节是结束标志,55AA。(55AA只是一个标识符,表明一扇区读取完毕。

  3. 读取MBR里面的Bootloader=主引导程序

    1. 读取1扇区的内容中的前446字节,这里的446字节的代码,写着一个程序,我们称之为“主引导程序”。

    2. 主引导程序的作用是告诉计算机,如何找到操作系统存放的位置。因为计算机不知道你的WinXp安装在哪里,是C盘还是D盘?计算机是不清楚的。再说,有些机器是装双系统。计算机又如何找到系统呢?所以,这个主引导程序(Bootloader)就是来完成此项任务。

    3. 主引导程序位于MBR的前446字节,完成对硬盘的分区表识别,看本硬盘分了多少个区,每个区是什么样的文件系统(FAT32还是NTFS=),同时,还要对文件系统的支持。拿MicroSoftBootloader来说,其作用就是找到硬盘里面多个分区中的引导分区(这个后面会详细到),一般C盘为引导分区。找到C盘,在C盘寻找C盘根目录下的文件NTLDR文件,然后执行这个NTLDR文件。NTLDR是一个系统启动管理程序,NTLDRC盘里面读取文件boot.ini,获得系统列表:以下是本人的boot.ini

    [bootloader]

    timeout=3

    default=multi(0)disk(0)rdisk(0)partition(1)/WINDOWS

    [operatingsystems]

      multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="MicrosoftWindows XP Professional" /fastdetect /NoExecute=AlwaysOff/usepmtimer

  4. NTLDR读取boot.ini文件,从上面的boot.init可以看到,boot.iniNTLDR提供了信息:系统存在的位置:第一个硬盘的第一个分区的windows目录下。

  5. 随之,NTLDR会根据boot.ini提供的信息来引导winxp的启动。随后就是我们常常看到的滚动条。

 

 

接下来是具体讲讲分区表这东西:

上面我们知道分区表是在MBR里面的地447字节到510字节

PsMagicNumber=55AA上面说过的。

 

解释一下上面的分区表E文:

PartitionFlag

分区标志。标识次分区是引导分区还是非引导分区。其实,所谓的引导分区和非引导分区,在微软的系统引导是很有必要的。对linux来说,此标志没用的。

为什么?我们刚才提到,Xp的引导需要用到NTLDR,是一个启动管理器,但是,在执行次程序之前,还需要MBR里面的Bootloader,此Bootloader,在分区表里面,通过PartitionFlag来找到引导分区,一般都是C盘。如果在引导分区找不到NTLDR,那么,就启动不了系统了。因为,MSBootloader只认识引导分区,非引导分区不寻找。

而在Linux上面,很多发行版都使用Grub这个启动管理程序,当然,也会有对应的Bootloader,我们也称为之Grub,这个Bootloader会从第一个分区开始找,在每个分区的根目录寻找一个称为grldr的文件。这个grldrNTLDR是一个样的,同样也是一个启动管理器。不过,grldrNTLDR的功能强大多了。不过,我们一般不用grldr来称呼,一般会用Grub,目前使用最多的版本是GrubForDos。具体大家可以百科一下。Grub这个bootloader是从第一个分区开始找,找不到的会在第二个分区,再找不到的,继续下一个……,如此一直找下去,如果每个分区都找遍都没有,那么会提示错误信息:Nogrldr Found

从上面我们很容易地理解到,MSBootloader是需要引导分区,从而找到NTLDR的,而Linux广泛使用的Grub,是一个分区一个分区地找grldr的。所以,分区标志的引导不引导,对于Linux是没有任何意义的,不过,对于MS的系统,可是一个至关重要的标识符。

PS:一般我们还有另外一种叫法,就是活动分区和非活动分区的说法来代码引导和非引导。

 

StarCHS

开始的CHS所谓的CHSC=柱面(Cylinder),H=磁头(Head),S=扇区(Sector)。代表这开始的扇区的逻辑位置。至于物理位置,一般硬盘都会有一个地址映射,通过此三个参数来找到实际的物理位置。至于为什么一开是不使用物理位置来定义,这个是和硬盘的发展有关系。大家可以百科一下。不多说了。

 

 

PartitionByte

分区文件系统标识,用来表示不同的文件系统,比如我们常常听说的NTFS文件系统,FAT32文件系统,EXT4文件系统……

 

EndCHS

结束的CHS

 

StartLBA

开始的逻辑扇区号。表示在分区从第几个扇区开始。

 

Size

表示该分区所拥有的扇区数。这个Size,拥有4个字节来表示,也就是说有32位表示,通过计算,232次方再乘以512Byte(一个扇区512字节)计算可以得出等于2048G,也就是2TB,所以说,对于目前此种MBR分区表模式,一个分区最大的大小是2TB。当然,为了解决次瓶颈,日后会采用另为的分区模式,例如苹果机采用的模式是GPT分区表。

 

分区类型:

从上面的MBR划分,我们可以清楚地了解到,一个分区需要16字节来存储分区信息,分区表只有64字节。按照此种模式,最多可以分4个分区,那么,我们目前常常用到的CDEFGH,比4还多啊。这个问题就产生了主分区、扩展分区以及逻辑分区。

 

主分区:

分区信息直接放在MBR里面的PTPartionTable)里面的分区。

扩展分区:

由逻辑分区组成。

逻辑分区:

信息没有直接放在MBR里面的。但是???不放在MBR里面会放在哪里呢??说这个前,我们先来看一个例子:

 

我分2个盘。一个C盘,一个D盘,有两种方案:

A方案:Partition1C盘的信息,然后partition2D盘。。然后,partition3空着,留着以后用呢。(这个时候,C盘和D盘都称为主分区,因为,是直接放在MBR里面的)

B方案Partition1C盘,然后,Partition2放扩展分区,这个扩展分区,会指向一个特定扇区,这个扇区存放这D盘这个分区所需要的信息。这个方案看上去和A方案是没有很大的区别。那么,我们再来看看一个例子:

 

我分6个分区,CD E F G H

很明显,64字节的分区表根本不够放。所以,我们可以采用类似于上列的B方案:

CDE分区信息放在分区表,分区表第四个项开始定义扩展分区,来指向F分区,找到F盘,在F分区里面也存放G分区的的分区信息,然后找到G分区,在G分区也存放这H分区的信息,从而,所有盘都给找到了。

在这个例子中,CDE为主分区,FGH为逻辑分区,剩余的属于扩展分区类型。

对于分区表划分,这么一个规定:一个分区表,至少有一个主分区,可以没有扩展分区。

 

以上一个MBR都差不多说完了,咱们开始理解一下目前常见的系统启动错误,在机器还没有运行到滚动条的之前的错误,90%的错误都源自于MBR以及MBR后的执行(引导管理器)。比方说提示错误MissNtldr,一般说明C盘里面的NTLDR文件丢失,从其他机器Copy过来一般可以解决问题。如果什么都没有提示,就一个光标显示,那么,很有可能MBR里面的BootloaderMBR446字节)丢失或者被恶意修改过,Fix/mbr即可。如果提示DiskFailure,Insert System Disk And PressEnter。很有可能Bootloader找不到活动分区。修改一下PartionFlag即可。

PS:一个很好的建议,如果没有什么特别情况,请不要搞这个MBR,里面存放这分区表等重要信息,如果分区表信息丢失,或者错误,那么,很有可能,你硬盘里面所有东西会瞬间丢失。当然,可以通过修复软件修复,但是,修复软件不是万能的。在弄之前,建议备份这个MBR,用任何一个可以读取硬盘的第一扇区的程序来进行备份。此备份文件只会占你512字节的空间,但是,可以挽救你几百G的数据。

 

创建U盘上的维护系统Part3U启过程以及实践

 

先让我们来回顾一下一般电脑的启动过程:(启动介质:硬盘,启动系统:xp

1.BIOS自检

2.ReadMBRReadBootloader Written By MS

3.RunNTLDR

4.ChooseWinXPViewC:/boot.ini

5.BootWinXp

 

NTLDR一般来说,只会启动微软的系统,对于启动Linux就有点吃力了(至少,目前我没有人看见到有哪位仁兄修改NTLDR让之支持Linux的启动,也许是我孤陋寡闻吧)。为了让我的机器能够同时启动WinXpLinuxWin7DOS=系统。我们尝试采用另外的启动管理器GrubFor Dos,对上面的一个过程进行修改一下:

1.BIOS自检

2.ReadMBRReadBootloader Call Grub Written By GrubOrganizations

3.Rungrldr

4.ChooseAn OS

5.BootThe Selected OS

 

MsBootloader引导NTLDR启动XpGrubOrgBootloader引导grldr引导启动系统。

 

GRUB是一个遵从Multiboot(多重启动)规范的启动管理程序。现在接触到的有3种,即GNUGrub Legacy , GNU Grub2 Grubfor dosgrub4dos)。

GRUBfor DOSGRUB4DOS)是一个以GNUGRUB 为基础的功能强大的引导器。它可以在DOSLINUX下运行,也可以通过其他引导器来运行,还可以作为MBR运行。GRUB4DOS内置了功能完善的BIOS级磁盘仿真。

也许我们会想,为什么在MBR有一个引导程序,在其他地方也要有一个grldr的程序呢?

由于,在mbr的里面的引导程序,只有446字节,要他完成多重启动,BISO级仿真(目前Vistawin7的认证破解,就靠这个玩意),还有,ISO镜像读取,446字节是不够的。所以,这些功能可以放在其他的地方,就是那个所谓的grldr程序了。当然,也有人这么修改过grub,把grub的主要功能,直接写入到第二扇区到第62扇区512Byte*60=256KB256KB,可以有很多功能了。这样子,就不用在外面再弄一个grldr文件

 

让我们来进行一下对比:

NTDLR

不能直接引导linux

只能放在C

界面单调

功能很很少,只是为了引导win系统而存在

 

GrubFor Dos

能直接引导LinuxDos等操作系统

能直接引导img磁盘镜像,ISO光盘镜像……

界面可以自定义,包括字体,颜色,背景,而不像NTLDR黑呼呼的背景。

功能强大,可以在dos下直接启动,也可以在其他引导程序启动。(可以通过NTLDR启动G4D

既然现在,我们知道可以通过NTLDR来启动G4DGrubFor Dos),那么,我们现在尝试来在本来已经存在的Xp系统的电脑上启动其他系统呢?

修改boot.ini的最后一行添加c:/grldr="StartGRUB4DOS"

修改前的boot.ini:

[bootloader]

timeout=3

default=multi(0)disk(0)rdisk(0)partition(1)/WINDOWS

[operatingsystems]

multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="MicrosoftWindows XP Professional" /fastdetect /NoExecute=AlwaysOff/usepmtimer

 

修改后的boot.ini:

[bootloader]

timeout=3

default=multi(0)disk(0)rdisk(0)partition(1)/WINDOWS

[operatingsystems]

multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="MicrosoftWindows XP Professional" /fastdetect /NoExecute=AlwaysOff/usepmtimer

c:/grldr="StartGRUB4DOS"

 

这个时候,你启动电脑的时候,你会发现有多了这么一个选项:

 

我们来看看添加的那一行东西:c:/grldr=”StartGRUB4DOS”

很明显,在C盘里面,必须要有grldr这个文件。当然,启动grub的时候,紧紧有这个文件是不够的。还需要menu.lst文件,对于G4D,大家可以下载Grub4dos的完整包。

 

下载grub4dos后,解压缩后就可以了,放在C盘更目录。核心文件有下面这几个:grldr(VISTA系统,还需grldr.mbr)grub.exe,及menu.lst(此为样本,需修改)。如果你需要中文支持,就用chinese子目录中的文件。而这个menu.lst对于grldr来说就等于boot.ini对于NTLDR

 

menu.lst内容如下:

下面是一个menu.lst的例子。(#开始的行,表示注释,不执行)

#
默认延迟时间()
timeout30

#
第一项为默认值
default0

#
设置图形背景文件
splashimage(hd0,0)/boot/grub/xp2008.gz

#
设置中文支持的字体文件
fontfile(hd0,0)/boot/grub/fonts

title
使用map启动本地硬盘上的瑞星杀毒软盘镜像文件
map(hd0,0)/boot/grub/rav.img (fd0)
map --hook
chainloader(fd0)+1
rootnoverify (fd0)

title
使用memdisk启动本地Win98软盘镜像文件
kernel(hd0,0)/boot/grub/memdisk.gz
initrd(hd0,0)/boot/grub/win98.img

title
使用memdisk启动本地硬盘上的瑞星杀毒软盘压缩镜像文件
root(hd0,0)
kernel /boot/grub/memdisk.gz c=80 h=12 s=36 floppy
initrd/boot/rav.zip

title
启动第一主分区(hd0,0)上的操作系统
rootnoverify(hd0,0)
makeactive
chainloader +1

title
启动第二主分区(hd0,1)上的操作系统
rootnoverify(hd0,1)
makeactive
chainloader +1

title
重启
reboot

title
关机
halt

 

此菜单文件的运行效果如下图。

 

 

以上例子,是截取lianjiang的《grub4dos初级教程》,此例子是在硬盘上安张Grub4Dos。而我们的目的是在U盘通过启动Grub4Dos引导启动Winpe,然后在Winpe下进行系统维护。

 

 

grub的引导启动项目编写,可以参考上述的例子,具体参数应该自行查阅grub的使用手册。下面开始用例子说明实践:

 

例子1——维护性U盘的制作

要求:

  1. WinPe当维护系统

  2. U盘为媒介存储winpe系统。

  3. 通过grub引导进入winpe系统

  4. U盘只分一个盘。

 

制作步骤

  1. U盘弄成HDD模式(可以使用U-BOOT软件)

  2. U盘的第一扇区进行改写。意思是将grldr写入到U盘的MBR里面(可以通过BOOTICE软件实现。这软件不单只有grldr的写入,还能写入其他的多启动管理器。)

  3. 添加Grub4Dos需要的核心文件,grldrmenu.lst

  4. 添加Winpe的文件

  5. 改写Grub4Dos文件的menu.lst(告诉计算机在哪里引导winpe系统)

 

重启电脑测试即可。。

 

对例子一的分析:

由于U盘只分一个盘,所以,那些Grub的核心文件,以及winpe的系统文件,都是可见的。也就是说。我们往U盘放东西,或者打开U盘的时候,都会看到这些文件的存在。那么,问题出现了。其一看到自己的U盘那么多东西,看起来不爽。一会儿又什么MiniPE文件夹,一会儿又有什么menu.lst文件,又多一个grldr文件。不小心会删除错误。其二,病毒可以很轻而易举地把Grub核心文件,Winpe系统文件删除。不安全。这是是U盘通过HDD模式启动很容易产生的毛病。

 

解决方法一般有以下几种:

方法1

  1. 通过量产把U启弄成光盘形式,维护的文件都放在量产后的空间里面,和普通可使用的空间分离。不影响正常使用,由于是光盘模式,只可读不可写,病毒不能删除你的维护系统,很安全。但是,由于弄成光盘的形式,对维护U盘的维护系统进行更新是很麻烦的,要重新量产一遍。不过,这种方式,兼容性很高的。大多数的主板都支持启动,成功率也很高。

 

方法2

  1. 量产的另外一种形式:一般我们通过量产对U盘分成光驱和可使用的空间。但是,量产软件还有另外一种,就是通过量产,可以对U盘分出两个可使用的空间,意思是,有两个U盘。两个U盘的容量都可以自定义,但是,天下没有免费的午餐,两个U盘的容量之和等于你这个U盘的总大小。

这种方式:需要用到量产软件,而且,这种方式只能适用与U盘,mp3。那些存储卡,就是我们常常用到的SD卡,TF卡,是不能适用的,因为,量产需要芯片支持,TF卡没有的。SD卡也没有的。

接着,这个方法还有一个不好的地方,就是,你分成两个区,虽然可以实现了维护盘和普通盘的分离但是,这两个区都是可见的。在你接入电脑的时候,对用户都是可见的,也是可以编辑的。也就是说,病毒可以对你的维护分区进行修改。

 

方法3

  1. 这个方法本人也喜欢用。也在用。这种方法。和量产的另外一种形式差不多。但是,适用于U盘、mp3mp4,存储卡,SDTF之类的=====

思路如下:

U盘进行分区,我分3个区,第一个分区是用来普通存储用的文件系统为Fat32,空间大小1.4G,第二个分区文件系统也是Fat32,放Winpe系统文件用的。空间大小200MB。第三个:。文件系统为ext,空间大小400MB。用来存放Linux系统的(本人的Uonlypoor 2G

好处是什么??虽然你分了3个区,但是,在普通的微软的系统里面,当你接上这个U盘的时候,只能看到1个分区,就是第一分区,1.4G的那个。因为我不是用量产得到的3个分区。是直接用分区软件分出来的。然后,微软的系统,对于U盘的识别,只会显示第一个。当然,要显示全部,也没问题,需要安装什么什么驱动之类的额外软件。

至于第三个分区,由于使用了ext文件系统。MS的系统默认是不支持EXT文件系统的。可以减少病毒对此分区的影响。不过,自然会带来修改的麻烦。如果要修改,一般都是进入Linux系统进行修改。

总体来看,在一般情况下,病毒由于找不到你U盘里面的第二个分区,和第三个分区,也就不能对你的第二个和第三个分区进行修改,格式化等操作。个人认为,安全性不错的。

方法4

  1. 采用Fbinst模式。Fbinst模式在U盘前部分弄多一备份空间,这个空间需要特定的软件打开,默认MS系统是不可见的。其主要是存放维护文件。这个看上去和分区差不多,但是,他和分区以及量产有本质上的区别。我们一般用的是HDD模式,但是,实际上,HDD模式,zip模式,不一定每一台电脑都能识别出来的。所以,Bean大哥,想出Fbinst这东西出来,兼容性极高。比HDD高多了。具体的原理大家可以Google一下。

 

 

例子2

采用方法3

要求:

  1. winpe当维护系统,搭配多个linux(当然,可以找一下影音的系统,基于linux的。我用过一个,叫xpud。和一个Geexbox。都是不错的。。)

  2. U盘为媒介存储上述系统。

  3. 通过grub的引导菜单,不单只能引导上述的系统,而且能引导当前系统,包含关机,重启的命令。

  4. U盘分3个区,一个1.4G的第一分区,一个200MB的分区放WinPe,一个400MB的分区放多个linux系统。Grub的核心文件反正linux分区里面。

 

制作步骤

  1. U盘弄成HDD模式

  2. U盘的第一扇区进行改写。意思是写grldrU盘的MBR里面

  3. U盘进行分区。

  4. 添加linux系统文件,一般采用Initrd压缩启动模式的Mini操作系统,如PuppySlitazCore

  5. 添加grub4dos需要的核心文件。

  6. 添加winpe的文件。

  7. 改写grub4dos文件的menu.lst(编写启动菜单)

 

最后,例子只是一个小小的步骤说明,我之前也围绕这上面的例子录制了视频过程,不过,也找不到比较适合上传的地方,所以没有上传,其实,视频过程用处不大,只是一些例子的实践性的操作,关键是理解启动型U盘的启动过程和原理,制作基本步骤,以及一些MBR的基本知识,做到举一反三。

 

由于本人能力有限,文档中难免还存在一些缺点和错误,殷切希望广大读者指点。

By

曲阜师范大学08网络工程

JankaLon(小小的蚂蚁)

2011-3-23(修正)

参考文献

grub4dos初级教程Bylianjiang

GRUB_百度百科http://baike.baidu.com/view/225343.htm