应对复杂的装机环境,bios/uefi,windows/linux。
假设已有一台装好grub(2.02)的linux系统。U盘的设备路径/dev/sdb。
U盘分区
-
使用mbr分区表
只有mbr分区表才能同时支持bios和uefi -
分两个区
/dev/sdb1大一些,日常存储文件用
/dev/sdb2用作esp分区(需要调整分区类型为ESP文件系统,加上boot标记)
挂载U盘
按照该对应方式挂载
/dev/sdb1 >>> /tmp/data /dev/sdb2 >>> /tmp/esp
安装grub引导文件
grub-install --target=i386-pc --boot-directory=/tmp/data/.boot /dev/sdb
安装uefi引导文件
grub-install --target=x86_64-efi --boot-directory=/tmp/data/.boot --efi-directory=/tmp/esp --removable
grub.cfg
如果安装成功,在/tmp/data/.boot下应该有grub目录。创建/tmp/data/.boot/grub.cfg即可。
可通过${grub_platform}变量判断是bios还是uefi,可以用来加载不同的配置文件。
if [ "${grub_platform}" == "efi" ]; then menuentry "Microsoft Windows Vista/7/8/8.1 UEFI-GPT" {
insmod part_gpt
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --set=root $hints_string $fs_uuid chainloader /EFI/Microsoft/Boot/bootmgfw.efi
} fi if [ "${grub_platform}" == "pc" ]; then menuentry "Microsoft Windows Vista/7/8/8.1/10 BIOS-MBR" {
insmod part_msdos
insmod ntfs
insmod search_fs_uuid
insmod ntldr
search --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 69B235F6749E84CE
ntldr /bootmgr
} fi
想了解更多关于使用grub2制作bios和uefi双启动u盘的内容,请扫微信
或微信搜索jiemingpan
版权说明:本文版权由作者自行负责,如有侵权请联系本站删除。