操作系统学习

问题:

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

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

文件: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:盘变得可读取了,之前不可读取,不可查看容量。

尝试解决方案四:

挂载新分区?

相关推荐
逆小舟3 小时前
【C/C++】指针
c语言·c++·笔记·学习
武文斌773 小时前
项目学习总结:LVGL图形参数动态变化、开发板的GDB调试、sqlite3移植、MQTT协议、心跳包
linux·开发语言·网络·arm开发·数据库·嵌入式硬件·学习
递归不收敛3 小时前
吴恩达机器学习课程(PyTorch适配)学习笔记:1.3 特征工程与模型优化
pytorch·学习·机器学习
kunge1v54 小时前
学习爬虫第四天:多任务爬虫
爬虫·python·学习·beautifulsoup
哲Zheᗜe༘4 小时前
了解学习MySQL数据库基础
数据库·学习·mysql
peter67686 小时前
pandas学习小结
学习·pandas
机器视觉知识推荐、就业指导6 小时前
STM32 外设驱动模块【含代码】:SG90 舵机模块
stm32·单片机·嵌入式硬件·学习
暴富奥利奥6 小时前
完成docker方式的ros环境配置
linux·学习·docker·容器
总有刁民想爱朕ha7 小时前
AI大模型学习(17)python-flask AI大模型和图片处理工具的从一张图到多平台适配的简单方法
人工智能·python·学习·电商图片处理
Larry_Yanan8 小时前
QML学习笔记(三十一)QML的Flow定位器
java·前端·javascript·笔记·qt·学习·ui