介绍
Ext4是Linux上的Ext3文件系统的进化。 在许多方面,Ext2在Ext4方面的变化比Ext3更深。 Ext3主要为Ext2添加了日志系统,但Ext4更改了重要文件系统的数据结构,如存储文件数据的部分。 当然,它提高了文件系统的设计、性能和稳定性,并提供了更多功能。
源:
删除分区并创建ext4分区
升级你的系统: pacman -Syu
格式化分区: mkfs.ext4 /dev/sdxY (查看mkfs.ext4 man的帮助可获得更多选项)
装载此分区
将相关条目添加到fstab /etc/fstab中,并将文件系统类型" type "更改为ext4
从Ext3迁移到Ext4
将分区从Ext3迁移到Ext4有两种方法。
(在不进行转换的情况下将ext3分区挂载为ext4分区格式(兼容模式() ) ) ) ) ) ) ) ) ) ) ) ) )。
将ext3分区转换为ext4格式(性能模式? )
这两种方法在下面详细介绍。
直接将ext3分区挂载为ext4分区格式而不进行转换
基本原理
转换为ext4并继续使用ext3格式的折衷方法是将ext3分区装载为ext4分区。
好处:
兼容性(分区的文件系统可在ext3中挂载) -这允许用户继续使用不支持ext4文件格式的发行版/操作系统读取分区。 (例如,ext3驱动Windows系统)
提高性能有关详细信息,请参见未完全转换为ext4分区。
缺点:
只能使用很少的ext4特性。 (只有不更改分区格式的功能,如多分区分配和删除分配。 )
{{Note|除了ext4格式带来的相对新的可能潜在风险的不同特性之外,此技术没有主要缺点
步骤
修改/etc/fstab,将要装载到ext4的现有ext3分区的“类型”栏的内容从ext3更改为ext4。
重新装载使修改有效。
结束了!
将ext3分区转换为ext4格式
基本原理
要使ext4的所有特性都可用,必须完成不可逆的转换过程。
Pros:
improvedperformanceandawesomenewfeaturesseefordetails
Cons:
cannotberead/writtenwithext 3驱动程序(notethatthereisnoknownext 4驱动程序for windows ) )。
不可逆转(ext 4分区扫描下载到ext3 ) )。
必要条件
Arch Linux需要以下软件:
kernel26=2.6.28
e2fsprogs=1.41
如果/boot分区也需要转换为ext4,则还需要:
grub=0.97 (包括ext 4修补程序)
请注意,ext4修补程序包含在默认的arch Linux grub软件包中。 或者,也可以用于从ext4分区启动系统。
警告:从ext4分区启动不是grub的官方支持,相关支持也正在开发中。 GRUB确实可以工作,但您可以更安全地选择在/boot分区中继续使用ext2或ext3格式。 请注意这一点!
如果需要将主分区(/)转换为ext4,还需要:
mkinitcpio=0.5.20
如果需要将主分区(/)转换为ext4,还需要带以下软件的可引导CD或USB设备:
e2fsprogs=1.41
注意:建议使用最新的archLinux(2009.02 )。 旧版本的Arch Linux镜像(=2008.06 )仅适用于旧版本的e2fsprogs,但也可以在进入Live环境后使用pacman -S e2fsprogs安装新版本。 当然,需要设置网络。 另一个选择是前往SystemRescueCd=1.1.4下载相应的版本。 他自己是一张方便的光盘。
步骤
这些说明还有
升级! 进行系统范围的升级,确保系统软件符合要求。 pacman -Syu
计划备份要转换为ext4的ext3分区上的所有数据。 ext4是一个被认为日常使用非常稳定,但尚未充分测试的年轻文件系统。 此外,这个转换过程经过了相对简单的测试。 这是因为无法测试各种用户可能使用的所有环境配置。
修改/etc/fstab中的“类型”栏,将需要转换的所有分区的ext3更改为ext4。
警告:不启用新功能(不完全转换)
)的话,ext4是向下兼容ext3的。也就是不进行下面的步骤,如果用户有个分区需要和其他系统共享数据,但是其他系统并不支持ext4,那么还是可以在不支持ext4的系统中以ext3的方式挂载此分区,而在Arch中以ext4方式挂载。 但是,这样没有完全转换的ext4只拥有和ext3非常少的新特性。使用e2fsprogs的转换过程必须在分区没有被挂载前提下进行。如果转换主分区,最简单的方法就是启动到其他live环境(其他支持ext4的环境)。就如同'前提条件'里面所描述的那样。
有必要的话,启动到Live环境.
对于每个需要转换的分区:
确保分区没有被挂载
运行tune2fs -O extents,uninit_bg,dir_index /dev/分区 (/dev/分区替换成需要转换分区的路径,例如/dev/sda1)
运行fsck -fp /dev/分区
注意:用户必须检测(fsck)这个文件系统, 否则这个分区将不可读! 检测磁盘能够让文件系统回到一般状态。这个过程将在group descriptors找到checksum错误 -- 这个是被预料到的。 '-f'参数要求磁盘检测一定要检查,哪怕文件系统标记是正常的。'-p'参数要求检测的时候能够自动修复(否则,用户将被要求没遇到一个错误确认一次).
重新启动 Arch Linux!
警告:如果用户转换了主(/)分区,启动过程可能遇到kernel panic。如果真的出现了,简单的使用fallback模式启动,然后重新创建默认模式: mkinitcpio -p kernel26
问题解决
Kernel Panic
One problem this author encountered was a kernel panic after converting the root (/) partition to ext4. This is because the initial ramdisk was detecting the partition as 'ext4dev', rather than 'ext4'. It was a simple matter to boot with the 'fallback' initial ramdisk and re-create the 'default' initial ramdisk:# mkinitcpio -p kernel26
During the creation process, mkinitcpio correctly detected and included ext4 modules in the initial ramdisk.
GRUB Error 13
After a recent kernel update, this author encountered a GRUB error while attempting to boot from an ext4 /boot partition:Error 13: Invalid or unsupported executable format
The solution is to boot from the live medium and chroot into the Arch Linux installation:# mkdir /mnt/arch
# mount -t ext4 /dev/sda1 /mnt/arch
# mount -t proc proc /mnt/arch/proc
# mount -t sysfs sys /mnt/arch/sys
# mount -o bind /dev /mnt/arch/dev
# chroot /mnt/arch /bin/bash
If /boot is on a separate partition, this partition must also be mounted:# mount -t ext4 /dev/sda2 /boot
Then, the following command should resolve the issue. (Does anyone know why?):# grub-install --recheck /dev/sda