首页 > 代码库 > 制作Windows+Ubuntu多系统安装盘

制作Windows+Ubuntu多系统安装盘

 

一般制作多系统启动盘的教程都会要用到rub4dos+grubinst+ultraiso+msgdiyerl等等工具,很多的时候都是用U盘量产来实现,这样做的坏处就是:制作繁琐对U盘伤害较大且不可逆,让人望 而生畏。本教程采用完全不同于传统的方法制作多系统启动U盘,方法原理简单,操作方便。

废话不多说,下面看正题:

其实大白菜里已经对这些工具做了非常好的封装,利用大白菜+FbinstTool+Windows+Ubuntu,我们就可以方便的制作出功能丰富的启动U盘。 懂grub一些开机引导命令,会更好,灵活的定制自己的引导盘

制作步骤:

1.打开大白菜4.6(http://pan.baidu.com/s/1eQ24uWi),点击“一键制作启动U盘”。大白菜会从U盘上划出400M作为隐藏分区,里面包括win7pe,win03pe以及其他一些有用的工具。

勾选NTFS,弹出窗口选否(就是制作后转为NTFS格式),这样U盘就能拷大于4G的文件了

制作完后,大白菜就没用了= =现在U盘里会只有一个GHO文件夹,大白菜已经将PE及引导写入了一个隐藏分区里,然后将要用的东西拷进U盘

接着,将win7镜像内的文件全部解压到U盘根目录,再把bootmgr改名为win7mgr(大白菜列表里默认是读win7mgr来引导,所以我们就这么做吧),最终效果如图,bootmgr已改名为win7mgr



2.利用FbinstTool打开U盘的隐藏分区,双击打开(ud)/BOOT/GRUB/grldr,可以看到里面是对主菜单的定义,其中包括等待时间,默认选项,各个菜单项的定义。



3.在U盘根目录中(注意不是隐藏分区)创建UBUNTU文件夹,将ubuntu-12.10-desktop-amd64.iso中casper目录下 的initrd.lz和vmlinuz两个文件提取出来(可以用UltraISO、FbinstTool等等),连同ubuntu-12.10- desktop-amd64.iso一起放进ubuntu12.04文件夹中。镜像可以更改名字,可以不更改名字,有一点:你要知道自己在干嘛就行了(可以不更改名子)。

4.熟悉文件目录,具体的不作介绍了,有个别地方需要注意一下,(38和39行之间)下面的代码大家应该能看懂。title后面写的就是菜单项的名字

RUN /win7mgr 指的就是运行U盘根目录下的win7mgr进行引导

kernel /ubuntu12.04/vmlinuz.efi boot=/casper iso-scan/filename=/ubuntu12.04/ubuntu-12.04-desktop-amd64.iso ro quiet splash  locale=en.UTF-8  
这一句各段内容是:指定kernel位置,指定boot位置,指定iso位置,运行参数,设置语言为中文UTF-8,指定livecd启动时运行的脚本,原文还有一句find --set-root /UBUNTU/vmlinuz,但是不要也可以

(这里是Fbintool工具地址http://pan.baidu.com/s/1gdsXFwv)
5.修改(ud)/BOOT/GRUB/grldr中的内容如下(注意与你的文件目录一致)

 1     timeout 15  
 2     default 0  
 3     command --set-path=(ud)/BOOT/GRUB/  
 4     gfxmenu (ud)/BOOT/GRUB/MESSAGE  
 5     configfile (md)4+8  
 6     title 【01】 硬盘引导启动  
 7     RUN (ud)/BOOT/GRUB/MENU12.LST  
 8     title 【02】 安装Ubuntu 12.04-86_x64  
 9     find --set-root /ubuntu12.04/vmlinuz.efi  
10     echo  $[1105]Loading ubuntu-12.04-desktop-amd64!!waiting!!  
11     kernel /ubuntu12.04/vmlinuz.efi boot=/casper iso-scan/filename=/ubuntu12.04/ubuntu-12.04-desktop-amd64.iso ro quiet splash  locale=en.UTF-8  
12     initrd /ubuntu12.04/initrd.lz  
13     title 【03】 安装 ubuntu-10.04-i386  
14     find --set-root /ubuntu10.04-i386/vmlinuz  
15     echo  $[1105]Loading ubuntu-10.04-desktop-i386!!waiting!!  
16     kernel /ubuntu10.04-i386/vmlinuz boot=/casper iso-scan/filename=/ubuntu10.04-i386/ubuntu-10.04-desktop-i386.iso ro quiet splash  locale=en.UTF-8  
17     initrd /ubuntu10.04-i386/initrd.lz  
18     title 【04】 安装 Fedora-17-i686-desktop-live  
19     find --set-root /syslinux/vmlinuz0  
20     kernel /syslinux/vmlinuz0 root=live:LABEL=LIVE rootfstype=auto ro liveimg quiet rhgb  
21     initrd /syslinux/initrd0.img  
22     title 【05】安装 ubuntu10.04-x86  
23     find --set-root /ubuntu10.04/vmlinuz  
24     echo  $[1105]Loading ubuntu-10.04-desktop-amd64!!waiting!!  
25     kernel /ubuntu10.04/vmlinuz boot=/casper iso-scan/filename=/ubuntu10.04/ubuntu-10.04-desktop-amd64.iso ro quiet splash  locale=en.UTF-8  
26     initrd /ubuntu10.04/initrd.lz  
27     title 【06】安装 ubuntu12.04-x86  
28     find --set-root /ubuntu12.04-i386/vmlinuz  
29     echo  $[1105]Loading ubuntu-12.04-desktop-i386!!waiting!!  
30     kernel /ubuntu12.04-i386/vmlinuz boot=/casper iso-scan/filename=/ubuntu12.04-i386/ubuntu-12.04.3-desktop-i386.iso ro quiet splash  locale=en.UTF-8  
31     initrd /ubuntu12.04-i386/initrd.lz  
32     title 【07】 运行Win7PE精简版  
33     checkrange 0x30001:-1 read 0x8298  
34     clear  
35     echo $[1106] Loading DBC WIN7PE.ISO, www.winbaicai.com  
36     map --mem (ud)/PE/DBC7.ISO (0xff) ! map (ud)/PE/DBC7.ISO (0xff)  
37     map --hook  
38     chainloader (0xff) 
    title 【08】安装win7 64位旗舰版
    RUN /win7mgr 
39     title 【09】 其他工具  
40     RUN (ud)/BOOT/GRUB/DIY.LST  

这个菜单中我们保留了运行winpe的选项,加入了安装ubuntu和fedora的选项。为了保持菜单精简,将其他功能都集成到了另一个菜单里 (DIY.LST)。Ubuntu菜单项中kernel /UBUNTU/vmlinuzboot=/casper iso-scan/filename=/UBUNTU/ubuntu.iso这三句还有initrd/UBUNTU/initrd.lz是不能少的,它指 明了从哪里加载系统。ro quiet locale=zh_CN.UTF-8就是指明我们希望使用的语言等等,不写也无所谓。上面那句find是查找文件,推荐写,不写的话也没有什么影响,系 统会自动查找。注意修改后保存

6.修改DIY.LST,内容如下

 1     timeout 15  
 2     default 4  
 3     gfxmenu (ud)/BOOT/GRUB/MESSAGE  
 4     configfile (md)4+8  
 5     title 【01】 PE蓝黑屏无法进入不认硬盘方案  
 6     RUN (ud)/BOOT/GRUB/MENU03.LST  
 7     title 【02】 进入Ghost备份还原系统多合一菜单  
 8     RUN (ud)/BOOT/GRUB/MENU04.LST  
 9     title 【03】 运行最新版DiskGenius分区工具  
10     RUN --mem (ud)/BOOT/IMGS/DBCDOS.IMG  
11     title 【04】 运行MaxDos工具箱增强版菜单  
12     RUN --mem (ud)/BOOT/IMGS/MAXDOS.IMG  
13     title 【05】 运行硬盘内存检测扫描工具菜单  
14     RUN (ud)/BOOT/GRUB/MENU07.LST  
15     title 【06】 运行Windows登陆密码破解菜单  
16     RUN (ud)/BOOT/GRUB/MENU08.LST  
17     title 【07】 启动USB2.0加速电脑启动(老机专用)  
18     (ud)/BOOT/GRUB/USB_ACC.0PE  
19     title 【08】 安装原版Win7/Win8系统(非GHOST版)  
20     RUN (ud)/BOOT/GRUB/MENU11.LST                 
21     title 【09】 返回大白菜U盘启动主菜单  
22     configfile (md)4+8  
23     title 【10】 运行大白菜Win03PE2013网络增强版  
24     checkrange 0x30001:-1 read 0x8298  
25     clear  
26     echo  Loading DBC WIN03PE.ISO  
27     map --mem (ud)/PE/WINPE.ISO (0xff) ! map (ud)/PE/WINPE.ISO (0xff)  
28     map --e820cycles=0  
29     map --hook  
30     chainloader (0xff)  
31     title 【11】 重启计算机  
32     reboot  
33     title 【12】 关闭计算机  
34     halt  

我们就是把原来主菜单中的东西搬了过来,没做任何改动。保存文件。

7.可以将U盘目录下UBUNTU和CDLINUX目录设为隐藏,这样可以防止误删。

8.以后要添加BackTrack等等只需要修改grldr即可。 

后记:1.为了U盘目录的干净整洁,呃,尝试过把win7镜像解压在U盘内新建的一个文件夹里,然后在菜单项修改相应路径,但是失败了,看来只能解压在根目录,或者还得动点其他什么手脚?
2.有些盆友可能会遇到启动ubuntu LiveCD时提示挂载出错,提示windows is hibernated云云,这 是因为你的windows没有系统保留分区(又是它= =)只有一个主分区,启动时会调用硬盘主分区内的boot所以一直占用导致挂载失败,而有系统保留分区的话就只会调用单独的系统保留分区,挂载就没问题 (猜测这也是导致win7安装时提示“安装程序无法创建新的系统分区,也无法定位现有系统分区”的原因之一),所以系统保留分区很萌哒你们不要删它使用大白菜+FbinstTools制作多系统启动U盘(winPE+win7+ubuntu) - wuudjac - Wood Jack的博客,有这种情况的童鞋可以尝试在BIOS里设置U盘为第一启动项,而非每次手动选择启动装置为U盘,当然最好的方法还是用PE啥的弄好系统保留分区啦
现在查出来的原因是,U盘的分区处于占用状态,所以会出这样的问题,解决方法有两种:
  1.插着U盘进入系统,然后将U盘卸载/弹出,拔出U盘,关机,插U盘,U盘启动
  2.完全关机,拔U盘,插U盘,进BIOS设置U盘为第一启动项,重启

             ----吴尚奇  Devil_box  2014/05

注:这篇文章不是我的原创,是经过大量网上查找资料总结出来,经实验可以用的。