EXT4惊魂记:)
[总点击:2030次] 传说ext4文件系统比ext3有了很大的提高,吹得那个神哦,整得我心痒痒的,终于今天按捺不住内心的躁动,于是俺决定——升了!
从ext3无痛升级到ext4很简单,参考了这个网页:http://www.cyberciti.biz/tips/linux-convert-ext3-to-ext4-file-system.html只要几个命令即可,不过得在分区卸载的情况下才可以(正在使用的系统分区是卸载不掉的),那只好用livecd咯(这个livecd上的系统内核一定要支持ext4的,简而言之用2.6.28以后的内核就没错啦)。
好,livecd成功进入,umount掉所有分区,为减小可能出现的意外,我找了一个阑尾来开刀(说来惭愧,我home分区没啥东西,就把它当作阑尾了:),home在/dev/sda6)
1 2 | tune2fs -O extents,uninit_bg,dir_index /dev/sda6 fsck -pf /dev/sda6 |
搞定了,挂上来看看数据有没有挂:
1 2 3 | mkdir tmp mount -t ext4 /dev/sda6 tmp ls tmp |
呵呵,人品太好了,数据都还在呢。其他分区也如此这般,然后改/etc/fstab,将ext3改为ext4,uuid不用动,一般不会变的。
我/boot是单独分区的,从ext4 boot的话需要在/boot/grub/menu.lst上做些手脚,添加一条rootfstype=ext4,像这样:
title Arch Linux
root (hd0,0)
kernel /vmlinuz26 root=/dev/disk/by-uuid/766a3d20-a5d6-44b6-9c31-6c41d61ce48d ro quiet splash rootfstype=ext4
initrd /kernel26.img
好嘞,重启。。。。。。。。。。kernel panic,说什么can not open device…, 谢特!
开始以为是grub不支持ext4,然后用livecd进去用chroot装了grub2,还是不行(惭愧,当时忘了重新grub-install /dev/sda结果启动的还是grub1),误打误撞用了fallback内核终于进去了,才知道是内核的问题,重新mkinitcpio -p kernel-26才好,总算搞定了,嘿嘿,现在想来真是不甚唏嘘阿,多亏我沉着冷静。
收获也不少,首先成功转到ext4(虽然可能想转回去也不可能了),启动时间大大减少(20几秒到15秒左右,从grub到进kdm),其次,用上了grub2(也没有感觉到什么不同阿),最后,熟悉了一把grub命令和用法,:)
哈哈,老兄,小心丢失数据哦
看看我这里:http://cookinglinux.cn/ext4-lose-data.html