我需要在 Linux Ubuntu 计算机上将 BIOS Legacy 转换为 UEFI无需重新安装 Linux本身和没有互联网。我已经设法通过互联网做到了这一点,但如果没有互联网,似乎就会很成问题(不过,我还有另一台可以连接互联网的电脑)。
我已经到了删除 Legacy 的地步grub-pc
。之后我就卡住了。我无法安装grub-efi
。
以下是我目前所做的:
- 获取带有 Ubuntu 的 LiveUSB(这很复杂。即使我已经安装了 Linux,但其中没有任何内容,所以我必须使用 LiveUSB。这不是问题 xD)。
- 创建 EFI 分区,将其格式化为 fat32,设置 boot 和 esp 标志。(使用 GParted)
- 挂载我的分区:
$ sudo mount /dev/sda1 /mnt
$ sudo mount /dev/sda3 /mnt/boot/efi
$ sudo mount --bind /sys /mnt/sys
$ mount --bind /proc /mnt/proc
$ mount --bind /dev /mnt/dev
$ mount --bind /dev/pts /mnt/dev/pts
- 检查了我的 fstab,我的 EFI 分区在那里:
$ ls -lh /dev/disk/by-uuid # UUID=AA93-B9F4 /boot/efi vfat defaults 0 1
现在,我开始遇到问题了。
- 在我的在线电脑上,我下载了带有所有依赖项的 grub-efi-amd64,如下所示:
$ apt-get download $(apt-rdepends grub-efi-amd64 | grep -v "^ " | sed 's/debconf-2.0/debconf/g')
...并将它们复制到 USB。
- 我删除了旧的 GRUB:
$ sudo apt-get purge grub-pc
- 将软件包复制到离线计算机,将目录更改为我复制它们的位置,然后使用
$sudo dpkg -i *
就是这样。什么都没发生。软件包似乎安装得很好,我的 ubuntu 甚至显示在 efibootmgr 中,但只要我重新启动计算机,我就没有选项了。它不起作用,我不知道如何以 root 身份安装这些软件包(显然,我应该先$sudo chroot /mnt
安装 grub),也不知道这是否重要。
我对 Linux 还只是个菜鸟,所以很高兴能得到任何帮助 :c
谢谢,拉里萨