版本要求:Debian11及以上
debian在安装时有个advanced option,进入后可以看见专家模式。专家模式有很多自定义功能。
一步步跟着安装程序走,不出意外的话,会看到一个加载模块的界面,在里面选择f2fs模块
一直往下走,分区时可以自由发挥,分区完成后,先不要点“安装基本系统”,而是“运行shell”,进入命令行把刚才的ext4分区革了,然后重新格式化成f2fs, 下面是具体步骤。
进入shell之后,先看看你的各个分区叫什么名字,执行:
df -h
此处为了方便理解,假设分区表是这样的:
要想格式化根分区,就要先卸载根分区,要想卸载/,就要先将/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这个包只是安装程序临时用的,新装的系统里没有。
然后就可以格式化了,这里选用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退出。然后继续往下走。
在重启之前,再次进入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
然后离开,就可以重启了。
在新的系统里,可以在fstab里加入atgc,gc_merge,lazytime等优化参数。其中atgc参数添加完后,不要马上重启,需要在/etc/defautl/grub里添加rootflags=atgc这个参数,然后sudo update-grub更新完成后重启。atgc参数如下:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash rootflags=atgc"
效果展示,可以看到已经启用全部参数,这套方案非常稳定,可以直接作为主力使用
f2fs有啥优点?
专门固态闪存设计的文件系统,可以延长固态寿命,随机读写性能比ext4强
谢谢,涨知识了
Featured Collection
Popular Events
版本要求:Debian11及以上
1. 进入专家模式安装
debian在安装时有个advanced option,进入后可以看见专家模式。专家模式有很多自定义功能。
2. 选择f2fs模块
一步步跟着安装程序走,不出意外的话,会看到一个加载模块的界面,在里面选择f2fs模块
一直往下走,分区时可以自由发挥,分区完成后,先不要点“安装基本系统”,而是“运行shell”,进入命令行把刚才的ext4分区革了,然后重新格式化成f2fs, 下面是具体步骤。
3. 革盘并加载临时f2fs工具
进入shell之后,先看看你的各个分区叫什么名字,执行:
df -h
此处为了方便理解,假设分区表是这样的:
要想格式化根分区,就要先卸载根分区,要想卸载/,就要先将/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"
效果展示,可以看到已经启用全部参数,这套方案非常稳定,可以直接作为主力使用