我安装了 Ubuntu 12.10,但不知道为什么,我有一个扩展2分割。
- 我怎样才能将该
ext2
文件系统转换为ext4
? - 我会丢失所有数据吗?
答案1
按照此帖中详细说明的说明进行操作:将 ext2/3 转换为 ext4
答案2
自从接受的答案中链接的文章撰写以来,ext4 发生了很多变化。现在可以启用更多 ext4 功能。要将 ext2 文件系统转换为功能齐全的 ext4(在撰写本文时),命令为:
tune2fs -O extents,uninit_bg,dir_index,has_journal,flex_bg,huge_file,extra_isize,dir_nlink,uninit_bg /dev/EXT2DEVICE
实际上,不再有“ext2”、“ext3”或“ext4”这一套了。有各种各样的功能。要查看您的 extX 文件系统启用的功能,请使用以下命令:
dumpe2fs -h /dev/DEVICE
ext2 的核心功能集包括:ext_attr,调整inode大小,文件类型,稀疏超级,大文件。通常,ext3 被认为是 ext2 加上日志。而 ext4 基本上是 ext3 加上其余可用功能的任意组合。将来他们可能会将其命名为 ext5、6 或 7。实际上,它们都是具有一组可变功能的文件系统系列。
要了解您阅读本文时最新的 extWHATEVER 功能集,最好的办法就是创建一个小型文件系统并查看其功能列表。对于 ext4,它是:
dd if=/dev/zero of=ext4test bs=1M count=256
mkfs.ext4 ext4test
dumpe2fs -h ext4test
查看“文件系统功能:”这一行,它会告诉您文件系统中包含哪些功能。在撰写本文时,它是:
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
完成此操作后,您可以创建自己的方法将 extX 更新到 extLATEST。对要升级的文件系统执行 dumpe2fs,并将其上的功能与测试 ext 文件系统上的功能进行比较。对于旧文件系统上缺少的任何或所有功能,您可以:
tune2fs -O <comma-delimited list of missing features>
添加完功能后,强制进行文件系统检查:
e2fsck -f /dev/DEVICE
现在您已经确保您的 extX 是具有所有可用功能的 extLATEST。
答案3
对于没有耐心的人来说,简短的版本是:
dev=/dev/sdXn # <-- Adjust this
然后
umount $dev && tune2fs -O extents,uninit_bg,dir_index,has_journal $dev && e2fsck -v -pf $dev
如果由于它是您的系统分区而无法卸载,那么您当然需要先从另一个系统(如 Live CD)启动。
而且,您不会丢失数据。除非发生非常奇怪的事情,在这种情况下,您将不得不使用备份。(当然,您确实有备份。对吧?)
答案4
- 重新格式化驱动器
- 是的
另外,您可以启用一些通过运行以下命令并重新启动来了解 ext4 的功能:
sudo tune2fs -O has_journal,uninit_bg,extents /dev/sda1