关于多硬盘电脑系统盘中没有EFI分区的解决方法

本文详细介绍了在更换硬盘时,如何解决EFI分区迁移问题,包括使用diskpart和diskgenius两种方法新建EFI分区并复制分区,确保系统正常启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题导入

笔者的电脑上两块硬盘(以下简称为A、B)先后安装了Windows 10系统,因升级需要将A替换为C,于是把A拆出来,接下来就遇到我们的问题了:EFI分区在A上,单条B无法开机!下面介绍一下在尝试网上方法无果后的解决方法

第一种方法:diskpart新建efi并复制分区

https://blog.csdn.net/luzhengda/article/details/51476397

1.以管理员身份运行CMD1

2.输入diskpart并回车
diskpart运行结果
3.继续输入list disk以查看本机磁盘
list disk运行结果
如图所示,笔者所用电脑有两个磁盘,对应序号0,1。以下是对这个界面的简单解释

列标含义
磁盘###磁盘序号
大小磁盘容量,可以用这个分辨磁盘
Gpt这个很重要,带*的意思是磁盘分区格式为GPT

除上表所示数据外,如果无法分辨容量相同的硬盘,可以进入磁盘管理界面或使用CrystalDiskInfo等工具,此处不再详述

4.输入sel disk *并按回车以选择要新建efi分区的磁盘(*代表磁盘编号,如sel disk 0)
sel disk 1执行完毕
5.输入create partition efi size = 100并按回车(这里的100指efi分区的大小,单位是MB,100也够用了,你也可以设置300等,注意不要小于原efi分区,因为要克隆过来)

这时候我就开始出现问题了,我猜有的小伙伴执行结果如下图
出错了!

找不到可用范围。可能没有足够的可用空间以指定的大小和偏移创建分区。请指定
不同的大小和偏移值或不指定其中的一个值来
创建最大的分区。可能是使用 MBR
磁盘分区格式对磁盘进行分区,并且此磁盘包含 4 个主分区,(
未创建更多的分区)
或 3 个主分区和
一个扩展分区,(只能创建逻辑驱动器)。

(没有遇到问题的朋友可以跳转到第7步)
那么这是什么原因呢?我们注意到在执行list disk的时候有名为“可用”的一列。这个“可用”其实指的是磁盘未分配空间大小。很不幸的是笔者找到的教程都忘了提醒这一点,导致了新建分区直接失败

那我们切入正题,给他压缩100MB的空闲卷!

压缩方法①:磁盘管理

进入磁盘管理,右键目标卷,选择压缩卷,自定义分配多少空间
磁盘管理中压缩

压缩方法②:使用diskpartshrink

具体我也不了解,感兴趣的朋友可以去搜一下,个人倾向于第一种方法,比较方便快捷

好的,回到我们的diskpart,再看一下list disk,可用有100MB了吧
压缩后
6.再进行create partition efi size = 100操作
操作成功
这回就顺利创建分区了吧

此时,我们可以看看磁盘管理的视图
两个efi分区
可以看到右下角的efi分区即为刚才新建的

7.输入list partition回车显示所有分区,找到刚才新建efi分区的代号
list partition!
如图,笔者的代号是5,则输入sel partition 5回车
sel partition 5
8.输入assign letter = *来为efi分区分配盘符,此处的*可以为DEFG等等 ,不要和电脑已经有的盘符重复,会报错

9.但此时efi分区是空的,并且不能访问。接下来重新打开CMD,输入bcdboot c:/Windows /s G: (这里C盘是系统所在的盘,G是efi分区盘)目的是把系统引导信息复制到efi分区里

这一步完成,我们的efi分区就复制完毕了。接下来可以把A硬盘拆掉并重启后进bios选择启动设备!

第二种方法:使用diskgenius

https://blog.csdn.net/luzhengda/article/details/51476397

这种方法和第一种原理也差不多,在进行完第8步后不使用diskpart而是diskgenius来克隆efi分区。
在这里插入图片描述
上图中esp分区为原来的efi分区,目标为将其克隆到HD0中

创建新efi分区并分配完盘符后,得到下图所示的两个efi分区
在这里插入图片描述
之后把ESP(0)全盘克隆到ESP(3)就完成了引导信息的复制

总结

在创建efi分区之前记得先压缩卷!
在创建efi分区之前记得先压缩卷!
在创建efi分区之前记得先压缩卷!


  1. CMD路径:C:\Windows\System32\cmd.exe ↩︎

### Windows 11 中 EFI 系统分区的数量 在 Windows 11 的默认配置下,通常只需要 **一个 EFI 系统分区 (ESP)** 来支持系统的 UEFI 启动[^1]。该分区用于存储操作系统所需的引导加载程序文件以及其他启动相关的数据。对于单系统安装(仅安装 Windows 11),这个单一的 ESP 已经足够满足需求。 如果用户计划在同一台计算机上设置系统环境(例如 Windows 和 Linux 双系统),则仍然可以共享同一个 EFI 系统分区来实现 UEFI 引导[^2]。在这种情况下,个操作系统的引导文件会被放置在这个公共的 EFI 分区中,而不是为每个操作系统单独创建额外的 ESP。 需要注意的是,在实际部署过程中,尽管理论上只需一个 EFI 分区即可完成任务,但在某些特殊场景或者特定硬件平台上可能会存在例外情况。比如部分厂商预装的操作系统可能出于管理便利或其他原因设置了额外的保护性或冗余分区结构;又或者是当硬盘被划分为个独立卷并分别作为不同OS的基础存储单元时,则有可能会见到不止一处标记有“EFI System Partition”的区域出现。 #### 关于 EFI 分区大小建议 针对 Win11 或其他现代操作系统而言,推荐分配至少 **260 MB 至 512 MB** 给 EFI 系统分区以确保有足够的空间容纳未来更新带来的新增引导组件以及第三方工具链的需求。 ```python # 示例 Python 脚本展示如何通过 WMI 查询当前机器上的 GPT 分区信息 import wmi def get_efi_partitions(): c = wmi.WMI() partitions = c.Win32_DiskPartition(Type="GPT") for partition in partitions: if "System" in partition.Description or "EFI" in partition.Description: print(f"Found EFI Partition: {partition.Name}, Size={partition.Size} bytes") get_efi_partitions() ``` 上述脚本可以帮助识别现有磁盘布局中的任何已定义好的 EFI 类型分片资源状况。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值