Chinaunix首页 | 论坛 | 博客
  • 博客访问: 99571
  • 博文数量: 28
  • 博客积分: 310
  • 博客等级: 二等列兵
  • 技术积分: 680
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-24 09:57
文章存档

2013年(10)

2012年(18)

分类:

2012-10-24 16:39:46

http://kpjack.blog.51cto.com/627289/387137

目的实现制作windows xp PE、MAXDOS和Linux三系统引导的U盘。原因是这样的。有时分区表坏了,无法进入PE,DOS,这时,这时就可以尝试启动Linux了,一般可以进入。^_^

基本介绍记 得上次是这样的,一个同学分区表坏了。叫我帮忙看下,我想,这种不会是设置错误吧,于是就过去了,结果弄了很久还是不行啊。。。无法实现启动。。。后来灵 机一动,能进Linux么?就弄了个Ubuntu i386光盘,果然。进去了。之后发现分区表坏了之后,她的硬盘有很多分区,至少50个。。应该是分区太多了,没地方给pe的虚拟磁盘的分区分配磁盘驱动 器序号了(windows中 C盘,D盘,E盘的那个磁盘驱动器序号)于是无法启动winPE。而Linux启动时是不会自动挂载硬盘的,而是系统启动后再实现人工挂载的。当然,喜欢 的话,也可以在/etc/fstab这个文件里面设置,实现自动挂载~^_^

而 Linux的发行版更是多如牛毛,那我们可以选择几个看看,如parted magicLinux和slitaz,那么为何选择这几个发行呢?pated magic Linux的话,实际上就是用来维修系统的,里面带有很多工具,比如著名的图形分区工具gparted,和分区表回复工具testdisk等等,并且这三 款Linux都具有图形操作界面,即使不是很熟悉命令行,照样可以使用,而且体积很小,partedmagic为70MB左右,slitaz为30MB左 右。其实,通过这篇文章,您也可以制作一个随身的Linux的,比如还有一个比较强大的适合做随身的Linux的发型:puppyLinux,具有非常齐 全的工具,从文字处理,上网浏览,到影音娱乐,系统管理等等,一样具有图形界面,并且只有100MB左右。

那 么winPE呢?这里推荐使用pe通用工具箱为(windowsXP版本,作者为一高中学生,厉害的,今年刚好毕业,可以在其官方博客中看到~~),里面 也有十分强大的工具,如王大海写的diskgenius,这个软件十分强大,可以恢复分区表,分区等等。还有pm啊,现在有加入windows7安装工 具,并且体积也是相当小,40MB左右。

当然,dos的话,简单而又强大的,就莫属maxdos了,支持鼠标啊,NTFS分区啊,中文啊什么的,好多功能,这当然需要您对dos命令熟悉。

那 么我们选择何种方式来启动我们的U盘呢?我们这里选择grub4dos(即grub 0.98,而现在很多Linux发行版用的是grub2),好处是我们可以在windows下运行该软件,而且启动菜单制作简单明了,可以引导 windows和Linux和dos,支持各种文件系统(FAT即FAT16、FAT32、NTFS、EXT2即Linux下的文件系统,更多资料可以查 询官方文档。)

 那下面我们可以开始了。

准备工作一只U盘~一只电脑~几只软件~

 可能会用到的几只软件:

 通用pe工具箱;官网:

puppy Linux的ISO镜像;官网:  中文版:

 slitaz Linux的ISO镜像;官网: 

 linux下恢复分区软件:testdisk 有windows版本的~

下载地址:http://www.cgsecurity.org/wiki/TestDisk_Download

parted magic linux  (比较专业的系统修复的发新版,带gparted和testdisk)

 maxdos 光盘版镜像 官网:

MaxDOS 7.1 集成 GHOST 11.5 PQ、DM、光盘启动版 
电信下载   

网通下载   

Grub4DOS;grubinst.exe  官网: 

grubinst_gui.exe  (其中包括grldr,grubinst.exe,grubinst_gui.exe,menu.lst文件~~)

  UltraISO;

 现在就开始动手制作我们U盘启动吧

先 简单的说一下windows xp和Linux的启动过程,具体的可以搜索更多的相关资料。一般计算机都是通过存储介质的主引导记录(即MBR)来实现引导的。而grub4dos正是 通过向mbr中写入数据实现在启动时计算机会寻找grldr这个文件,然后grldr再根据menu.lst中的指令列出启动菜单。而xp是通过 NTLDR这个引导文件进行引导,进入windows的,(后面的windows 7和windows Vista是通过bootmgr这个引导文件实现引导进入windows的)。而Linux则是通过两个文件进入系统的,一个是可引导的、压缩的 kernel(即内核):vmlinuz这个文件。一个是实现载入驱动什么的:initrd.gz文件。在每个发行版中这两个文件都是不一样的吧。具体可 查相关信息,不过还可以直接到boot目录下面看几个文件。

特别说一下,grub4dos:从网上下载的grub4dos只能通过bootlace.com这个文件以命令行的方式将数据写入到MBR里面去。还可以下载grubinst.exe和grubinst_gui.exe这两个文件实现图形界面操作

(温馨提示:grubinst_gui.exe只是gurbinst.exe的一个图形界面,而grubinst.exe也是个命令行工具)

 

制作过程:

这时,先安装好ultraISO。

(1)找一个U盘,插入USB接口,之后到下 载grub压缩包,然后解压到某个文件夹,之后运行grubinst_gui.exe(注意,要将grubinst_gui.exe和 grubinst.exe放在同一个文件夹中,否则无法运行grubinst_gui.exe)。在“磁盘”那里,选择存储容量为自己U盘的那个盘,千万 别选到硬盘去了,那样就把grub装到硬盘去了,就无法启动了。(不过看了文章后面内容的话,就会发现,其实也没关系,也一样可以引导windows的 ^_^)然后在“选项”勾选“不保留原来的MBR”,“启动时不搜索软盘”。之后安装即可。

之后将grub4dos中的grldr文件复制到U盘根目录。

 温馨提示:不必格式化,还有,我们前面说过grub4dos支持的文件系统,所以FAT,FAT32,NTFS~都可以^_^。选择grub引导的原因是,grub确实很强大,可以引导Linux,windows,光盘,等等

 

(2) 这里选择强悍的Linux发行:partedMagicLinux,首先到官方网站下载其liveCD(, 选择Parted Magic from a CD那一项下面的下载链接)我是用的是4.8版本,现在更新到了5.1版本了,用UltraISO将其镜像iso加载到虚拟磁盘X~把PMAGIC文件夹 复制到U盘根目录。并且将PMAGIC\PMODULES\PMAGIC_5_1.SQFS重命名为小写的pmagic-5.1.sqfs(这个和 /pmagic/initramfs这个文件中的init脚本有关,脚本中的文件名为小写,而Linux对文件名大小写是敏感的,所以需要改成小写的)

 

(3)为何选择通用pe工具箱?这个是因为这pe体积很小。也是只有40M,而且也自带diskgenius 3.0 和PM。一般的 工作都可以满足了~~先到这里下载安装文件了

运 行TonPE_V1.9.5.exe --> "下一步" --> 安装模式选择"安装到U盘" --> 选择 "模式二(grub)"并且选择正确U盘盘符 --> 安装过程中出现 “格式化U盘” 的时候,直接关闭就可,无需理他。--> 出现“安装grub” 一样直接关闭。这样,就会把文件都考进U盘啦~(温馨提示:展开的文件有:U盘根目录有peldr文件,petools和wxpe文件夹,其 中,peldr可以删除~不过这些文件的属性都是系统+隐藏,所以要在文件夹选项中选择 “显示所有文件” 和去掉 “隐藏受保护的系统隐藏文件” 的勾才可以看得见)

安装maxdos到U盘:先到下面地址下载maxdos

电信下载   
网通下载   

有 时候,dos还是有点用的,但是纯dos纯属鸡肋,现在基本是NTFS文件系统,纯dos是无法进入NTFS分区的~所以选择了maxdos。 maxdos集成了大量的dos工具~确实很强大~选择光盘版,是因为文件结构简单~先下载maxdos plus 7.1光盘版。然后用winrar解压,然后用UltraISO将其加载到一虚拟磁盘,然后在该虚拟磁盘中将文件MXLDR复制到U盘的boot文件夹 下。将MAXDOS文件夹复制到U盘根目录下。(温馨提示:MAXDOS文件夹,为隐藏属性,需要显示隐藏文件夹才能看见。)

 

(4) 在U盘根目录新建文本文档,重命名为menu.lst(注意,扩展名必须是lst,假如看不到原先的文本文档扩展名txt,可以在“工具”->“文 件夹选项”à去掉“隐藏已知文件扩展名”前面的勾(windows7中是”组织”à“文件夹选项”)中更改。),然后在menu.lst中添加如下内容


timeout 10

color light-blue/black light-cyan/blue

 

title Parted Magic

kernel /pmagic/bzImage edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw loglevel=0 vga=791 livemedia noeject max_loop=256 keymap=us

initrd /pmagic/initramfs

 

title  XPE

find --set-root /WXPE/LDRXPE

chainloader /WXPE/LDRXPE

 

title MAXDOS

find --set-root /boot/mxldr

chainloader /boot/mxldr

 

温馨提示:grub的menu.lst中的文件名不区分大小写的,而Linux中是区分大小写的

5大功告成啦~^_^

解释一下上面的menu.lst吧

timeout就是启动菜单的可选时间,可以自己修改改

color就颜色了(这里是参考ArchLinux的^_^)

title 就是启动菜单上显示的选项标题了

而引导Linux的,都是两个指令:kernel 和 initrd 这两个

引导windows的,也就是那个样式先find --set-root 然后chainloader ~通过ldrxpe引导pe

 

(6)注意,U盘启动中总是要用较多内存的,计算机最好有>=256MB的内存,当然,现在的都2GB4GB了,所以一般不足为虑。

下附puppy的:(替代PartedMagicLinux的步骤)

把puppy的ISO中的

VMLINUZ    INITRD.GZ        PUP_431.SFS

复 制到U盘根目录~注意一定要将PUP_431.SFS重命名为pup-431.sfs,不管怎样啊,最后的文件名都是pup-431.sfs。(当然,后 面的几位数字的话,是看puppy的版本,可以看出,我用的是4.31版本了,如果喜欢的话,是可以下载中文版本的,叫小芭比)不然会出现找不到文件的 错误,就白忙了。

可在menu.lst之中添加一段指令:


title  Puppy Linux - 431

kernel /boot/vmlinuz

initrd /boot/initrd.gz

即可

好了,大功告成了

进入Linux之后。注意,gparted是只能对未挂载的分区进行操作,所以,先要卸载分区才能进行格式化什么的

^_^

附加用grub引导windows XP、windows 7、windows Vista、一般Linux的menu.lst。有趣的是,这个grub不一定要安装到电脑硬盘当中,也可以安装到U盘当中,一样可以引导硬盘当中的系统~^_^

引导windows xp:

在menu.lst中添加一段:

title windows XP

find --set-root /NTLDR

chainloader /NTLDR

 

引导windows 7:

在menu.lst中添加如下段代码:


title windows 7

find --set-root /bootmgr

chainloader /bootmgr

 

引导windows Vista:

在menu.lst中添加如下段代码:


title windows Vista

find --set-root /bootmgr

chainloader /bootmgr

 

引导Linux的话,每个发行版的都不一样~因为那两个文件的文件名不一样~建议备份一个/menu.lst。如果是grub2的话,备份grub.cfg。这两个文件,在/boot文件夹中~

title Linux

kernel /kernel.img

initrd /initrd.gz

(上面这个只是一个模式,实际是不能用的,需要结合具体发行的)

更多的内容可参阅grub4dos的官网.wiki和自带的那个menu.lst等等。

说到修复,这里附上修复系统引导的几个方法。(通过向MBR里面写入信息实现引导)

1.直接装上grub4dos,用grub引导你计算机上的系统,根据上面的信息,再看点其他资料,应该没问题了^_^

 

2.恢复原先系统的引导。

  (1)windows XP :由于种种原因,修复xp引导的工具很多很多

 a).PM、diskgenius等磁盘工具。一般通过“更新硬盘MBR”这个命令,就可以实现引导XP

 b).dos工具fdisk。运行fdisk /mbr(这个工具,XP的恢复控制台中也有,或者,自己下载)

 c).mbrfix.exe:很小很精致的软件,命令行模式的。(在命令行中键入不带命令参数的mbrfix,即可跳出一个 html的帮助文件,内容相当详细,不过是英文的的,可以修复windows 2000、xp、2003)

 (2)恢复windows 7、windows Vista引导

 用easyBCD。是图形界面的 ,一看就会的软件,不说了。windows自带的那个bcdedit是命令行的。

 (3) 恢复Linux的引导。每个发行版不一样。会搞Linux的,肯定熟悉grub,是我的话,就选择自己安装一个grub了,这里要注意,如果用grub1 或者grub4dos的话,分区格式要用ext2,而ext3或ext4等,grub1是不支持的,但grub2是支持的。所以有必要将硬盘划出一块分区 单独给Linux 的/boot用,当然,修复的话,用liveCD也很方便的^_^


阅读(1061) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~