玩 Windows 的 BCD 时候,他的 bcdboot 有个参数 /f ALL 可以同时写入传统 BIOS 和 UEFI 两种方式的引导文件,使 U 盘同时支持 UEFI和 BIOS 两种引导。
回到 Linux 这边,发现安装 GRUB2 到 U 盘教程适用于 BIOS 挺多,而适用于 UEFI 很少,今天刚好实现了安装 UEFI 引导模式的 U 盘,拿出来分享一下。让需要的人少走弯。
有人说,用那些 iso 写 u 盘的工具不就可以了?如果这样的话通常 U 盘会被格式化掉!而我这里的方法只是写入 UEFI 模式的 GRUB2 引导文件,并不会破坏 U 盘现有文件!
环境:UEFI模式运行的 Ubuntu 16.04 (注意需要完整安装到硬盘上的,别用光盘启动的 Live)
U盘,普通MBR分区表结构的就可以,用FAT32格式化的,因为UEFI不支持在可移动磁盘上使用NTFS。
首先,使用 efibootmgr -w 对 MBR 磁盘写入签名,如下图。
附件:
2016-11-03 11-10-11屏幕截图.png [ 150.79 KiB | 被浏览 521 次 ]
如果不做这一步,那么在主板 CSM 开启的混合模式下可能无法UEFI启动。
接下来,挂载 U 盘,在里面新建一个叫 boot 的文件夹,使用 grub-install 将 GRUB2 的文件安装到里面。
附件:
2016-11-03 11-13-53屏幕截图.png [ 33.24 KiB | 被浏览 521 次 ]
参数 --boot-directory 指向刚刚新建的 boot 文件夹
参数 --efi-directory 指向 U 盘根目录
搞定后显示 x86_64-efi 平台的安装成功就妥了。
-----------------------------------------------
接下来进到 BIOS 引导的 Ubuntu 安装 BIOS 模式引导的 GRUB2 (可以使用光盘 Live )
参数 grub-install --boot-directory=(同样还是指向刚刚新建的 boot 文件夹) /dev/sdX 就可以了
-----------------------------------------------
最后 /boot/grub 下的两种引导架构的文件!
附件:
2016-11-03 04-17-44屏幕截图.png [ 47.49 KiB | 被浏览 500 次 ]
完毕!
可以上机测试了!