如何以正确的方式使用 UEFI 重新安装 Ubuntu?

如何以正确的方式使用 UEFI 重新安装 Ubuntu?

我决定从 Ubuntu 13.10 迁移到 12.04 LTS,所以我下载了 .iso 映像并将其写入我的 USB 记忆棒。在安装过程中,在对硬盘进行分区的阶段,我遇到了一个问题。

我有两个大分区(Windows 分区、文件分区),它们都很清楚。但我还有两个小分区。第一个是 FAT32,大小为 100MiB,其中有 Windows 引导加载程序文件、Ubuntu 引导加载程序文件。第二个是 128MiB 大小,未知文件系统,“msftres”标志。

我该怎么做才能正确安装 Ubuntu?据我所知,我应该选择第一个 100MiB FAT32 分区作为 EFI 分区,但我担心 Windows 引导加载程序文件会被破坏。请帮帮我。

答案1

如果已经有 efi 分区,则无需执行任何操作。只需将其挂载到 /boot/efi。然后安装程序将为您完成所有操作。

对我来说,sda3 是 \efi,sda8 是 /boot,所以我需要做的是

mount /dev/sda8 /boot
mkdir /boot/efi && mount /dev/sda3 /boot/efi

最后看起来像:

housezet@arch: ~
$ lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda       8:0    0 931.5G  0 disk 
├─sda1    8:1    0   260M  0 part 
├─sda2    8:2    0   1.5G  0 part 
├─sda3    8:3    0   260M  0 part /boot/efi
├─sda4    8:4    0   128M  0 part 
├─sda5    8:5    0 845.1G  0 part /home/win
├─sda6    8:6    0   392M  0 part 
├─sda7    8:7    0  33.9G  0 part 
├─sda8    8:8    0   500M  0 part /boot
├─sda9    8:9    0  19.5G  0 part /
├─sda11   8:11   0    27G  0 part /home
└─sda12   8:12   0     3G  0 part [SWAP]
sr0      11:0    1  1024M  0 rom 

housezet@arch: ~
$ ls /boot
efi  initramfs-linux.img  vmlinuz-linux

对于“msftres”标志,请参阅以下问题: 格式化 msftres、msftdata 和隐藏分区是否安全?

答案2

在 12.04 中你应该不是选择引导选项与 Windows 一起安装,因为这将创建第二个 EFI 系统分区 (ESP)。(据我所知,每个硬盘驱动器应该只有一个 ESP,但我可能错了,或者实现方式不同。)

相反,选择手动指定分区布局,并选择使用已包含 Windows 引导加载程序文件的现有 ESP 作为 Ubuntu 安装的 ESP。通过选择该预定义选项,分区将不会被格式化(复选框被禁用),Ubuntu 的引导加载程序文件应该只复制到\EFI\ubuntu\.\EFI\Boot\\EFI\Microsoft\目录应该保持不变。

按照@RodSmith的建议备份ESP的内容总是一个好主意。如果出现问题,您只需将文件复制回来,如果Windows启动项本身被删除,您可以使用efibootmgrbcfg通过UEFI 外壳。但是 Ubuntu 的安装程序只会创建 UEFI 启动菜单条目,而不会删除任何条目。您还可以运行bcdboot以从另一个 Windows 安装或安装媒体修复损坏的 BCD 配置。

相关内容