制作一个能从各种ISO镜象启动的U盘

装机要用到各种工具u盘,手上只有一个u盘的时候总得费事格式化,如果直接把ISO镜象拖到U盘里按需选用就能方便很多。

于是试着弄了个能灵活加载各种ISO镜象的U盘,这里记录一下过程。


grub2-filemanager

https://github.com/a1ive/grub2-filemanager

国人做的一个基于GRUB2的启动器,能启动各类Linux发行版的Live CD,也能用memdisk方式启动其他类型的ISO。

img

img

先得想办法把它启动起来,这里用grub2做bootloader。

分区、格式化

用fdisk或者其他工具格式化u盘:

img

安装gurb2

/media/r/31E4-2D04是分区的挂载点,/dev/sdb是u盘,请根据实际情况替换。

1
grub-install --no-floppy --root-directory=/media/r/31E4-2D04 /dev/sdb

img

安装好之后,根目录下多出个boot/gurb文件夹,此时u盘已经能做引导了,但是现在它只有一个简陋的命令行界面。

获取grub2-filemanager

获取grubfm-zh_CN.7z解压到boot目录下。

img

.efi是uefi引导方式用的,这里只用到.iso的。

配置grub2

获取用于在非UEFI下启动的memdisk(linux用户可以直接从/usr/lib/syslinux/memdisk复制),下载syslinux,提取bios/memdisk/memdisk文件,放到boot目录下。

img

新建文件boot/grub/grub.cfg:

1
2
3
4
5
6
7
8
9
set timeout=0
insmod fat
set default=0
loadfont /boot/grub2/fonts/unicode.pf2

menuentry 'grub2-filemanager'{
linux16 /boot/memdisk iso raw
initrd16 /boot/grubfm.iso
}

制作完成。

使用方法

只需要把iso文件copy到U盘里,在grub2-filemanager的图形界面下以适当的方式启动即可,比如winpe(比如pe工具盘,win安装盘)用grub2dos方式;linux的cd则直接能被识别、引导。