惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
美团技术团队
博客园 - 司徒正美
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
阮一峰的网络日志
阮一峰的网络日志
S
SegmentFault 最新的问题
博客园_首页
雷峰网
雷峰网
V
V2EX
The Cloudflare Blog
博客园 - 三生石上(FineUI控件)
量子位
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
V
Visual Studio Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
Jina AI
Jina AI
月光博客
月光博客
L
LangChain Blog

方寸之間

修复 Arch Linux 的内核缺失问题 - 方寸之間 安装定制化 Vim - 方寸之間 树莓派配置旁路由过程记录 - 方寸之間 Cloudflare Tunnel 不完全上手指南 - 方寸之間 解除 New Bing 地区和浏览器限制的方法 - 方寸之間 FRP 上手教程 - 方寸之間 深入理解 Linux nohup 命令 - 方寸之間 C++智能指针是什么 - 方寸之間 PGP 工作原理详解 - 方寸之間 Scaleway IPV6 server 申请及使用攻略 - 方寸之間 Arch Linux 升级系统提示签名无效 - 方寸之間 Arch Linux 音响有杂音的解决办法 - 方寸之間 Arch Linux 如何切换内核 - 方寸之間 Django 项目时区更改错误的解决方案 - 方寸之間 超简单的 Arch Linux + Windows 双启动教程 - 方寸之間 使用 UFW 配置 Linux 防火墙 - 方寸之間 Git 中的一个特殊 hash - 方寸之間 深入理解数据库事务 - 方寸之間 CRLF 和 LF 之间的区别与联系 - 方寸之間 DNS 的更新是如何工作的? - 方寸之間 浅析 Linux 的 cron 命令 - 方寸之間 如何快速查看 github 代码库中早期 commits - 方寸之間 黑科技:使用 GitHub 搭建自己的短链接服务 - 方寸之間 Build site with Franklin.jl - 方寸之間 iwd 的使用教程 - 方寸之間 超好用的 UML 工具推荐 - 方寸之間 ArchLinux 安装配置笔记 (Updated) - 方寸之間 如何将 Julia 添加到 Jupyter Notebook - 方寸之間 费曼技巧:最好的学习方式 - 方寸之間 How to Create Linux Desktop Entry - 方寸之間
如何恢复 Windows EFI 分区 - 方寸之間
Mercas · 2023-02-08 · via 方寸之間

最近在电脑上安装了最新的 Arch Linux,这次不同于之前,使用了 Gnome 的桌面环境,用起来还不错,所以就按照我之前的配置文件,光速配置了一下电脑。然而当我配置 Windows 双启动的时候,却找不到 Windows 的 EFI 分区了,很奇怪,我的两个系统安装在两个硬盘里,所以不存在我误操作删除 EFI 分区的问题。而且我在 Linux 系统还能挂载 Windows 的数据,数据也没有丢失。

然后我尝试搜索问题出现的原因,没找到,不过却找到了解决方案,方法倒是不是特别难,用到了一个 Windows 的bcdboot命令,这里记录一下。

操作流程#

第一步,准备一个 Windows 的安装介质,推荐使用Ventoy,开源免费,甚至不用格式化 U 盘!!

第二步,boot 进 live 安装系统,依次点击Repair Computer > Troubleshoot > Advanced > Command Prompt

第三步,进入命令提示符后,使用以下命令显示分区:

$ diskpart // 运行 diskpart

diskpart> list disk // 列出所有硬盘,每个硬盘都有一个编号(e.g. 0/1/2)

diskpart> sel disk <disk_id> // 选择 Windows 系统 EFI 分区所在的硬盘,如果不存在,则需要手动创建,具体下方`UPDATED`的详细说明

diskpart> list partition // 列出所有分区

diskpart> sel partition <id> // 选择 EFI 分区

diskpart> assign letter=F // 分配 EFI 一个新盘符

diskpart> exit //退出

$ bcdboot C:\Windows /s F: /f ALL // 创建所有 Windows boot files F

$ reboot //重启即可正常进入 Windows

额外操作#

UPDATED:

最近因为某种情况,Windows 启动项又消失了,这次甚至连 EFI 分区都没有了,所以又折腾了很久,这里再更新一下。 如果出现 EFI 分区直接消失的情况,可以通过重建 EFI 分区来解决,以下是具体操作步骤:

// 创建 EFI 类型的新分区

diskpart> create partition efi size=100

// 格式化

diskpart> format quick fs=fat32 label="System"

//分配卷标

diskpart> assign letter=L

diskpart> exit

X:Resources> bcdboot C:\Windows /s F: /f UEFI

如果最后提示以下内容,说明成功创建:

Boot files successfully created.

此时退出 CMD,然后重启电脑,进入 BIOS,应该就能看到 Windows 的启动选项了。

p.s. 有的时候,这里分配给 Windows 的系统分区的 letter 可能不是C,你要自己确认一下,可以使用list partition命令来查看具体在哪个分区(一般都有 label,比如系统或者OS之类的),确认之后,再执行上面的bcdboot,否则会创建失败。

总结#

总的来说,EFI 分区消失并不是什么太大问题,恢复起来也不是很麻烦,但是每次出现这个问题就很困扰,我到现在都不知道具体什么原因引起的,猜测应该是跟双系统有关,但是我的双系统在不同的硬盘里,很奇怪。