之前每次装系统都是临时把对应镜像写入U盘,折腾几次后觉得太麻烦了,就想有没有一劳永逸的方法。

经过网上一番搜索后,发现还真有。

 

需要的工具:

    1.大白菜超级U盘启动盘制作工具

    2.FbinstTool v1.6 (我使用v1.7时打开后啥都没有)

    3.大容量U盘或移动硬盘

    4.系统镜像

 

先把大白菜安装到Windows中,再以管理员身份运行。

点击“一键制作USB启动盘”开始制作,制作过程会把磁盘格式化为FAT32格式的。

docker 大白菜 系统_python

 

由于某些镜像会大于4G,所以我们需要将其转换为NTFS,勾选上图的NTFS,弹出下图界面,选“是”。

然后就会在不删除文件的情况下将磁盘转换为NTFS格式。

docker 大白菜 系统_运维_02

制作完启动盘,就可以添加自定义菜单了,需要编辑的内容在隐藏分区里,就是在磁盘管理里显示为“未分配”的区域。

docker 大白菜 系统_运维_03

需要用到FbinstTool,刚开始使用的是v1.7版的,打开后啥都没有,换成v1.6后就OK了。

docker 大白菜 系统_ubuntu_04

双击打开根目录下的grldr文件,添加下图红框中的内容,表示我们用一个子菜单来显示自定义的内容。

docker 大白菜 系统_运维_05

然后新增文件/IDBC/GRUB/MYOS.LST,内容如下:

timeout 15
default 1
gfxmenu ()/IDBC/GRUB/MESSAGE                
title 【01】 ===返回大白菜U盘启动主菜单===
calc *0x307FFC-0x110000 > nul && configfile (md)4+8 ! configfile (md)0x880+0x200
title 【02】 安装ubuntu-16.04.5-desktop-amd64
find --set-root /ubuntu-16.04.5-desktop-amd64/vmlinuz
kernel /ubuntu-16.04.5-desktop-amd64/vmlinuz boot=casper iso-scan/filename=/ubuntu-16.04.5-desktop-amd64/ubuntu-16.04.5-desktop-amd64.iso ro quiet splash locale=zh_CN.UTF-8
initrd /ubuntu-16.04.5-desktop-amd64/initrd
title 【03】 安装ubuntu-18.04.1-desktop-amd64
find --set-root /ubuntu-18.04.1-desktop-amd64/vmlinuz
kernel /ubuntu-18.04.1-desktop-amd64/vmlinuz boot=casper iso-scan/filename=/ubuntu-18.04.1-desktop-amd64/ubuntu-18.04.1-desktop-amd64.iso ro quiet splash locale=zh_CN.UTF-8
initrd /ubuntu-18.04.1-desktop-amd64/initrd.lz
title 【04】 选择Windows安装镜像
checkrange 0x21 read 0x8280 > nul && pxe keep
graphicsmode -1 100:1000 100:1000 24:32
debug 1
command | echo -n | echo -n | echo -n > (md)0x200+1
debug off
call Fn.0 0x40000 "!BAT\necho -P:0000 $[0000]\t\t\t\t\t\t\t\t\t\0" && initscript (md)0x200+1 || set modskip=0
if %@retval%>=0x40000 && set /a modskip=%@retval% - 0x40000 + 1 > nul
cat --skip=%modskip% (md)0x200+1 | set modpath=
cat --length=%modskip% (md)0x200+1 | set modroot=
if "%modpath%"=="" set modpath=/IDBC/GRUB/
cat --length=0 %modroot%%modpath%RUN |; cat --length=0 %@root%%modpath%RUN && set modroot=%@root% ! find --set-root %modpath%RUN &; set modroot=%@root%
command --set-path=%modroot%%modpath%
set modroot=
set modpath=
set modskip=
command /IDBC/GRUB/MENUSETTING n 3 2 26 n 6 68 16
font /IDBC/GRUB/UNIFONT.HEX
#write 0x8274 0x1a01
color normal=31 highlight=0x0E helptext=0x0E heading=0x0A standard=0x0F border=0x0E
splashimage /IDBC/GRUB/BACK.LZMA 
command RUN --automenu-all

Ubuntu的启动菜单中的vmlinuz和initrd文件,都是从对应镜像的casper目录中提取的,有的镜像对应的文件可能会有后缀名,按实际的来就行了。

“选择Windows安装镜像”这项,是根据下面菜单跟踪来的。

/grldr:

title 【11】 启动自定义ISO/IMG文件(两种方式)
RUN ()/IDBC/GRUB/DIY.LST

/IDBC/GRUB/DIY.LST

title 【02】 启动自定义ISO/IMG文件(DBC目录)
configfile ()/IDBC/GRUB/RUN.LST

/IDBC/GRUB/RUN.LST

title [08] [自动菜单方式]列出所有可用设备 \n [自动菜单方式]列出所有所有设备后可选择进行操作。 
command RUN --automenu-all

 

此外,在“选择Windows安装镜像”这项里面,还有大量命令,我也不知道做的啥操作,反正就是直接从/IDBC/GRUB/RUN.LST里面复制过来的,没有这些命令的话就会出现花屏。

 

然后就是将镜像文件复制到启动盘的对应目录就可以了。Ubuntu要按上面脚本的路径存放,而Windows随便放,只要自己能找到就行。