UEFI引导的简单恢复方法
装系统,尤其是双系统,总是无法绕过引导的坑。
linux的grub是非常复杂的引导系统,学习它非常累。而windows又不能引导linux。你可能会想,怎么就没有一种简单的引导方式,就好像引导光盘,引导u盘那样,插上去就能用呢?
因为传统的mbr引导设计得很小气,所以多个系统都拼命争夺那个小小的引导区域,而自己却又不懂得引导对方,所以就相互伤害,相互覆盖引导。但是,uefi横空出世,比较好的解决了这个问题。
但是如果你不熟悉uefi的原理,那么你会觉得这个uefi更加坑爹。电脑的东西,一定要先熟悉其原理,而不是浑水摸鱼,随便瞎搞,这样是没结果的。
uefi引导有两个条件:
1.有个引导区,叫ESP。
2.每个分区都是gpt分区格式的。这个分区格式是指用了新的分区表。
uefi可以兼容mbr传统格式,但没必要!旧的东西就是要被淘汰的。所以现在uefi的复杂性是因为兼容mbr,如果不去兼容,才能体现uefi的便利。
首先要在bios里面关闭兼容模式,csm 关了。安全启动也关了。然后能选的都选uefi。
设好之后,才是纯粹的uefi环境。
为什么uefi 引导会比较方便呢?因为以前是所有操作系统,都争夺一块小区域,现在uefi直接给你一个引导分区,每个系统只要把引导文件按照规定放在各自的文件夹,就ok了,大家相互可以不认识,也可以不知道对方是谁,也可以不知道怎么引导对方。这岂不是很完美?
esp就是这么一个地方,它实际上是一个普通的fat16格式(或fat32)分区(win98之前的默认格式),这种格式,几乎每个操作系统都认识,都能操作,所以就很便利。但是为了避免受到破坏,进入系统之后,系统会对其进行隐藏,所以要用特定的工具来访问它。
知道原理之后,就很容易设计引导方案了。
事实上,对windows来说,引导只需要两个文件,一个是引导程序,一个是配置文件。其中引导程序,只需要复制,而配置文件叫bcd,通过一个叫easybcd的工具可以配置。
当然,第一步你的硬盘必须先格式化为gpt格式的。但是如果你已经格式化了,也没关系,可以通过diskgenius的免费软件来转换成gpt格式,操作得当不会破坏数据。
esp分区新建如下目录结构:
efi/boot/
efi/microsoft/boot/
将windows系统里面的bootmgfw.efi 复制到第二个路径下,把配置好的bcd也复制过去。然后把bootmgfw.efi 复制一份,改名bootx64.efi复制到第一条路径下。
就这么简单,甚至第二步也不是必须的。bootx64.efi这里是计算机默认启动的路径,而microsoft下面的,是微软这个品牌的系统所使用的启动路径,如果bios足够聪明,它会直接在microsoft下面找引导程序.efi。
对于linux来说,同样的,它也可以建立一个linux的文件夹,或者随便什么名字的文件夹,把引导文件放进去就可以了。
特别的,bios 内部的存储区域还可以存储相关的引导路径信息(需要相关工具来设置这块区域),方便用户选择。所以为何有些系统的引导文件布局和以上有所不同。
除了esp分区,其他任何分区,都可以独立的被引导,甚至可以跨设备引导,因为gpt用一个很长的标记标识所有设备,可以认为是无冲突,独一无二的,因此理论上,不管引导文件存在那里,从那里开始引导,只要给出正确的设备号,都能找到对应的设备,从而进行正确的引导。因此,理论上当前设备esp有没有,也不是关键,只要在某个设备上有,这个引导程序可以引导所有连接到硬件系统的设备。这也是uefi 和gpt分区系统真正强大的地方,真正做到了随意引导,与位置无关。
比如我们可以把引导放在一个u盘里面,然后插上这个u盘才能使用电脑,这也是挺有趣的实践。不过我没试过。大家可以尝试一下。
UEFI引导的简单恢复方法的更多相关文章
- 图解MBR分区无损转换GPT分区+UEFI引导安装WIN8.1
确定你的主板支持UEFI引导.1,前期准备,WIN8.1原版系统一份(坛子里很多,自己下载个),U盘2个其中大于4G一个(最好 准备两个U盘)2,大家都知道WIN8系统只支持GPT分区,传统的MBR分 ...
- UEFI引导在GPT分区下安装win2008——抓住那只傲娇的win2008
上周遇到个客户DELL R520的服务器新采购了8块3T硬盘做备份服务器,raid配置5+1,一个磁21.8T.先用普通的装desktop OS的方法发现进去没raid盘,然后就按照官方的文档进入Li ...
- SQLServer 2008以上误操作数据库恢复方法——日志尾部备份(转)
问题: 经常看到有人误删数据,或者误操作,特别是update和delete的时候没有加where,然后就喊爹喊娘了.人非圣贤孰能无过,做错可以理解,但不能纵容,这个以后再说,现在先来解决问题. 遇到这 ...
- [转]SQLServer 2008以上误操作数据库恢复方法——日志尾部备份
原文出处:http://blog.csdn.net/dba_huangzj/article/details/8491327 问题: 经常看到有人误删数据,或者误操作,特别是update和delete的 ...
- UEFI引导修复教程和工具
参考 http://bbs.wuyou.com/forum.php?mod=viewthread&tid=323759 1. MBR分区表:Master Boot Record,即硬盘主引导记 ...
- Eclipse默认配色的恢复方法
Eclipse默认配色的恢复方法 很多搞开发的同学一开始不喜欢默认的eclipse白底配色,去网上千辛万苦搜到了很多黑底暗色的各种eclipse配色然后import上了,之后却发现并不适合自己,想找默 ...
- UEFI引导系统
UEFI引导系统 1 2 3 4 5 6 7 分步阅读 现在的电脑大多数使用了UEFI引导系统(原来都是使用BIOS),从而加快启动速度,但同时也给用惯BIOS的用户带来很多困惑!为啥电脑不能识别制作 ...
- SQLServer 2008以上误操作数据库恢复方法
解决方法: 对于这类问题,主要是找回误操作之前的数据,在2008之前,有个很出名的工具Log Exploer,听说还挺好用的,这个网上大把教程,这里就不多说了.但是唯一遗憾的是,不支持20 ...
- SQL Server 2008以上误操作数据库恢复方法——日志尾部备份
原文出处:http://blog.csdn.net/dba_huangzj/article/details/8491327 问题: 经常看到有人误删数据,或者误操作,特别是update和delete的 ...
随机推荐
- 谈一谈对象池SafeObjectPool能干什么
前言 首先从ado.net的连接池开始了解,数据库操作通常是 new SqlConnection(). Open(). 使用完后 Close(),整个过程相当耗时,特别是频繁建议套字接连接的过程.ad ...
- 刨根问底:if 后怎么就可以跟对象,变量交换写法是语法糖吗?
1.万物皆可布尔 一般语言中的 if 语句语法是这样的: if (条件表达式){ 执行语句} 而在 Python 中,if 后面不仅可以是条件表达式,还可以是任意对象.例如: my_list = ...
- css对齐方案总结
css对齐方案总结 垂直居中 通用布局方式(内敛元素和块状元素都适用) 利用flex:核心代码: 12345 .container{ display:flex; flex-direction:colu ...
- 一起学Android之Menu
概述 菜单(Menu)在Android开发中,是一种常见的用户界面组件,通过使用菜单Api可以给用户提供常见的一致的体验.本文主要讲解三种菜单的相关内容. 菜单的分类 选项菜单(OptionsMenu ...
- 操作系统:diskpart常用指令(使用diskpart实现分区管理)
配合磁盘管理一起食用,效果最佳.(我的电脑右键 -> 管理 -> 磁盘管理) status:列出主要命令 list:列出list下的命令 select disk 0:选择第一块磁盘 lis ...
- Ginger的第一篇博客
怀着无感的心情,没有技术的身体,写下第一篇博客作为标记. 目前应该会搞清楚数据结构上相关的操作.算法,然后用c语言实现后记录在博客. 我是有目标的咸鱼! 2019/4/19
- 查看三种MySQL字符集的方法(转)
MySQL字符集多种多样,下面为您列举了其中三种最常见的MySQL字符集查看方法,该方法供您参考,希望对您学习MySQL数据库能有所启迪. 一.查看MySQL数据库服务器和数据库MySQL字符集. m ...
- Java数据结构和算法 - 简单排序
Q: 冒泡排序? A: 1) 比较相邻的元素.如果第一个比第二个大,就交换它们两个; 2) 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数; 3) 针 ...
- springboot+aop切点记录请求和响应信息
本篇主要分享的是springboot中结合aop方式来记录请求参数和响应的数据信息:这里主要讲解两种切入点方式,一种方法切入,一种注解切入:首先创建个springboot测试工程并通过maven添加如 ...
- 【Android Studio安装部署系列】二十七、Android studio修改项目名称和包名
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 实际项目开发中可能碰到项目名称写错了或者需要修改,而且包名可能也想要修改,那么如何操作呢. 本文是在Android Studio3. ...