如果磁盘中存在两个以上的ESP(EFI)分区,利用原生镜像制作的U盘启动盘安装Win10时候会报如下错误:
Setup was unable to create a new system partition or locate an existing partition
相信玩双系统的各位手头肯定还是有Linux的PE环境的,利用Linux的PE环境(甚至硬盘上安装的Linux)先用dd命令备份多余的ESP分区(这个多余相对于某个你想安装win10的efi文件的ESP分区而言):
sudo dd if=/dev/sda2 of=/dev/sda3/esp.iso
或者
sudo dd if=/dev/nvme0n1p2 of=/dev/nvme0n1p3/esp.iso
以上两种分别对应SATA协议和NVME协议硬盘的ESP分区备份的命令,具体分区号参考自己电脑的情况修改.
dd命令的一大好处是复制磁盘分区时候将磁盘分区的UUID号一并复制了,这样日后从备份恢复的时候,不用修改Linux的fstab文件去重新挂载分区.dd命令里面,if后面跟上输入对象(被复制对象,可以是文件或者分区或者目录),of后面跟上输出对象(可以是分区或者文件).
(当然也可以不备份,如果你愿意玩崩了重建引导的话)
备份完以后,在Linux中将多余的ESP分区改为普通FAT32分区(也许是普通FAT16分区)即可,如果不用命令行的话,可以使用Gnome桌面里的gnome-disks程序,或者Gparted来进行.
*使用gnome-disks的话,直接右击ESP分区,然后edit partition即可,将分区类型从EFI System改完Basic Data(FAT 32)即可.
*使用Gparted的话,把Label的Boot,Esp
flag取消掉即可.
这样,在将多余的ESP分区改完普通FAT32分区以后,再安装win10应该就不会报错了.
安装完以后,被更改的ESP分区恢不恢复就看具体情况了,根据UEFI标准的说法,只要磁盘上某个格式化为FAT32文件系统的分区下面存在有/EFI/Boot目录,那这个目录下面的efi文件其实都能被启动,具体就看你的电脑主板支不支持这样了,很多主板是开机自动扫描所分区查看是否有/EFI/Boot目录里有efi文件存在的,
如果无法识别出被更改的ESP分区里的启动项的话,那再使用gnome-disks或者gparted改回来即可.必要时候可以使用dd命令再恢复一下ESP分区即可.
网友评论