Linux efi分区被删除了,如何恢复意外删掉的EFI系统分区
适用范围
如果你的电脑以UEFI模式安装在了GPT磁盘上,那么如果EFI引导分区被意外移除后格式化,本文都可能帮的到你。当出现上述意外事件时,尝试启动会循环提示需要选择启动设备(Windows 10/8.1/7)并无法正常启动:Reboot and select proper boot device or insert boot media in selected boot device and press a key
GPT磁盘以UEFI模式安装Windows系统时的分区结构
在GPT磁盘上以UEFI模式安装windows系统。至少有如下几个分区存在
EFI 系统分区 (ESP - Extensible Firmware Interface) - 100 MB (分区类型- EFI)
微软预留分区 - 128 MB (分区类型 - MSR)
window系统安装分区 (windows安装的目标)
image.png
这几个分区在windows安装时被创建。
以上几个分区简介
EFI分区是一个FAT32格式的分区,基于UEFI模式将windows系统安装到计算机上时,这个分区是必须的,他的GUID为c12a7328-f81f-11d2-ba4b-00a0c93ec93b,大小为100MB(但是在扇区大小为4KB的磁盘上,该分区大小为260MB)
MSR(Microsoft System Reserved)分区,用于GPT磁盘的分区管理和维护(比如将磁盘由basic转为动态),它是GUID为e3c9e316-0b5c-4db8-817d-f92df00215ae的备份分区。这个分区未分配盘符,不能存储用户数据。Windows 10系统该分区只需16MB,windows 8.1则需要128MB,文件系统为NTFS。另外,MSR分区必须存在于EFI分区(ESP)和windows安装分区之间。
修复丢失的EFI分区
EFI分区
EFI分区类似于MBR/BIOS模式中的系统预留分区,存储着windows引导所需的BCD文件和其它所需文件。当计算机启动时,UEFI程序从EFI分区载入bootloader(EFI\Microsoft\Boot\bootmgfw.efi)并将后续引导控制权交由其控制,bootmgfw.efi将执行Windows Boot Manager并从BCD中载入引导配置数据,引导配置数据载入完成后,控制权交由winload.efi,winload.efi将接管后续windows引导完成windows系统启动
小知识
Winload.efi文件是一个可执行文件,位于windows安装目录X:\windows\system32\winload.ef(x代表系统安装分区),在UEFI环境中结合bootloader初始化并引导windows系统启动。(个人理解相当于Linux下的0号初始化进程,不知是否合适,实在没有找到相关信息,如有大神知道,请教!!!)
如果EFI分区被损坏或者被意外删除,系统将无法正常启动。UEFI会报"could not locate \efi\boot\bootx64.efi – not found"或者空的启动项选择菜单并提示“请指定启动设备”
还有一种情况,如果将EFI分区格式化成NTFS格式,在新安装系统时,会有下面报错显示
Windows detected that the EFI system partition was formatted as NTFS. Format the EFI system partition as FAT32, and restart the installation.
手动重建EFI和MSR分区
进入WinRE模式,打开CMD命令行,运行diskpart命令(如何进入Windows修复模式请自行百度)列出当前分区
diskpart
select disk 0
list partition
示例如下图,128M的时MSR分区,EFI分区丢失
image.png
重建EFI和MSR分区
Select partition 1 - 选中MSR分区
Delete partition override - 删除MSR分区
确保系统分区存在,本例中是9GB的NTFS分区
image.png
Select disk 0 - 选目标前磁盘
create partition efi size=100 - 新建EFI分区
为新建的分区分配盘符和label
list partition
select partition 1
format quick fs=fat32 label="System"
assign letter=G
新建MSR分区(Window 8.1 128MB, Windows 10 16MB)
create partition msr size=128
list partition
list vol
image.png
修复EFI bootloader 和 Windows BCD
新建EFI分区后,下一步就需要将EFI引导文件复制到其中并创建新的BCD(bootloader configuration file)
从windows系统安装分区复制EFI引导文件到新建的EFI分区
mkdir G:\EFI\Microsoft\Boot
xcopy /s C:\Windows\Boot\EFI\*.* G:\EFI\Microsoft\Boot
image.png
重建Windows BCD bootloader configuration
g: #切换到g(EFI分区)盘
cd EFI\Microsoft\Boot
bcdedit /createstore BCD
bcdedit /store BCD /create {bootmgr} /d “Windows Boot Manager”
bcdedit /store BCD /create /d “My Windows 10” /application osloader
命令最后会返回创建条目的GUID
image.png
bcdedit /store BCD /set {bootmgr} default {your_guid}
bcdedit /store BCD /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw.efi
bcdedit /store BCD /set {bootmgr} displayorder {default}
image.png
使用bcdedit设置默认启动项{default}配置
bcdedit /store BCD /set {default} device partition=c:
bcdedit /store BCD /set {default} osdevice partition=c:
bcdedit /store BCD /set {default} path \Windows\System32\winload.efi
bcdedit /store BCD /set {default} systemroot \Windows
exit
image.png
最后重启电脑完成修复。
Linux efi分区被删除了,如何恢复意外删掉的EFI系统分区相关推荐
- linux 软raid恢复,Linux软RAID部署系统分区之恢复攻略
Linux软RAID部署系统分区之恢复攻略 软RAID部署系统分区之恢复攻略 ChinaUnix网友:Jerrywjl 作为在几乎所有Linux发行版操作系统中所带的逻辑卷管理方式(LVM),其最大的 ...
- linux一,系统分区 Linux的盘符结构 Linux常用命令: 一,目录/文件的处理命令
文章目录 一,系统分区 Linux的盘符结构 Linux常用命令: 一,目录/文件的处理命令 一,系统分区 概念:在硬盘上产生文件系统的过程 第一步:磁盘分区(创建隔断) 分区规则:主分区最多只能分4 ...
- mongodb删库后恢复
mongodb删库后恢复 模拟删库恢复 1.重置mongo数据库副本集,准备干净环境 rm -rf /data/mongo_28017/* rm -rf /data/mongo_28018/* rm ...
- win+linux双系统卸载及EFI系统分区删除
针对UEFI+GPT模式下的双系统 昨天装了个优麒麟,额...用不惯,还老卡,算了还是用红帽系吧,又折腾着装了个CentOS8,在这里把双系统删除过程做个记录. 一,在windows磁盘管理器,选中l ...
- 善用EFI系统分区ESP
EFI系统分区,即 EFI system partition,简写为 ESP.ESP 是一个 FAT16 或 FAT32 格式的物理分区,但是其分区标识是 EF (十六进制) 而非常规的 0E 或 0 ...
- linux使用rm -rf删除数据后恢复
centos7 rm之后数据恢复的方式 仅供自己学习参考 如果文件没有被使用 初次测试发现基本无法恢复. 场景1 文件正在被程序使用 创建一个文件 并用tail -f一直读取文件信息 不要使用tail ...
- U盘安装ubuntu20.04 Linux系统分区方案 Invalid Partition Table
一.简介: 一般磁盘分区表有两种格式:MBR和GPT,目前主要的BIOS系统引导方式也有两种:传统的Legacy BIOS和新型的UEFI BIOS 如果主机BIOS系统引导方式采用传统的Legacy ...
- 计算机数据恢复教程视频,视频删了怎么恢复?小技巧帮你快速解决
视频删了怎么恢复?小技巧帮你快速解决 2019年07月03日 17:20作者:黄页编辑:黄页 分享 视频删了怎么恢复?如何能够将电脑上误删除的一些重要视频文件给恢复呢?相信很多人都想要知道这个答案,毕 ...
- 计算机本地用户删除后怎么恢复,Default User文件夹被删了怎样恢复
满意答案 opposities 2013.06.06 采纳率:80% 等级:24 已帮助:17327人 1.开机后出现"Windows 不能加载本地存储的配置文件.此问题的可能原因是安 ...
- Linux系统分区及LVM使用(一)
一.MBR分区 使用fdisk等分区工具,使用MBR(Master Boot Record)管理单个磁盘,这就决定了其分区表最多支持4个分区,分区类型包括主分区和扩展分区,逻辑分区可以被再次分割成多个 ...
最新文章
- Ajax异步调用Web服务的例子
- OpenVAS 开放式漏洞评估系统--安装及说明
- B2B平台推广技巧让网络营销更上一个台阶!
- 第九天2017/04/18(3、重载/覆盖 PK 重写/重定义、父类子类混搭风、抽象类)
- 木马开机启动的六种方法
- 【九度oj 1135】【OpenJ_Bailian - 2915】 字符串排序 (水)
- 腾讯首届“科学探索奖”获奖名单揭晓,每人将获300万奖金
- 运行Fast R-CNN的代码
- 为了自动驾驶,沃尔沃包养了激光雷达公司Luminar
- 求车牌号问题(C语言程序设计)
- 【windows系统】插入移动硬盘后,有盘符,但提示需要格式化的解决办法
- 显示断开连接ntp服务器,ntp服务器连接异常咋办
- 开源社区“大牛”关于“开源”的大讨论
- 想做游戏测试工程师?这几点不知道可不行!
- 7.4 用学习工具提高学习的效率——《逆袭大学》连载
- 上buff——状态模式
- 移动端表格 横向纵向自适应
- 基于javaweb的简单员工管理系统
- 读取groundtruth_rect.txt并转为数组
- HDFS常用命令汇总