Catalogue
机器上安装有两个linux 但是由archlinux 自动生成的grub.cfg,无法引导另外一个linux,于是趁着这个机会学习一下手动引导grub。
手动引导安装sway的linux,这个系统是ext4文件系统,使用GUID磁盘分区表(GUID Partition Table,缩写:GPT)。
进入到grub 引导菜单的时候,按e进入编辑界面,再按f2 进入黑呼呼的命令行。先运行 ls -al 查看一下系统的硬盘分区。
对比一下知道自己安装sway的linux 根分区是在 HD0,GPT6 上面,没有单独的boot 分区,于是按照arch wiki
直接这样输入:
1 | grub> set root=(hd0,gpt6) |
这样,这个linux就启动啦
另外一个系统使用btrfs文件系统,安装在一块nvme_ssd上面
还是先 ls -al 查看详细的磁盘分区情况,可以看到系统的根分区是安装在 hd2,gpt3 ,boot 分区是单独的 hd2,gpt1 fat 分区, 于是这样引导
1 | grub> set root=(hd2,gpt3) |
如果不使用 UUID 引导的话,可以使用 cat 查看 fstab文件, 第二行设置 root 的地方修改一下
1 | cat (hd2,gpt3)/@/etc/fstab |
无法引导的原因是这一行
1 | #grub> initrd /boot/initramfs-linux.img |
变成了
1 | grub> initrd /boot/intel-ucode.img |
改成上面那个就好了