Ubuntu 26.04 Btrfs+LUKS2安装
前言
Ubuntu官方的安装器手动安装下只能识别普通设备分区,并不能把系统安装在mapper设备上。
这篇教程非新手教程,需要有一定相关知识积累。
新手建议走官方启动器安装流程。
正文
后面教程以/dev/sda设备作为演示,请根据自身实际情况调整
创建分区
创建三个分区,怎么创建都行,这里不做演示
- /dev/sda1 512MB EFI分区
- /dev/sda2 1G Boot分区
- /dev/sda3 剩余空间 系统分区
下载镜像
可以下载Desktop版,也可以下载Server版,Server版会精简很多,下面演示采用Server版,安装流程和Desktop版没有什么差别,有差别的地方后文会标注出。
制作Live CD启动盘
使用rufus工具(如果自己有其他的烧录工具都行)将镜像烧录至准备的U盘(光盘或者其他什么介质都行,能启动就行)
前置准备
重启进入Live CD环境,选择试用Ubuntu。
Desktop镜像打开终端,Server镜像按ALT+F2切换至终端。
首先查看并确认设备以及分区
1 | lsblk |
确认完成后切换为root用户
1 | sudo -i |
后面操作均以root身份操作
配置LUKS2加密容器
对系统分区进行LUKS2加密,并将其解锁。
1 | # 需要输入两次你想要设置的密码 |
打开刚刚创建的加密分区,并将其映射为"cryptroot"
1 | cryptsetup open /dev/sda3 cryptroot |
格式化并创建Btrfs子卷
1 | # 格式化EFI分区为 FAT32 |
1 | mount /dev/mapper/cryptroot /mnt |
重新挂载目录树
1 | mount -o subvol=@ /dev/mapper/cryptroot /mnt |
解压SquashFS
在/cdrom/casper/下,寻找后缀为.squashfs的核心系统文件
1 | ls -lh /cdrom/casper/*.squashfs |
Server版通常叫ubuntu-server-minimal.squashfs,桌面版可能叫filesystem.squashfs
将这个文件挂载出来
1 | mkdir -p /tmp/squashfs |
同步系统
1 | rsync -aAXv /tmp/squashfs/ /mnt/ |
同步完成后解除挂载
1 | umount /tmp/squashfs |
Chroot
1 | for i in /dev /dev/pts /proc /sys /run; do mount -B $i /mnt$i; done |
最小配置
配置DNS
1 | rm -f /etc/resolv.conf |
配置普通用户(不建议直接使用root用户)
1 | adduser your_username |
配置软件源
1 | echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ resolute main restricted universe multiverse" > /etc/apt/sources.list |
补齐缺少软件包
安装核心套件
1 | apt install linux-image-generic grub-efi-amd64 cryptsetup-initramfs btrfs-progs -y |
安装桌面环境
1 | apt install ubuntu-desktop^ -y |
配置fstab与crypttab
1 | # 写入crypttab |
生成引导
1 | update-initramfs -u -k all |
安全启动(可选)
这时的引导是没有签名的,如果BIOS开启了安全启动将无法引导,如果有安全启动需求可以安装带签名的GRUB和Shim模块
1 | apt install grub-efi-amd64-signed shim-signed -y |
最后退出并重启
1 | exit |
设置中文
此时系统是英文的,可以在设置里安装Chinese语言包,然后
1 | sudo localectl set-locale LANG=zh_CN.UTF-8 |
删除Snap(可选)
1 | sudo apt purge snapd -y |
安装桌面环境时虽然日志中有安装snap和snap的firefox之类的组件
但是进入桌面后却没看到任何snap应用,包括应用商店,不过snap服务还是在的
Bug解决
systemd-networkd-wait-online.service卡开机问题
取消开机自启
1 | sudo systemctl disable systemd-networkd-wait-online.service |
安装Timeshift
玩Btrfs当然少不了Timeshift
1 | sudo apt update |
安装Flatpak(可选)
1 | sudo apt update |
1 | sudo apt install gnome-software gnome-software-plugin-flatpak -y |
1 | flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo |
Use this card to join MyBlog and participate in a pleasant discussion together .
Welcome to GoodBoyboy 's Blog,wish you a nice day .
