我首先在 stack overflow 上发布了此内容,但被关闭了,并建议在此处发布。
我第一次从头开始完成了 Linux 的构建部分(版本 10.0)。我选择从外部硬盘构建它,因为我的主机上几乎没有剩余空间。在按照 LFS 指南操作后,我在启动它时遇到了麻烦。
硬盘上的分区:
sdb1 = bios
sdb2 = 启动
sdb3 = root
sdb4 = 交换
这是我当前的 grub 配置:
# Begin /boot/grub/grub.cfg
set default=0
set timeout=5
insmod ext2
set root=/dev/disk/by-uuid/601dfc72-8481-40d6-bd42-1194dc574feb
menuentry "GNU/Linux, Linux 5.8.3-lfs-10.0" {
linux vmlinuz-5.8.3-lfs-10.0 root=/dev/disk/by-label/DESTROOT ro
}
“set root”选项设置为根分区的 uuid,菜单项中的“root”被标记为相同的根分区。我没有指向启动分区的任何内容,我觉得我应该这样做。
我关注了LFS 指南对于此配置,但将 (hd0,2) 等名称换成了我认为更具体的名称。
这是我当前的 fstab:
# Begin /etc/fstab
# file system mount-point type options dump fsck
# order
/dev/disk/by-id/wwn-0x5000c500ace19f9a-part3 / ext4 defaults 1 1
/dev/disk/by-id/wwn-0x5000c500ace19f9a-part4 swap swap pri=1 0 0
proc /proc proc nosuid,noexec,nodev 0 0
sysfs /sys sysfs nosuid,noexec,nodev 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /run tmpfs defaults 0 0
devtmpfs /dev devtmpfs mode=0755,nosuid 0 0
# End /etc/fstab
我尝试使用 supergrub2disk 进行引导,我可以使用 lfs 的菜单项进入 grub,这与拔下主驱动器并引导到外部驱动器的结果相同。当我选择该条目时。!EDIT- 请参阅下文!它开始引导并告诉我无法在 (hd0,0) 上安装内核。
编辑:我说错了,从 supergrub 启动时它告诉我
error: disk '/dev/disk/by-uuid/<uuid of root partition>' not found.
这是插入主驱动器、外部驱动器和 supergrub usb 后 lsblk 的输出
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 1 465.8G 0 disk
├─sda1 8:1 1 512M 0 part
└─sda2 8:2 1 465.3G 0 part /
sdb 8:16 0 1.8T 0 disk
├─sdb1 8:17 0 99M 0 part
├─sdb2 8:18 0 425M 0 part /mnt/lfs/boot
├─sdb3 8:19 0 27.4G 0 part /mnt/lfs
└─sdb4 8:20 0 2.8G 0 part
sdc 8:32 1 57.3G 0 disk
├─sdc1 8:33 1 148K 0 part
├─sdc2 8:34 1 2.8M 0 part
└─sdc3 8:35 1 16.6M 0 part
如果我可以提供更多信息,请告诉我。
感谢您的帮助和时间!!