引导 Linux 的 rootfs 参数怎么填?

2020-09-26 06:01:25 +08:00
 archoot
bootloader,EFISTUB,UEFI shell 等方式引导简单卷,LVM,RAID,Btrfs,OpenZFS 中的 Linux 内核,其中 rootfs
参数如何填写?

我的 Btrfs 子卷中 Arch Linux 的 grub.cfg 部分代码是这样的:

linux /main/archlinux/20200913/boot/vmlinuz-linux root=UUID=马赛克 rw rootflags=subvol=main/archlinux/20200913 loglevel=3

initrd /main/archlinux/20200913/boot/initramfs-linux.img
1089 次点击
所在节点    问与答
4 条回复
mikeguan
2020-09-26 08:45:42 +08:00
都 Arch Linux 了,可能启动流程还需要看下,这都啥路径名,建议 boot 单独分区
archoot
2020-09-26 19:18:09 +08:00
@mikeguan 这路径名奇怪的原因是因为我用了快照,/boot 单独分区就无法顺利使用快照了。我主要是想问跨区卷怎么引导。我也想问如何不使用 grub 直接用 UEFI 引导(即 EFISTUB )。
mikeguan
2020-09-27 11:18:00 +08:00
boot 不需要使用快照,你有自己的考量使用其他文件系统那就自己看文档;
测试的时候去 grub 的命令行,测试完再写配置文件;
跨区卷引导?子卷不就相当于一个分区么,有什么特别的吗?;
使用其他引导你可以看文档
archoot
2020-09-28 06:00:15 +08:00
@mikeguan
将内核两个文件复制到 ESP,然后运行:
efibootmgr -d /dev/sda -p 1 -c -L "Arch Linux" -l /linux -u "root=/dev/sda2 rw rootflags=subvolid=1050 initrd=/initrd.img"
之后启动可以进桌面;

我仅分了 esp 和 Btrfs 卷,创建了子卷 base,grub,hone,root:

/subvolid=5
└── main
├── archlinux
│   └── base
├── grub
├── home
└── root

在 grub 子卷上安装 grub ( grub-install 在 esp 分区创建了 grub.efi ),安装 Arch Linux 在 base 子卷,在 main/archlinux/下为 base 创建快照,最后创建 grub.cfg 。
幸好我 esp 分区分了 4GiB,/boot 单独分区的话我的理解是升级内核会好像有问题,所以我便这么简单粗暴,/boot 单独分区的话适用于 Btrfs 卷应该如何实现系统快照?

跨区卷是 Windows 的概念,我写错了。我想表述的是跨多个磁盘的 rootfs ;

我的电脑可以同时访问 3 块物理磁盘,分别是 sata 的 500G 硬盘,UMS 的 100G 手机,USB-HDD 的 32GB 优盘,如果我要强制组软 RAID (我没试过)应该怎么玩?

也许这是很简单的事,但我不够成熟,没能力去研究文档。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/710584

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX