![尝试安装 Windows 8.1 作为辅助操作系统,错误检测 EFI 分区](https://linux22.com/image/1425074/%E5%B0%9D%E8%AF%95%E5%AE%89%E8%A3%85%20Windows%208.1%20%E4%BD%9C%E4%B8%BA%E8%BE%85%E5%8A%A9%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%8C%E9%94%99%E8%AF%AF%E6%A3%80%E6%B5%8B%20EFI%20%E5%88%86%E5%8C%BA.png)
目前,我已安装 Arch Linux 作为我的主要操作系统,并希望安装 Windows 8.1 作为辅助操作系统,这样我就可以使用某些特殊硬件(目前没有 Linux 驱动程序的捕获卡)而不放弃我的主操作系统。
我有一个格式化为 FAT32 的 EFI 分区作为我的第一个分区,它在 Arch 中作为 /boot 安装,并且 GRUB 和正确的 EFI 启动文件都安装在该分区上。该分区上有 477MB 的可用空间,因此我认为 Windows 8.1 可以重复使用该分区来存储自己的 EFI 文件,只需向 UEFI 固件注册一个新条目即可。
无论它是否重用该分区,我的硬盘上都有大约 750GB 的未分配空间,我将把这些空间分配给 Windows 8.1。当我要将 Windows 8.1 安装到这个未分配的空间时,我输入了我的产品密钥,选择自定义安装,然后选择要安装 Windows 的未分配空间。它短暂地开始安装,但随后会弹出一个错误,声称我的 EFI 分区格式化为 NTFS。这是错误的,我知道它格式化为 FAT32。
快速谷歌搜索表明,也许我使用的 USB 安装介质是 NTFS 格式的,所以我仔细检查了一下,发现它确实是 FAT32 格式的。我不知道我做错了什么,也不知道为什么它认为我的 EFI 分区是 FAT32 格式的,但事实并非如此。
编辑:这是 gdisk 的输出,根据要求
gdisk -l /dev/sda
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 3907029168 sectors, 1.8 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): EB7B1BE6-5D74-44D9-81FD-616FCC19F20C
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 1674610797 sectors (798.5 GiB)
Number Start (sector) End (sector) Size Code Name
1 2048 1050623 512.0 MiB EF00 EFI System
2 1050624 68159487 32.0 GiB 8300 Linux filesystem
3 68159488 135268351 32.0 GiB 8300 Linux filesystem
4 135268352 2232420351 1000.0 GiB 8300 Linux filesystem
它不输出文件系统。如果你想要的话,以下是 GParted 对 /dev/sda 的结果截图
答案1
EFI 分区应安装在 /boot/efi 上,而不是 /boot。这是 GRUB 放置 EFI 加载器的地方。/boot 用于内核映像和 initrd。我不确定您实际上是在 EFI 模式下启动的...检查 /sys/firmware/efi 是否存在。
不确定 Windows 想要您做什么,但请尝试以下操作:
mkdir /boot.NEW
,将所有内容从 /boot 移至 /boot.NEWumount /boot
rmdir /boot
mv /boot.NEW /boot
mkfs.msdos -F 32 /dev/sda1
mkdir /boot/efi
mount /dev/sda1 /boot/efi
apt-get install --reinstall grub-efi-amd64
检查 EFI 条目是否已安装:sudo efibootmgr
以 EFI 模式重新启动;如果成功,继续 Windows 安装。
您必须处于 EFI 模式,GRUB 才能安装 EFI 映像。如果您不是(/sys/firmware/efi/ 不存在),您必须在 EFI 模式下从 EFI 棒或 CDROM 启动,然后在执行上述操作之前进行 chroot,例如
mount /dev/sda2 /mnt
cp /etc/resolv.conf /mnt/etc/
mount -B /dev /mnt/dev
mount -B /proc /mnt/proc
mount -B /sys /mnt/sys
mount -B /dev/pts /mnt/dev/pts
chroot /mnt