比尔盖子的蜗牛笔记本在装上Gentoo后,终于变成蜈蚣了,速度快多了。
但是刚才突然想起,比尔盖子的/boot分区当时装机为了避免麻烦,没有使用ext4文件系统。虽然这几乎不会损失什么性能,但是比尔盖子还是想把它转换成ext4。
注意:请务必阅读“修复引导”部分,否则,到时候系统挂了比尔盖子就只能帮你了……如果你没有LiveCD,那么比尔盖子也帮不了你了。
初步转换
怎么转换呢?首先,要先把它转换成ext3,这两条命令盖子都已经背熟了:
#先卸载,后日志,再强检。完事以后挂载。ext2就变ext3!
umount /dev/hda1
tune2fs -j /dev/hda1
fsck -f /dev/hda1
mount /dev/hda1
然后再转换成ext4,去网上查了查命令:
#先卸载,变结构,再强检。完事以后挂载。ext3就变ext4!
umount /dev/hda1
tune2fs -O extents,uninit_bg,dir_index /dev/hda1
fsck -f /dev/hda1
mount /dev/hda1
性能优化
虽然转换完了,但是由于这样转换,虽然文件系统是ext4了,但是数据结构还是ext3。只有新的数据才是ext4格式。这不是瞎折腾吗?
这可通过整理磁盘碎片解决,但是由于ext4从来没有什么真正的“碎片”,因此磁盘碎片整理程序几年过去了还是没有稳定下来。但是,比尔盖子发现BFS调度器的作者:大名鼎鼎的澳大利亚黑客——CK,居然还写了一个能基本上无视文件系统,从抽象层就可以(我不知道我理解的是否正确,因此使用了删除符号,注意,这段内容仍然有效,只是我怕误导大家)整理磁盘碎片的bash脚本!
可以从这里获得:http://ck.kolivas.org/apps/defrag/defrag-0.08/defrag
把这个脚本放到你要整理的文件系统上,比如我要整理的是新的ext4分区:/boot。就把它放到/boot的根目录上,然后用root执行:
bash defrag
umount /dev/hda1
fsck -f /dev/hda1
mount /dev/hda1
在这里,为了防止这个脚本在整理磁盘碎片时胡乱破坏文件系统,因此再强制检查一次。稍等片刻,整理就完成了。现在可以删除这个脚本了。
引导修复
修复GRUB
需要注意的是,这时候如果你重新启动系统,那么你可能就再也进不去了!你只能看到永远的黑屏,没错,连内核信息都没有!
因为,文件系统转换以后,再加上用CK大神的脚本整理了磁盘碎片,因此我的/boot的GRUB已经有99%可能性已经被破坏了,因此,需要重装GRUB。
如果你转换/整理的文件系统不是引导分区,那么可以省略这步!
用root执行:
#因为比尔盖子的/boto分区是独立的,因此需要这样:
grub-install --root-directory=/boot /dev/hda1
如果提示没有错误,那么就说明GRUB已经修好了。
修改/etc/fstab
这一步是必需的,否则下一次将无法挂载修改后的文件系统。只能卡在内核提示的Kernel Panic的灾难信息上。
用root权限执行你喜欢的编辑器,比如Vim、Emacs,把里面的ext2改成ext4。
注意,如果你并没有转换某个ext2分区,请不要把它后面的ext2改成ext4。程序猿,Linuxer,你们懂得。
发表评论