晚上无聊的时间做的,下班回来太累不想写代码,又没事可做,就把自己U 盘搞了一下做成了一个多启动盘。用起来算是蛮方便的吧,除去系统所占用的空间,其他的可以随便放文件啦什么的,省得dd 镜像到U 盘,dd 的镜像不一定能用不说,还带来诸多不便。
分区方案
分区方案大约是下面的样子:
根据个人爱好我是分了一个较小的ext4 分区和一个较大的NTFS 分区,前者用来储存/boot 目录,还有一些Linux 下需要保存权限的文件,NTFS 分区存放系统光盘镜像,和一些大块头的文件例如归档和视频。
安装GRUB2
这里使用GRUB2 作为Loader,首先分好区,其中必须要有一个可以保存文件权限的分区(建议ext4)。注意这里使用的是MBR 磁盘格式,如果你的U 盘是GPT 格式,可以直接使用root 权限将/dev/zero
dd到你的U 盘设备文件,然后使用cfdisk
重新设定磁盘格式为dos
。当然GPT 也能用,太麻烦。
分区完毕后建立一个名为/boot
的目录。之后使用gurb-install
安装GRUB2,假设这里你U 设备文件为/dev/sdb
,/boot
目录所在分区其挂载点为/mnt/usb2
:
sudo grub-install --target=i386-pc --recheck --boot-directory=/mnt/usb2/boot /dev/sdb
如果没有错误出现,那么就是安装成功了。如果安装出错,检查你的第一个分区是否留出了2048 个扇区,如果没有,那么请重新分区,让第一个分区至少从2048 的扇区号开始。
配置grub.cfg
安装完毕后就是配置了,下面来默认生成一个GRUB2 配置文件
sudo grub-mkconfig -o /mnt/usb2/boot/grub/grub.cfg
然后对这个配置文件进行一些修改,除了/etc/grub.d/00_header
和/etc/grub.d/41_custom
脚本生成的内容之外,其余的全部删除,现在你的GRUB2 配置文件在00_header 之后的部分大约是这个样子:
### BEGIN /etc/grub.d/10_linux ###
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###