我的电脑上安装了 Arch,但双启动 Windows 10 需要 UEFI。
如何将 BIOS 转换为 UEFI?且不丢失数据。
答案1
这些 Arch Wiki 文章将会很有用:
- https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface
- https://wiki.archlinux.org/index.php/Boot_loaders
首先,你需要创建一个EFI 系统分区(ESP),它将包含 UEFI 引导加载程序;它将在 Windows 和 Linux 之间共享。这无关紧要在哪里在磁盘上分区是,但它的大小至少应为 256 MB(用于将来的扩展)。因此,如果需要,请使用 GParted 缩小一些分区。
确保设置正确的类型代码 - ESP 有其自己的特殊类型,在 gdisk 中显示为“EF00”,在现代 fdisk 中显示为“1 - EFI System”,在 parted/GParted 中显示为“esp”,或在其他一些工具中显示为 C12A7328-F81F-11D2-BA4B-00A0C93EC93B。
(MBR 磁盘对 ESP 使用类型“EF”,但这无关紧要,因为您已经有 GPT。)
将 ESP 格式化为 FAT32(mkfs.vfat)。
现在你有两个选择:
将 ESP 挂载到 上
/boot
,将所有现有文件从 /boot 移至该分区。如果您计划使用 systemd-boot 或类似的引导加载程序,这是最简单的方法。将 ESP 挂载在 上
/boot/efi
。这避免了一些定义不明确的问题,但会导致其他问题(例如,每次升级后都必须将内核从 /boot 复制到 /boot/efi...)
就我个人而言,为了简单起见,我会选择该/boot
选项。
安装引导加载程序。GRUB 2、systemd-boot、syslinux 支持 UEFI。
由于您当前正在使用 BIOS 模式,因此无法访问 EFI 变量,所以引导加载程序将仅安装到“后备”位置<esp>/EFI/Boot/BOOTX64.EFI
。
因此你需要重新启动——确保从现在开始选择 UEFI 模式——并安装引导加载程序再次。这次它还会将自身添加到 UEFI 提供的启动菜单中。(稍后,Windows 也会将自身添加到同一菜单中,因此您可以安装 Windows,而不需要修复 Linux。)