我的笔记本电脑没有 CD-ROM。所以我使用YUMI创建了一个可启动的U盘,它似乎不支持UEFI。
我使用传统模式从 USB 启动并完成安装 ubuntu(只有一个操作系统)。现在我想切换到UEFI模式。如何?官方文档说从 UEFI 模式使用 livecd 并使用引导修复。但我没有 CD-ROM,并且 U 盘不支持 UEFI。我不能用这种方式。
我已经创建了 esp 并使用了 GPT,但是如何在传统模式下安装 grub UEFI?
~$ sudo gdisk -l /dev/sda
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 41943040 sectors, 20.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): E9A1D023-63F1-4014-A152-2C5741B77981
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 41943006
Partitions will be aligned on 2048-sector boundaries
Total free space is 4029 sectors (2.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 1026047 500.0 MiB EF00
2 1026048 41940991 19.5 GiB 8300
~$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda2 during installation
UUID=d2f2277b-478f-48af-96eb-cc0ee071d0fe / xfs defaults 0 1
# /boot/efi was on /dev/sda1 during installation
UUID=E432-31B3 /boot/efi vfat utf8,umask=007,gid=46 0 1
Run Code Online (Sandbox Code Playgroud)
首先,一个问题是为什么要切换到 EFI 模式启动。根据您的gdisk
输出,您似乎已经安装了单一操作系统,因此您似乎不需要与其他东西共存。如果您已经可以在 BIOS/CSM/legacy 模式下启动,为什么还要切换?俗话说:“如果它没有坏,就不要修理它”。(OTOH,我没有看到 BIOS 启动分区,所以也许您当前无法在 BIOS 模式下启动......)
不过,假设您有理由以 EFI 模式启动,那么让我们从头开始......
YUMI 并不是创建可启动 USB 闪存驱动器的唯一工具。您还可以使用dd
、UNetbootin、Startup Disk Creator、Rufus和其他工具来完成此操作。我提到的所有工具都能够创建可 EFI 启动的 USB 闪存驱动器,但需要注意的是 EFI 实现不同,因此在一个工具上有效的工具可能在另一个工具上不起作用。某些工具还具有可以影响创建的磁盘在一般情况下或在特定 EFI 上的工作效果的选项。因此,使用其他工具创建安装盘应该能够让您以 EFI 模式启动它(当然,假设您的计算机使用 EFI 而不是传统的 BIOS)。也就是说,如果您已经安装了,重新创建启动介质并重新安装就太过分了......
如果您的计算机上没有其他可启动操作系统,一种解决方案是EFI/BOOT/bootx64.efi
在EFI 系统分区(ESP;您的/dev/sda1
)上安装 EFI 启动加载程序。如果您手动安装,这很容易完成,但如果您使用像 之类的工具grub-install
,则必须在安装后手动移动文件。具体来说,EFI 版本grub-install
会将 GRUB 放入EFI/ubuntu/grubx64.efi
(可能与shimx64.efi
在同一目录中)。您必须将文件复制到正确的位置,以便在启动计算机时启动它们。如果安全启动处于非活动状态,请复制EFI/ubuntu/grubx64.efi
到EFI/BOOT/bootx64.efi
. 您可能还需要复制EFI/ubuntu/grub.cfg
到EFI/BOOT/grub.cfg
。如果安全启动处于活动状态,则情况会变得更加复杂;您必须复制shimx64.efi
到EFI/BOOT/bootx64.efi
并复制grubx64.efi
到EFI/BOOT/grubx64.efi
。(请注意,所有这些文件名都是相对于 ESP 的根目录的,因此,如果您要按照 所示安装分区/etc/fstab
,则必须添加/boot/efi/
到每个路径的开头。)安装了引导加载程序,EFI/BOOT/bootx64.efi
并且 NVRAM 条目中没有引用任何其他文件名,您的计算机应该从该“后备”文件名启动。
另一种选择是使用我之前提到的工具之一准备 Ubuntu 安装程序,然后以 EFI 模式启动它。完成此操作后,您应该能够在 EFI 模式下运行引导修复,因此它应该能够在该模式下设置 GRUB。事实上,即使在 BIOS 模式下,引导修复也应该能够复制 EFI 文件,如上一段所述。(不过,我不确定这在实践中效果如何;引导修复可能只是尝试进行 BIOS 模式修复,而不是尝试设置 EFI 后备引导加载程序。)
另一种选择是使用我的rEFInd 启动管理器来启动该过程。您可以下载 rEFInd 的 CD-R 或 USB 闪存驱动器版本并从中启动。rEFInd 应该检测您的 Linux 内核并允许您启动。如果有效,您将以 EFI 模式启动,然后您可以安装 rEFInd PPA 或 Debian 软件包以永久使用它(无需 USB 驱动器);或者您可以通过安装 GRUB grub-install
,它应该可以正确设置。(请注意,您需要安装EFI GRUB 软件包来设置 EFI 版本的 GRUB。)无论您以这种方式安装 rEFInd 还是 GRUB,它都能够设置 EFI NVRAM 条目,因为引导从 rEFInd USB 驱动器将进入 EFI 模式,从而使操作系统能够添加 EFI NVRAM 变量。grub-efi
grub-install
归档时间: |
|
查看次数: |
31814 次 |
最近记录: |