winpe/linux多重启动
一直以来,安装、维护系统,比较常用的都是使用光盘。但最近越来越觉得光盘随身携带麻烦,而且容易失效。一张光盘上的系统往往没到两年就被淘汰了。 因此,萌生了使用优盘进行系统维护的想法。既然是用于维护的,winpe自然不可少,但个人觉得Linux也不可或缺。一来,Linux也需要维护,二 来,Linux还可以提供WinPE很多不具备的功能。两者互为补充,效果应该更好。因此,用于维护的优盘能支持多系统的启动也是必要的。
优盘之家
首先需要选择WinPE和Linux的版本。WinPE的版本众多,我使用的是天意的系列WinPE(前身即为完美者WinPE)。这个系列功能齐全,驱动完整(具体功能可以参见这个网址),还有一点是除了启动文件,WinPE系统本身和外置程序都封装在了ISO文件中,便于安放,不会在优盘上产生一大堆的文件。截止写本文时,最新的发行版是1.5版本,大家可以去这个地址下 载。至于Linux发行版的选择,同样令人眼花缭乱。个人觉得Ubuntu比较适合初级用户,驱动完整,支持良好,各种社区和文档也比较完善。本文使用的 是Ubuntu 11.04的桌面线x64版本。当然,如果你有自己的选择也可以啦,各个Linux发行版都是大同小异,安装到优盘的过程也很类似,只是 可能不能完全依照本教程,而要自己动手实践了。
我们大致的思想是,使用grub4dos启动计算机,然后再利用grub4dos的引导功能 去启动我们所需要的WinPE或者Linux。第一步,把优盘格式化,推荐使用ntfs文件系统。然后,我们要使优盘变成可启动的。grub4dos是一 个类似于grub的启动器,功能强大。我们可以在此处进行下载,我选择的是0.4.4版本。下载后,解压到任意位置,进入一个Linux系统,打开一个终端并进入解压后的那个文件夹。运行以下命令(以#开头的为注释,不是命令):
1# 查看自己的优盘的设备名称,例如sda、sdb等等。注意不要和硬盘等的设备名搞混了,可以通过容量和分区的数目辨别 2sudo fdisk -l 3# 将启动信息写入优盘,其中sdx替换为你上一步中找出的自己的优盘的设备名称 4chmod a+x bootlace.com && ./bootlace.com /dev/sdx
完成后,我们再把grldr文件放入优盘的根目录并在优盘根目录下新建一个名为menu.lst的文件。打开这个menu.lst文件,输入以下两行内容:
1timeout 30 2default 0
至此,我们的优盘就是可启动的啦。 优盘之家
优盘之家
下面,我们要添加WinPE 。这里先说说WinPE 1.x版本(也就是我们通常所见到的基于WinXP的PE)的启动过程。不同的启动方法具体情况有所不同,但基本可以归纳为:
最初的启动(不同的启动方法有所不同)
加载SETUPLDR.BIN
依据SETUPLDR.BIN中指示的位置,加载NTDETECT.COM和WINNT.XPE
依据WINNT.XPE指示的位置加载WinPE的基础系统 优盘之家
加载外置程序
优盘之家
我们可以直接指示grub4dos加载SETUPLDR.BIN,只需要在menu.lst中添加如下几行即可:
1title Windows PE Environment 2find --set-root /tool/pe/setup 3chainloader /tool/pe/setup
接 下来,我们就要修改SETUPLDR.BIN了。解压我们下载的天意PE的ISO文件。找到boot目录下的SETUPLDR.BIN。在优盘根目录下新 建一个tool目录,再在tool目录中新建一个pe目录,将SETUPLDR.BIN放到pe目录中并重命名为setup。这样组织文件的话,最后在优 盘目录下就只有tool目录以及grldr和.lst两个文件,干净整洁,方便放其他的数据文件。而tool目录专门放各种维护工具,每种工具为一个文件 夹,像所有有关WinPE的文件就都在pe子目录下。
用16进制编辑器(如HxD、WinHEX等等)打开setup文件。定位到3E188位置,注意到两个“bootntdetec”了吗?这就是USB启动模式下指定NTDETECT.COM位置的字串。将它们修改为“toolpentde”。如下2图所示:
修改前 优盘之家
U盘之家
修改后
接 着,我们要替换WINNT.XPE的位置。在天意PE中,WINNT.XPE实际为boot目录下的type文件,将这个文件放到优盘toolpe目录 下,重命名为x。接着,回到setup文件中,替换所有的“boottype”为“toolpex”。聪明的人应该注意到了,只要保证更换后的字串和更换 前的字串的长度相同,NTDETECT.COM和WINNT.XPE的名字和位置其实是可以改变的。接着,拷贝天意PE的boot目录下的FON.BIN 到优盘toolpe目录下并重命名为font,这是启动时的中文支持文件,没有它虽然不影响启动,但启动时就不能显示中文了。我们也需要在setup中更 改这个字体文件的路径,将所有的“bootfon.bin”更改为“toolpefont”即可。至此,SETUPLDR.BIN的修改工作完成。
下 面,我们修改WINNT.XPE文件,指定WinPE的基础系统的文件位置。打开优盘中toolpe目录下的x文件,将rdpath后面的路径由 “typetype.is_”改为“toolpetype.is_”。再把天意PE系统type文件夹里面的type.is_和type.isz拷贝到优 盘中toolpe目录下。到这里,我们优盘里面的WinPE就可以顺利启动了。但它还是无法顺利的加载天意PE中内置的各个实用的工具。要完成这最后一 步,我们找到优盘toolpe文件夹中的type.is_,用WinRAR解压,得到一个type.iso文件。修改这个iso文件(可以用 UltraISO这个软件)内部的WXPESYSTEM32文件夹下面的STARTPE.CMD文件,将“typetype”修改为 “toolpetype”,一共有三处。修改完成后,将这个新的iso文件重命名为type.is_并覆盖优盘toolpe目录下原有的type.is_ 文件。
到这里WinPE系统在我们的优盘上就顺利安家啦,大家可以重启试试看。
接下来,我们要为优盘添加Ubuntu系统, 这个过程比添加WinPE简单多了。首先下载你想要的Ubuntu版本,我下的是ubuntu-11.04-desktop-amd64.iso。将其拷 贝到优盘的toolubuntu目录下面。然后再打开优盘根目录下的menu.lst文件并添加以下内容(大家注意依照自己下载的Ubuntu版本不同修 改文件名):
1title Ubuntu 11.04 Desktop x64 (sudo umount -l /isodevice) 2find --set-root /tool/ubuntu/ubuntu-11.04-desktop-amd64.iso 3map /tool/ubuntu/ubuntu-11.04-desktop-amd64.iso (0xff) || map --mem /tool/ubuntu/ubuntu-11.04-desktop-amd64.iso (0xff) 4map --hook 5root (0xff) 6kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper noprompt nopersistent iso-scan/filename=/tool/ubuntu/ubuntu-11.04-desktop-amd64.iso -- 7initrd /casper/initrd.lz
至此,双启动优盘就完全制作好了。