问题
之前,稣的服务器都用 Debian 和 Hyper-V Server,桌面则用 Debian、macOS、Windows,从不用不支持 Secure Boot 的 Arch Linux。
直到遇见一个需要在 Arch Linux 物理机下才容易编译的项目……那就装个双系统吧!
现状
Debian 的豪华 SSD 只分两个区:
-
/dev/nvme0n1p1
:EFI 分区,64MiB; -
/dev/nvme0n1p2
:btrfs 分区,剩余空间。
没有 swap 分区,毕竟稣有 48GB 内存,而且从不使用休眠。
思考
-
重新分区显得格外 Secure Boot,毕竟稣就是因为某些系统强行分了 20~30GB 做系统的备份分区,而拉黑它。这可是高贵的 SSD,多一个分区就意味着空间利用率降低一分!系统和软件都能轻易地恢复,备份啥呢?依托答辩还占着 20~30GB 这么巨大的坑!这拿来备份数据不香吗?
-
Debian 12 的
/
挂在 btrfs 分区的 @rootfs 子卷,据说其它系统可能用的是其它名字的子卷,所以它们天然是能和谐地装在同一个分区的。比如 Ubuntu 和 OpenSUSE(哦喷稣𢶍)用 @ 子卷。而 Arch Linux 出了名的啥都能(让)自定义,所以装在 @arch 子卷的话,还能和 OpenSUSE(哦喷稣𢶍)组个三系统。 -
安装顺序有影响吗?没有!虽然稣是先装的 Debian,但哪个先都行。只要装一个 grub 就行,那就用 Debian 的,Arch Linux 不装即可。
步骤
1. 安装 Debian
唯一要注意的是:根目录选择 btrfs 格式,其它请参考《快速安装 Debian》。
2. 把 /home 指向 @home 子卷
建议两个系统都这么干。因为虽然是双系统,但用户还是一套的好,避免精神分裂!这样的好处很多,比如:只要在任意系统里设置一次用户的登录公钥,就能在两个系统都生效。
1 | # 在 Debian 上操作 |
3. 安装 Arch Linux
请参考以下链接:
-
Arch Linux 官方 Installation guide:https://wiki.archlinux.org/title/Installation_guide
-
archlinux 基础安装: https://arch.icekylin.online/guide/rookie/basic-install
注意:安装 Debian 时已经分过区,到这步,只需要创建子卷:
1 | btrfs subvolume create /mnt/@arch |
然后,@home 子卷之前已经创建,直接挂载即可。
最后,**不要安装引导程序!**重启去 Debian,手动加 Arch 的启动项。这步解释起来麻烦,直接发一下 Debian 的 /boot/grub/grub.cfg
里的片段:
1 | menuentry 'Arch Linux' --class archlinux --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-9b30a786-55a7-4068-8886-226f147eef4d' { |
注意:直接修改 /boot/grub/grub.cfg
通常被认为是不好的,但这里的 Arch 是个不支持 Secure Boot 的擸𢶍,不用太客气。
答疑
-
这么做有啥好处?
-
减少分区数量,提高 SSD 空间利用率,榨干每个颗粒。
抠就要抠到极致。 -
系统搞坏一个,还可能进另一个修。但比起虚拟机,没有安全性、健壮性上的优势。
-
随时可以 chroot 到另一个系统。但比起容器,没有便捷性上的优势。
-
-
EFI 分区 64MiB 够用吗?
没翻过车,之前都用 40MiB 的,已经放大过。