操作系统学习

问题:

因为想用傲梅来给系统盘扩容,导致无法进入操作系统,报错如下:

无法加载应用程序或操作系统,原因是所需文件丢失或包含错误.

文件:Windowslsystem32lwinload.efi错误代码: 0xc000007b

你需要使用恢复工具。如果没有任何安装介质(0如光盘或 USB设备),请联系你的电脑管理员或电脑/设备制造商。

为了解决这个问题,网上有傲梅给到的解决方案:

傲梅解决方案:Winload.efi丢失或损坏怎么办?[5种方法]

但是我有一个神仙操作,导致后续有很多奇怪不一样的点,很多操作都是拒绝访问 的:

里面涉及了很多关键的概念:

EFI

EFI(Extensible Firmware Interface)

概念

  • EFI(尤其是 UEFI,统一可扩展固件接口)是替代传统 BIOS 的新一代启动标准。

  • 在 EFI 模式下,操作系统的引导依赖于 EFI 系统分区(ESP),而不是传统的 MBR。

工作流程

  1. 加载 UEFI 固件:计算机开机后,UEFI 固件会读取 EFI 系统分区。

  2. 加载引导程序 :EFI 系统分区中存储着操作系统的引导文件(如 Windows 的 bootmgfw.efi 或 Linux 的 grubx64.efi)。

  3. 启动操作系统: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:盘变得可读取了,之前不可读取,不可查看容量。

尝试解决方案四:

挂载新分区?

相关推荐
云上艺旅13 小时前
K8S学习之基础七十四:部署在线书店bookinfo
学习·云原生·容器·kubernetes
你觉得20513 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
A旧城以西14 小时前
数据结构(JAVA)单向,双向链表
java·开发语言·数据结构·学习·链表·intellij-idea·idea
无所谓จุ๊บ14 小时前
VTK知识学习(50)- 交互与Widget(一)
学习·vtk
FAREWELL0007514 小时前
C#核心学习(七)面向对象--封装(6)C#中的拓展方法与运算符重载: 让代码更“聪明”的魔法
学习·c#·面向对象·运算符重载·oop·拓展方法
吴梓穆15 小时前
UE5学习笔记 FPS游戏制作38 继承标准UI
笔记·学习·ue5
Three~stone15 小时前
MySQL学习集--DDL
数据库·sql·学习
齐尹秦15 小时前
HTML 音频(Audio)学习笔记
学习
瞌睡不来16 小时前
(学习总结32)Linux 基础 IO
linux·学习·io
Moonnnn.16 小时前
运算放大器(四)滤波电路(滤波器)
笔记·学习·硬件工程