目录[-]
前言: 生命不息,折腾不止。在折腾中进步,在踩坑中成长。
准备开整U盘一枚(4G容量以上,备份好数据,一会可能要重新格式化)
可用的任意操作系统,64位(32位就不要折腾UEFI了)
UEFI与ESP预备知识,限于篇幅就不详细介绍了,自己看文档原理
USB启动的原理就不多做讲解了,有兴趣的话找找相关的文档,介绍很多,也很详细,跟硬盘引导过程差不多。注意的是BIOS+MBR模式和UEFI+GPT模式是不同的。
基本步骤
先说一下我的环境,金士顿16G U盘一个,操作系统是Deepin 2014.3 64bit,基于Ubuntu
14.04,其他类似的系统可以类比。Linux系统本来就使用grub引导(不要在CentOS/RHEL 6及以下版本折腾了,那个是Grub
Legacy,已经不维护了),折腾起来要比其他操作系统方便的多,软件仓库就有grub相关的软件包,也不需要单独安装太多东西。Windows下可以
用grub2win,原理是一样的。
步骤一: 格式化U盘
想要支持UEFI引导,GPT是不可少了,而且GPT是兼容MBR了。所以第一步需要先将U盘格式化为GPT分区,这样efi文件可以和MBR共存,实现UEFI和BIOS双支持。
Linux下支持GPT分区的工具: parted,
gdisk。大致的步骤就是使用gdisk(命令和操作方式几乎和fdisk完全一样,只是支持GPT),或parted对U盘重新分区,然后标记
ESP。如果用gdisk,只要给分区标记EF00编号即可,如果用parted,给分区boot标记即可。命令行就不演示了,很简单,我这边截图使用图
形化工具gparted分区,同样结果也是GPT分区。
图形化的gparted操作也很简单,建立GPT分区表,分区,格式化为FAT32(注: 尽管ESP支持多种分区,但是为了通用性与兼容性还是建议FAT32),标记分区为boot
这样U盘处理就完成了,使用gdisk或parted显示一下U盘的信息,看到这样的信息就是OK的$ sudo gdisk -l /dev/sdb # 根据你的U盘的名字修改dev设备GPT fdisk (gdisk) version 0.8.8Partition table scan:
MBR: protective # <===========&