问题:
因为想用傲梅来给系统盘扩容,导致无法进入操作系统,报错如下:
无法加载应用程序或操作系统,原因是所需文件丢失或包含错误.
文件:Windowslsystem32lwinload.efi错误代码: 0xc000007b
你需要使用恢复工具。如果没有任何安装介质(0如光盘或 USB设备),请联系你的电脑管理员或电脑/设备制造商。
为了解决这个问题,网上有傲梅给到的解决方案:
傲梅解决方案:Winload.efi丢失或损坏怎么办?[5种方法]
但是我有一个神仙操作,导致后续有很多奇怪不一样的点,很多操作都是拒绝访问的:
里面涉及了很多关键的概念:
EFI
EFI(Extensible Firmware Interface)
概念:
-
EFI(尤其是 UEFI,统一可扩展固件接口)是替代传统 BIOS 的新一代启动标准。
-
在 EFI 模式下,操作系统的引导依赖于 EFI 系统分区(ESP),而不是传统的 MBR。
工作流程:
-
加载 UEFI 固件:计算机开机后,UEFI 固件会读取 EFI 系统分区。
-
加载引导程序:EFI 系统分区中存储着操作系统的引导文件(如 Windows 的
bootmgfw.efi
或 Linux 的grubx64.efi
)。 -
启动操作系统:UEFI 固件将控制权交给 EFI 引导程序,引导程序加载操作系统内核并启动系统。
MBR
MBR 位于磁盘的第一个扇区(0扇区),它的作用是启动计算机并引导操作系统的加载。MBR 中的引导代码负责执行以下操作:
- 定位系统分区:通过读取 MBR 中的分区表来确定操作系统所在的分区。分区表中存储了各个分区的起始位置、大小等信息。
- 加载引导程序:MBR 中的引导程序会根据分区表的信息,加载 活动分区(通常是存放操作系统的分区)上的引导程序。
- MBR 中的引导程序并不直接包含完整的操作系统,而是指向 系统分区,并将控制权交给系统分区中的引导程序。
- 在这个分区中,操作系统的引导程序(如 Windows 的
bootmgr
或 Linux 的grub
)会接管控制,并继续加载操作系统的核心文件,最终启动操作系统。
BCD
EFI 系统分区(ESP,EFI System Partition)
EFI 系统分区(ESP,EFI System Partition) 是一种用于支持 UEFI(统一可扩展固件接口) 启动标准的分区类型,通常位于硬盘或固态硬盘的 GPT(GUID 分区表) 磁盘结构中。ESP 是现代计算机系统(特别是使用 UEFI 固件的系统)引导操作系统的关键组件。
可能的解决方案:
看B站视频:一起来认识EFI与UEFI~ESP/EFI系统引导如何修复[折腾之王]_哔哩哔哩_bilibili
EFI引导的结构图
HP不是,只有Microsoft才是重要的
BCD(Boot Configuration Data):
BCD 是一个存储在硬盘上的文件或数据结构,主要用于 Windows 操作系统,用来描述和管理系统的启动配置。它在基于 UEFI 或 传统BIOS 的启动环境中都有作用。
- UEFI模式下:BCD 文件通常存储在 EFI 系统分区(ESP)中,用于描述启动项、操作系统、引导程序等的配置信息。
- 传统BIOS模式下:BCD 文件会被存储在系统分区上(如
\boot
目录),它存储了操作系统的引导配置,包括引导加载程序的位置、启动参数、引导项的顺序等。
尝试解决方案一:
重新建立UEFI
原来的是这样,做一个备份
截图如下
使用了之后,会报错BCD相关的错误。
然后使用windows自带的修复工具,又报错回原来的
是不是引导分区没有做好?
尝试解决方案二:
研究一下傲梅的解决方案,然后看看怎么解决,没有权限,就用带有管理员权限的命令提示符去解决问题。
按照文章下面的思路,
重新对分区进行了操作,执行到了最后一条指令
尝试解决方案三:
需要注意的是,在
使用该命令之后,会发现H:盘变得可读取了,之前不可读取,不可查看容量。
尝试解决方案四:
挂载新分区?