所以,我得到了一个崭新的 LimeSDR。我有一台运行 Fedora 27(可能是 26,但我不这么认为)的联想 X230 笔记本电脑。我尝试了一段时间为 LimeSDR 安装软件,但遇到了奇怪的编译错误,所以我决定安装 Ubuntu 以使用 LimeSDR PPA。具体来说,我选择安装 XFCE 版本 Xubuntu。
Fedora 安装在笔记本电脑 128GB SSD 的加密分区上。我担心这种情况会发生,所以我试图找到一个可以不覆盖 Grub 而安装的 Xubuntu 副本,但没有成功。安装 Xubuntu 后,我得到了一个只有 Xubuntu 的 grub 提示符,这是我预料到的。然而,当我运行 时update-grub
,没有找到 Fedora。
└──> sudo update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.10.0-42-generic
Found initrd image: /boot/initrd.img-4.10.0-42-generic
Found linux image: /boot/vmlinuz-4.10.0-28-generic
Found initrd image: /boot/initrd.img-4.10.0-28-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done
这是加密磁盘解锁或未解锁时显示的内容。这些图像是 Xubuntu。我曾尝试从 grub 提示符手动启动 Fedora,但没有成功。我可以输入我尝试过的操作以及尝试手动启动 Fedora 时遇到的错误,但这需要一段时间才能完成,所以除非有必要,否则我不会这么做。
看了一会儿之后,我决定主要问题是update-grub
无法正确检测 Fedora,所以我决定专注于此。以下是磁盘解锁后的磁盘轮廓:
(sda2 是 Fedora,sda3 是 Fedora 安装程序设置的加密交换,sda5 是 Xubuntu,我很确定 sda1 是启动。我不知道 sda4 是什么。编辑:sda4 是一个包含 sda5 的扩展分区。)
└──> lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 111.8G 0 disk
├─sda4 8:4 0 1K 0 part
├─sda2 8:2 0 70.5G 0 part
│ └─luks-90a6d2b5-3b2f-45d5-8ddc-624d611822d5
│ 253:0 0 70.5G 0 crypt /media/vatrat/fedora_seabuoy-3
├─sda5 8:5 0 35.3G 0 part /
├─sda3 8:3 0 5G 0 part
│ └─luks-47f2f83b-4d85-42de-a4b8-f5ad6cd1c119
│ 253:1 0 5G 0 crypt
└─sda1 8:1 0 1G 0 part
我知道 Xubuntu 可以访问 sda2,因为我从中复制了一些文件。
答案1
我修复了它。我使用了来自https://fedoraproject.org/wiki/GRUB_2,我之前曾尝试过但没有成功。
我之前曾尝试使用标有“遇到可怕的 GRUB 2 启动提示”部分中的命令手动启动 Fedora。但是,每次我在 chroot 时都会遇到错误。我注意到标有“其他方案”的部分并尝试了它,并且能够从 grub 提示符成功启动到 Fedora。
insmod part_msdos
insmod xfs
insmod lvm
set root='hd0,msdos1'
configfile /grub2/grub.cfg
hd0,msdos1 是启动分区。我检查了一下,里面有一堆 Fedora 文件。在文件夹 grub2 中,grub.cfg 是 Fedora grub 配置。我不确定 Xubuntu grub 配置存储在哪里。两者有不同的主题。当我启动 Fedora 时,我运行了:
$ grub2-install /dev/sda
$ grub2-mkconfig -o /boot/grub2/grub.cfg
这检测到了 Fedora 和 Ubuntu,当我重新启动时,Fedora grub 出现了 Fedora 和 Ubuntu 的选项。
我不确定 Xubuntu 为何无法检测到 Fedora,也不知道以后如何防止这种情况发生,但我现在知道如果再次发生这种情况该如何修复。我也不确定要使用哪些选项才能手动启动 Fedora,但 grub.cfg 文件可以工作。