本文目录导航
- 问题导入
- 第一种方法:diskpart新建efi并复制分区
- 压缩方法①:磁盘管理
- 压缩方法②:使用`diskpart`的`shrink`
- 第二种方法:使用diskgenius
- 总结
问题导入
笔者的电脑上两块硬盘(以下简称为A、B)先后安装了Windows 10系统,因升级需要将A替换为C,于是把A拆出来,接下来就遇到我们的问题了:EFI分区在A上,单条B无法开机!下面介绍一下在尝试网上方法无果后的解决方法
第一种方法:diskpart新建efi并复制分区
1.以管理员身份运行CMD1
2.输入diskpart
并回车
3.继续输入list disk
以查看本机磁盘
如图所示,笔者所用电脑有两个磁盘,对应序号0,1。以下是对这个界面的简单解释
列标 | 含义 |
磁盘### | 磁盘序号 |
大小 | 磁盘容量,可以用这个分辨磁盘 |
Gpt | 这个很重要,带 |
除上表所示数据外,如果无法分辨容量相同的硬盘,可以进入磁盘管理界面或使用CrystalDiskInfo等工具,此处不再详述
4.输入sel disk *
并按回车以选择要新建efi分区的磁盘(*代表磁盘编号,如sel disk 0
)
5.输入create partition efi size = 100
并按回车(这里的100指efi分区的大小,单位是MB,100也够用了,你也可以设置300等,注意不要小于原efi分区,因为要克隆过来)这时候我就开始出现问题了,我猜有的小伙伴执行结果如下图
找不到可用范围。可能没有足够的可用空间以指定的大小和偏移创建分区。请指定
不同的大小和偏移值或不指定其中的一个值来
创建最大的分区。可能是使用 MBR
磁盘分区格式对磁盘进行分区,并且此磁盘包含 4 个主分区,(
未创建更多的分区)
或 3 个主分区和
一个扩展分区,(只能创建逻辑驱动器)。
(没有遇到问题的朋友可以跳转到第7步)
那么这是什么原因呢?我们注意到在执行list disk
的时候有名为“可用”的一列。这个“可用”其实指的是磁盘未分配空间大小。很不幸的是笔者找到的教程都忘了提醒这一点,导致了新建分区直接失败
那我们切入正题,给他压缩100MB的空闲卷!
压缩方法①:磁盘管理
进入磁盘管理,右键目标卷,选择压缩卷,自定义分配多少空间
压缩方法②:使用diskpart
的shrink
具体我也不了解,感兴趣的朋友可以去搜一下,个人倾向于第一种方法,比较方便快捷
好的,回到我们的diskpart
,再看一下list disk
,可用有100MB了吧
6.再进行create partition efi size = 100
操作
这回就顺利创建分区了吧此时,我们可以看看磁盘管理的视图
可以看到右下角的efi分区即为刚才新建的7.输入list partition
回车显示所有分区,找到刚才新建efi分区的代号
如图,笔者的代号是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
这种方法和第一种原理也差不多,在进行完第8步后不使用diskpart而是diskgenius来克隆efi分区。
上图中esp分区为原来的efi分区,目标为将其克隆到HD0中创建新efi分区并分配完盘符后,得到下图所示的两个efi分区
之后把ESP(0)全盘克隆到ESP(3)就完成了引导信息的复制
总结
在创建efi分区之前记得先压缩卷!
在创建efi分区之前记得先压缩卷!
在创建efi分区之前记得先压缩卷!
- CMD路径:C:\Windows\System32\cmd.exe ↩︎