本文目录导航

  • 问题导入
  • 第一种方法:diskpart新建efi并复制分区
  • 压缩方法①:磁盘管理
  • 压缩方法②:使用`diskpart`的`shrink`
  • 第二种方法:使用diskgenius
  • 总结


问题导入

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

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

1.以管理员身份运行CMD1

2.输入diskpart并回车

刷BIOS出现SHELL 刷bios出现所选文件不是EFI_盘符


3.继续输入list disk以查看本机磁盘

刷BIOS出现SHELL 刷bios出现所选文件不是EFI_电脑硬件_02


如图所示,笔者所用电脑有两个磁盘,对应序号0,1。以下是对这个界面的简单解释

列标

含义

磁盘###

磁盘序号

大小

磁盘容量,可以用这个分辨磁盘

Gpt

这个很重要,带*的意思是磁盘分区格式为GPT

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

4.输入sel disk *并按回车以选择要新建efi分区的磁盘(*代表磁盘编号,如sel disk 0)

刷BIOS出现SHELL 刷bios出现所选文件不是EFI_Windows_03


5.输入create partition efi size = 100并按回车(这里的100指efi分区的大小,单位是MB,100也够用了,你也可以设置300等,注意不要小于原efi分区,因为要克隆过来)这时候我就开始出现问题了,我猜有的小伙伴执行结果如下图

刷BIOS出现SHELL 刷bios出现所选文件不是EFI_电脑硬件_04

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

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

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

压缩方法①:磁盘管理

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

刷BIOS出现SHELL 刷bios出现所选文件不是EFI_Windows_05

压缩方法②:使用diskpartshrink

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

好的,回到我们的diskpart,再看一下list disk,可用有100MB了吧

刷BIOS出现SHELL 刷bios出现所选文件不是EFI_盘符_06


6.再进行create partition efi size = 100操作

刷BIOS出现SHELL 刷bios出现所选文件不是EFI_Windows_07


这回就顺利创建分区了吧此时,我们可以看看磁盘管理的视图

刷BIOS出现SHELL 刷bios出现所选文件不是EFI_盘符_08


可以看到右下角的efi分区即为刚才新建的7.输入list partition回车显示所有分区,找到刚才新建efi分区的代号

刷BIOS出现SHELL 刷bios出现所选文件不是EFI_磁盘管理_09


如图,笔者的代号是5,则输入sel partition 5回车

刷BIOS出现SHELL 刷bios出现所选文件不是EFI_刷BIOS出现SHELL_10


8.输入assign letter = *来为efi分区分配盘符,此处的*可以为DEFG等等 ,不要和电脑已经有的盘符重复,会报错

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

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

第二种方法:使用diskgenius


这种方法和第一种原理也差不多,在进行完第8步后不使用diskpart而是diskgenius来克隆efi分区。

刷BIOS出现SHELL 刷bios出现所选文件不是EFI_电脑硬件_11


上图中esp分区为原来的efi分区,目标为将其克隆到HD0中创建新efi分区并分配完盘符后,得到下图所示的两个efi分区

刷BIOS出现SHELL 刷bios出现所选文件不是EFI_电脑硬件_12


之后把ESP(0)全盘克隆到ESP(3)就完成了引导信息的复制

总结

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


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