UEFI和Legacy兼容启动U盘制作
应用场景
自己有一个可启动移动硬盘,是属于老式的BIOS启动方式,最近换了新电脑,因为电脑只支持uefi的启动方式,所以决心为移动硬盘增加uefi启动支持,如何将一个只支持BIOS启动(或者 Legacy启动)的U盘或者移动硬盘增加UEFI启动支持?
主要问题
网上有很多此类的资料,[http://blog.getreu.net/projects/legacy-to-uefi-boot/](Switch Debian from legacy to UEFI boot mode),https://blog.csdn.net/weixin_33939843/article/details/89650402,按方法的操作后始终不能支持用Legacy的方式启动,另外的所谓的要将主分区放在第二个的设置,仍然不能达到期望。最
知识要点
uefi启动并不直接要求分区表是gpt格式,他只要求分区中能找到esp分区,并且esp分区中有efi文件夹,在efi文件夹下,有boot文件夹,并且文件夹下有可启动的efi镜像。
制作办法
安装grub-efi
可以最开始就将 grub-efi 安装好,当然也可以后续安装
修改分区
利用gparted 、diskgenius 等工具修改移动硬盘分区,将MBR分区表改为GPT分区表(https://www.cnblogs.com/pinpin/p/10043295.html),增加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镜像。
UEFI和Legacy兼容启动U盘制作的更多相关文章
- 微软Windows 7 “可启动U盘”制作工具及使用方法,非常的简单
目前,用“可启动U盘”替代光驱光盘安装操作系统,已经成为一种时尚(至少对没有刻录机或不愿购买光碟的群体是这样).制作“可启动U盘”的方法和工具很多,区别无非是制作的难易程度和对“U盘类型”的支持程度. ...
- Linux启动U盘制作
Linux目前最好的u盘启动工具之一,下面介绍它的用法,首先下载Linux live OK了,一步一步跟我步骤走! 启动时,选择需要用的U盘 步骤二,就选择安装源即可(一般为ISO文件) 最后进行步骤 ...
- 怎么看系统是UEFI还是Legacy BIOS启动模式?
在命令行 cmd 中输入 msinfo32 ,找到右侧[BIOS模式],看到这里显示的是[uefi],那么说明是[uefi]方式启动的,反之显示为[BIOS],那么就是传统[BIOS]启动模式.如下 ...
- ubuntu14.04LTS下制作安装启动U盘
ubuntu自带的启动U盘制作工具在我的非UEFI电脑上无法启动,找到一个国产的好用东西:深度deepin-boot-maker. 下载地址(官方百度盘):点击下载 用起来也很简单,只需要选择下载好的 ...
- Linux U盘启动盘制作工具
近期由于自己使用的ubuntu系统一直出问题,想做一下启动盘帮助恢复系统和故障检测,以前一直是用ultraiso来进行写盘的,但是发现制作了几次后,失败的机率很高,主要有以下几种情况: 1.引导有问题 ...
- WinPE启动U盘的制作方法与软件下载(通用PE工具箱/老毛桃/大白菜WinPE)
转自:http://blog.sina.com.cn/s/blog_58c380370100cp5x.html 文件大小:39.5M(支持Win7安装,早期的通用PE工具箱,小巧不过几十兆,现在都臃肿 ...
- 计算机基础之Windows10操作系统安装U盘制作
1.第一步,下载Windows10--ISO镜像(Windows7类似),下载站点: https://msdn.itellyou.cn/(百度搜索msdn即可),个人认为这是最干净的操作系统镜像站点, ...
- 谁说NTFS不支持UEFI启动的?启动U盘放不了超过4G的文件怎么办?Server2016 Win10 U盘UEFI启动制作方法
大家都知道,我们平时做启动盘,用得最多的就是UltraISO(软碟通)这个工具了.用它我们可以很简单快速的把一个空白的普通U盘制作成一个PE启动U盘或系统U盘,然后用它来安装系统非常的方便,受到了广大 ...
- 制作UEFI(64位)下的WinPE + Ubuntu + Acronis多启动U盘
最近研究了一下如何制作一个多启动U盘,其中想包含的功能是WinPE(这里选择WEPE),Ubuntu 18.04,Acronis True Image 2018的ISO恢复盘.这里分享一下制作的经验和 ...
随机推荐
- MySQL中的注释符号有三种
①#... ②-- ... ③/*...*/ 注意事项: 其中...表示注释的文本内容 ★ 在使用-- ...注释内容时,需要在--和注释内容之间加一个空格符(如空格.tab.换行符等)
- Zabbix三种邮箱告警配置
环境 环境 IP地址 主机名 需要安装的应用 系统版本 服务端 192.168.23.140 zabbix lamp zabbix_server zabbix_agent CentOS 8 客户端 1 ...
- 从苏宁电器到卡巴斯基第11篇:我在苏宁电器当营业员 III
积分换礼的是是非非 在苏宁购物是需要会员卡的(免费办理),我们需要利用这个会员卡来开单,顾客的消费可以换算成积分,贮存在会员卡里面.这个积分可以用于积分换礼,比如电磁炉.乐扣保鲜盒或者其它一些家用器具 ...
- ubuntu14.04忽然不能登录,输入密码一直返回登录界面
解决方法: 1.ctrl + alt + F1进入命令终端 2.重装gdm,sudo apt-get install gdm 3.修改启动顺序:dpkg -reconfigure gdm 4.重启re ...
- hdu4884 模拟
题意: 一个厨师,他能炒n道菜,他每次炒菜用时t分钟,每次最多可以炒同样的菜k分,有m个人来买饭,给你每个人来的时间和菜的种类以及份数,问你每个人都是什么时候离开的. 思路: ...
- POJ1178枚举三个地方(所有点都去同一个点)
题意: 有一个国王和很多骑士,他们都要到某一个点去集合,然后问所有人都到达某个终点的距离和最小是多少?过程中如果国王遇到了一个骑士的话,国王就可以和骑士一起按照骑士的走法走,这是两个人算一 ...
- 【vue-06】webpack npm
什么是Webpack Webpack是一款模块加载器兼打包工具,他能把各种资源,比如js,css,less转化成一个静态文件,减少页面的请求,提高效率. 安装Webpack 在安装webpack之前, ...
- 使用TK框架中updateByPrimaryKey与updateByPrimaryKeySelective区别
int updateByPrimaryKey(T var1); int updateByPrimaryKeySelective(T var1); updateByPrimaryKeySelective ...
- java面试一日一题:如何判断一个对象是否为垃圾对象
问题:请讲下在java中如何判断一个对象是否为垃圾 分析:该问题主要考察对java中的垃圾回收,用什么方式去识别一个对象是垃圾: 回答要点: 主要从以下几点去考虑, 1.GC回收的是什么,回收发生在内 ...
- 初探MFC
MFC MFC(Microsoft Foundation Classes) 是微软基础类库,也就是用c++类将win32API封装起来. 应用程序对象 MFC程序都是以应用程序对象为核心,且程序中只有 ...