昨儿手贱,入了块固态硬盘,谁知安装Archlinux竟然花了整整一天时间。。。
下面总结下我遇到的问题、解决方案以及我的优化方案。
问题一: 安装镜像始终直接进入UEFI模式
ArchLinux的安装镜像有两种模式:EFI和UEFI,如果进入UEFI,那么把硬盘分区表设置为MBR后,将无法安装grub-bios(总是提示什么缺少id,主要是没有分配2M的ESP分区。。。)。
本想,进入EFI模式安装不就行了?问题是Acer 4750G的BOIS太奇葩,它支持UEFI,并且不能显式的设置,其开启模式为检测硬盘是否为GPT分区,若是,那么恭喜,亮了,根本关不掉(刷掉也没用)!
总之不知是因为BIOS的原因,镜像始终进入UEFI模式(虚拟机上是可以进入BIOS模式的),折腾半天后发现,删除镜像下的EFI和loader文件夹即可。当然这个是针对u盘安装的(不能使用ultraISO),如果是刻到光盘,那么老老实实重新压制镜像吧!
问题二: 笔记本无法调节亮度
事实上,这个也不能算是换上SSD之后的问题,算是顽疾,好在如今总算解决了,当然我这个仅仅是针对Acer而言,其他品牌的笔记本如若出现同样的问题,也可以试试,不保证一定能解决。
在/etc/default/grub中的GRUB_CMDLINE_DEFAULT中添加acpi_linux=osi、acpi_backlight=vendor,然后grub-mkconfig -o /boot/grub/grub.cfg(官方中的update-grub is dated)
问题三: synaptiks和kdeplasma-applets-networkmanagement不见了
synaptiks是kde下管理触摸板的软件,它并没有消失,只是移到AUR上去了,当然对于不适用AUR的我而言,绝对不能忍啊。。。同时我也相当不解,这个为何要移至AUR?!
networkmanagement并不是消失,想想都不可能,它只是改名字了。。。现在的新名字为kdeplasma-applets-plasma-nm。。。是不是很奇葩的赶脚?
优化方案:
其实对于ssd,理论上使用btrfs会更好,但是现在的btrfs的性能,相对与ext4而言。。。呵呵,你懂的
核心思想很简单,尽量减少read/write
1.关闭ext4的日志记录功能
很多人可能并不认同我的做法,日志文件系统没有日志不就残了吗?我只能说残就残吧,反正我用的是笔记本,大不了不用fsck得了
具体做法有两种:
a.在没有挂在sdX的前提下
tune2fs -O^has_journal /dev/sdXN #根据情况填写X和N
b.在fstab上添加
tmpfs /var/log tmpfs ... 0 0 #这样做其实和a是一样的,但是还要使用内存。。。
其实我们可以适当保留日志功能,使用data=writeback,但是这样出现错误时,也不能完全修复,与其如此,何不直接关闭了呢?!
2.将/tmp移至内存
具体方式是在fstab中添加
tmpfs /tmp tmpfs noatime,nodiratime,nodev,nosuid,size=2G 0 0
这里最好添加size选项,内存小的就不要使用这项优化了
3.将浏览器的cache移至内存
两种做法: 其一,启动时,添加
a. --disk-cache=/tmp/cache/XX #适用于chromium、chrome
b. cache开启tmpfs,方式同2
4.修改系统IO Scheduler
Linux默认使用的策略是cfq(completely fair queuing),这个对于HDD是绝对有必要的,但对于SSD使用noop或者deadline更好,具体原因,请自行wiki
具体方式有二:
a.如果系统中有多个设备,那么需要在rc中添加
echo noop > /sys/block/sdX/queue/scheduler
b.如果系统中有且只有一个SSD设备
在/etc/default/grub中的添加
GRUB_CMDLINE="elevator=noop"
grub-mkconfig -o /boot/grub/grub.cfg