[ Content contribution] Debian安装到f2fs根分区
Tofloor
poster avatar
tun
deepin
13 hours ago
Author

版本要求:Debian11及以上

1. 进入专家模式安装

debian在安装时有个advanced option,进入后可以看见专家模式。专家模式有很多自定义功能。

2. 选择f2fs模块

一步步跟着安装程序走,不出意外的话,会看到一个加载模块的界面,在里面选择f2fs模块

一直往下走,分区时可以自由发挥,分区完成后,先不要点“安装基本系统”,而是“运行shell”,进入命令行把刚才的ext4分区革了,然后重新格式化成f2fs, 下面是具体步骤。

3. 革盘并加载临时f2fs工具

进入shell之后,先看看你的各个分区叫什么名字,执行:

df -h

此处为了方便理解,假设分区表是这样的:

分区名 用途 在安装程序中的挂载点
/dev/sda1 EFI引导分区(/boot/efi) /target/boot/efi
/dev/sda2 内核分区(/boot) /target/boot
/dev/sda3 根分区(/) /target

要想格式化根分区,就要先卸载根分区,要想卸载/,就要先将/efi卸载,执行:

umount /target/boot/efi

然后卸载/boot,执行:

umount /target/boot

注意,现在/target里还有不少有用的文件。比如fstab,所以先备份一下:

cp -a /target /target-copy

然后就可以放心卸载/target了:

umount /target

这时可以安装工具了,执行:

anna-install f2fs-tools-udeb

f2fs-tools-udeb这个包只是安装程序临时用的,新装的系统里没有。

4. 转换文件系统

然后就可以格式化了,这里选用archwiki推荐的参数:

mkfs.f2fs -O extra_attr,inode_checksum,sb_checksum,compression /dev/sda3

这里启用了压缩,如果只追求性能,不求固态寿命,可以去掉compression参数。需要加密可以加上encrypt参数.

然后挂载根分区:

sudo mount -t f2fs -o compress_algorithm=zstd,compress_algorithm=6,compress_chksum /dev/sda3

如果不启用压缩,去掉-o 及后面的参数。

将刚才备份的先文件恢复到新分区:

cp -a /target-copy/. /target

挂载/boot分区:

mount -t ext4 /dev/sda2 /target/boot

新分区的UUID变了,用blkid命令查看新的UUID,记下来,然后修改fstab:

nano /target/etc/fstab

在fstab文件里,将刚才记下的新UUID写到/ 挂载点所在的地方,需要压缩的,注意加上压缩参数,不需要压缩的,将compress那行的俩参数改为defaults,完整格式如下:

UUID=你的新UUID / f2fs compress_algorithm=zstd:6,compress_chksum 0 1

UUID=99c7c16f-2c36-47ff-b090-e95a28bdeff3 /boot ext4 defaults 0 2

**UUID=9478-9340 /boot/efi vfat umask=0077 0 1**

别忘了挂载引导分区:

mount -o umask=0077 /dev/sda1 /target/boot/efi

离开shell,输入exit退出。然后继续往下走。

5. chroot进新系统,安装f2fs工具(需要压缩的必须做)

在重启之前,再次进入shell. 然后挂载必要的系统文件:

mount --bind /dev /target/dev

**mount -t devpts devpts /target/dev/pts

mount --bind /proc /target/proc

mount --bind /sys /target/sys

chroot进新装的系统:

chroot /target /bin/bash

安装软件:

apt install f2fs-tools

然后离开,就可以重启了。

6. 后续优化

在新的系统里,可以在fstab里加入atgc,gc_merge,lazytime等优化参数。其中atgc参数添加完后,不要马上重启,需要在/etc/defautl/grub里添加rootflags=atgc这个参数,然后sudo update-grub更新完成后重启。atgc参数如下:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash rootflags=atgc"

效果展示,可以看到已经启用全部参数,这套方案非常稳定,可以直接作为主力使用

截图_2026-08-18_18-56-33.png

Reply Favorite View the author
All Replies
avatar
𰻞𰻝面
deepin
12 hours ago
#1

f2fs有啥优点?

Reply View the author
avatar
tun
deepin
12 hours ago
#2
𰻞𰻝面

f2fs有啥优点?

专门固态闪存设计的文件系统,可以延长固态寿命,随机读写性能比ext4强

Reply View the author
avatar
𰻞𰻝面
deepin
9 hours ago
#3
tun

专门固态闪存设计的文件系统,可以延长固态寿命,随机读写性能比ext4强

谢谢,涨知识了kissing_heart

Reply View the author