UEFI和Legacy兼容启动U盘制作
应用场景
自己有一个可启动移动硬盘,是属于老式的BIOS启动方式,最近换了新电脑,因为电脑只支持uefi的启动方式,所以决心为移动硬盘增加uefi启动支持,如何将一个只支持BIOS启动(或者 Legacy启动)的U盘或者移动硬盘增加UEFI启动支持?
主要问题
网上有很多此类的资料,Switch Debian from legacy to UEFI boot mode,中文翻译,按方法的操作后始终不能支持用Legacy的方式启动,另外的所谓的要将主分区放在第二个的设置,仍然不能达到期望。最
知识要点
uefi启动并不直接要求分区表是gpt格式,他只要求分区中能找到esp分区,并且esp分区中有efi文件夹,在efi文件夹下,有boot文件夹,并且文件夹下有可启动的efi镜像。
制作办法
安装grub-efi
可以最开始就将 grub-efi 安装好,当然也可以后续安装
修改分区
利用gparted 、diskgenius 等工具修改移动硬盘分区,将MBR分区表改为GPT分区表(两者主要的区别),增加esp分区(ESP虽然是一个FAT16或FAT32格式的物理分区),大小根据启动文件的大小而定,100Mb一般够用,再用分区工具将GPT分区表格式直接转换为MBR分区表,这才是重点。
重新安装GRUB
启动Debian Live CD 重新安装 grub。
挂载文件系统
主要是为下步chroot中操作设置环境,所以,至少要挂载 / ,/boot,/boot/efi, /dev/, /dev/pts ,/proc, /sys,其他视情而定,比如tmp,var 等单独分区的话还要单独挂载。以下是一个示例。
# mount /dev/sdb1 /mnt/boot # mkdir /mnt/boot/efi # mount /dev/sdb2 /mnt/boot/efi # for i in /dev/ /dev/pts /proc /sys ; do mount -B $i /mnt/$i ; done
注意 这是一个示例,/dev/sdXX根据实际进行修改,示例代码中 /dev/sdb1 是我们原boot分区,/dev/sdb2是我们新建的esp分区。
如果前面没有安装 grub-efi,可能需要在chroot里面访问网络,则要进行正确的网络设置,当然,如果你移动硬盘中系统本来就可能访问网络,则不需求进行其他设置。
将esp分区加入fstab
查看esp分区的uuid。
# ls /dev/disk/by-uuid
fat32格式一般是形如 ABCD-EFGH 的样子,可能看到多个esp分区分辨不出来,其实在分区工具中新建的时候可以记下来。
将分区设置为自动挂载。
# echo "UUID=ABCD-EFGH /boot/efi vfat defaults 0 2" >> /mnt/etc/fstab
当然这也可以在进入到chroot环境后再设置,只是/mnt/etc/fstab 变为 /etc/fstab罢了。
进入chroot环境
# chroot /mnt
安装efi启动文件
# grub-install /dev/sdb
其他设置
Debian 9 系统上安装启动文件后,在esp分区的efi文件夹中会生成 debian文件夹,没有boot文件夹,将其复制一份
# cp -r debian boot
总结
uefi启动并不直接要求分区表是gpt格式,他只要求分区中能找到esp分区,并且esp分区中有efi文件夹,在efi文件夹下,有boot文件夹,并且文件夹下有可启动的efi镜像。
- 装机员U盘启动PE制作工具V5.0(UEFI+UD+自动安装MSDN版系统)
- U盘UEFI启动制作方法
- 装机员U盘启动PE制作工具V4.0(UEFI+UD)
- 装机员U盘启动PE制作工具V5.0(UEFI+UD+首发自动安装MSDN版系统)
- 在UEFI模式下安装Ubuntu(一)——制作UEFI模式启动U盘
- PE制作-002.UEFI和Legacy双启动之Legacy启动
- PE制作-001.UEFI和Legacy双启动U盘文件结构
- 大白菜U盘启动制作工具v5.1 Win8PE兼容装机版
- 170821 制作UEFI模式Ubuntu启动U盘
- 怎么制作支持UEFI启动Win10系统安装U盘
- 如何制作支持Legacy BIOS和UEFI BIOS两种模式启动的Windows PE
- BT5的 U盘启动 制作
- 使用UNetbootin工具制作的CentOS 6.9镜像U盘在启动安装过程中出现:unable to read package metadata.this may be due to a missing repodata directory
- Linux环境下制作启动U盘
- Ubuntu系统下制作U盘启动系统盘
- 制作U盘启动 CDLinux--破解路由器必备工具
- 制作mac U盘启动
- 制作grub2引导的启动U盘
- 快速制作linux启动U盘
- 用UltraISO制作的u盘ubuntu11.04,启动失败解决方案