这篇文章介绍了我维护的Rb2S OS,本文作为补充说明
文件系统
原文推荐使用f2fs,但说实话,这毕竟是一个尚在开发中的文件系统,连我自己都没在笔记本上用,贸然推荐好像也不太负责,这里给出传统的经过时间检验的也是几乎最常用的ext4 的安装方法:
注意
对于Rb2S 0,1 用户,此时,如果你选择使用ext4作为根分区文件系统,那么你必须编辑/etc/default/grub
,删除GRUB_CMDLINE_LINUX_DEFAULT="
一行中的rootflags=atgc
,保存,然后运行 grub-mkconfig -o /boot/grub/grub.cfg
,否则无法启动!!!别问我怎么知道的,我debug了3天!!
对于Rb2S 2及更高版本,ext4用户不用修改这一项,相对地,f2fs用户需要加上那一行。
格式化时
原文给出的命令是:
1 | mkfs.f2fs -l rb2sos -O extra_attr,inode_checksum,sb_checksum,compression <目标硬盘根分区标识,注意,一定要带分区标识(上文中的y)> |
改为:
1 | mkfs.ext4 -l rb2sos <目标硬盘根分区标识,注意,一定要带分区标识(上文中的y)> |
挂载时
原文:
1 | mount -o compress_algorithm=zstd:6,compress_chksum,atgc,gc_merge,lazytime <目标根分区标识> /mnt |
改为:
1 | mount <目标根分区标识> /mnt |
如果想要性能更好,可以在此之后修改 /etc/fstab
,这个文件指定哪些分区会被自动挂载(分区挂载之后才能读写),以及以何种选项挂载。我们只需要修改根分区的挂载选项。
修改前应该看起来是这样:
1 | /dev/sda5(或者这里是一长串数字和字母) / ext4 defaults 0 1 |
而修改后:
1 | /dev/sda5(或者这里是一长串数字和字母,它是这个分区的UUID(相当于一个唯一的标签)) / ext4 defaults,noatime 0 1 |
看出来我加了啥吧?
它的作用是:
禁用访问时间更新
ext4 文件系统会记录于文件上次被访问的时间相关的信息,而记录这些信息会导致开销。使用 noatime
选项可防止更新访问时间戳。
另外,以防你不知道在命令行里如何编辑,我告诉你,可以用如下命令:
(有时需要加sudo) nano /etc/fstab
当桌面环境有了以后,你可以用 kate
代替 nano
,同时不用 sudo
其实更简单了
对于Intel用户
系统包里包含了一些amd驱动,你可以卸载,以提升性能,减小体积。
删除软件包的命令是 sudo pacman -Rsn <名称>
如果你没有AMD CPU
删除 amd-ucode
如果你没有AMD GPU
删除 vulkan-radeon
和 xf86-video-amdgpu
多系统
如果你的电脑同时安装有多个系统(比如我),那么如果想要在开机的时候切换系统,你需要
- 安装
os-prober
包 - 挂载另一个系统,这里假定Windows,的分区,正常的话,打开dolphin(文件管理器,也可以按 Meta+E 打开),在左边的侧栏里找到Windows的C盘(在我这里是OS),单击,就会自动挂载,然后你应该能看到一些标志性的文件夹,如
Windows
.
编辑配置文件:
使用nano
(需要sudo)或者kate
(如果已经安装完成了)编辑/etc/default/grub
这个文件,在文件比较靠后的位置,你会看到这样一行:#GRUB_DISABLE_OS_PROBER=false
把
#
去掉,即取消注释,保存。重新生成引导:
只需要运行 sudo grub-mkconfig -o /boot/grub/grub.cfg
,没有报错就行了。
- 重启,此时你会看到
Windows Boot Manager
选项,用方向键将光标移过去,回车,就可以正常使用Windows了。
你学会了吗?
禁用补丁
linux是比较重视安全的,各硬件厂商也积极提交一些软硬件漏洞的补丁,拯救了很多服务器。
然而,作为一个桌面用户,我们基本上都是在家或办公室等地点,位于NAT这一天然的防火墙后面,加上针对linux的恶意软件少之又少,这些补丁对我们来说没什么用,有时还影响性能。
最简单粗暴的方法:禁用就好了嘛
只需要参照 多系统
章节中的编辑方式,再次编辑 /etc/default/grub
就好了。
只需要在 GRUB_CMDLINE_LINUX_DEFAULT="......."
的右引号前添加
1 | mitigations=off noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off tsx=on tsx_async_abort=off nowatchdog ibt=off selinux=0 logo.nologo |
保存,然后,运行 sudo grub-mkconfig -o /boot/grub/grub.cfg
,没有报错就行了。
这同时也能提高启动速度。
减少驱动
rb2s默认带有很多驱动,然而其中的大多数你应该都用不到,它们会使内核变大,占用空间,拖缓启动速度。通过如下方式可以精简驱动(只保留你要的)
编辑 /etc/mkinitcpio.conf
(需要root)
在 HOOKS=(.....)
一行中 udev
这一项后加入 autodetect
(注意格式,保持前后空格)如下图:
保存
然后运行 mkinitcpio -P
(需要root权限)
重启,是不是速度稍微快了些呢?
运行Windows程序
理论上说可以用 wine.
不过好像bug比较多,
最方便的方法大概是虚拟机,linux内核自带kvm,都写进内核了,性能杠杠的。
用虚拟机也有个小trick: 可以使用 winapps 这个项目,让Windows程序完美融合在linux中。
可以参考这篇文章:
我比较推荐用win10 ltsc或tiny10, 流畅一点。
更多优化
建议参看Arch Wiki
其实可以优化的地方还有很多,不过由于机型的不同,有的优化也没有在此列出,你完全可以自行查阅Arch WIki,进一步DIY,打磨出你的专属系统。
生来就是为了折腾的