建议将外部驱动器格式化为ext4吗?

我有一个新的2TB外置硬盘,我将用它来进行额外的存储和备份。我只会在两台Ubuntu机器上使用它。建议将驱动器格式化为ext4吗?这样做有什么优势吗?

1我点赞了。一个非常好的问题。 - Anwar
相关(由于在外部共享驱动器上使用ext4后,更改文件所有者经常是一个问题/要求):更改文件夹权限和所有权 - Gabriel Staples
关于这个问题,你可以参考这篇文章:如何更改外部硬盘中驱动器的权限? - Gabriel Staples
值得一提的是,对于外部驱动器,您可能希望减少“保留空间”(仅由root用户可用的空间,默认为磁盘容量的5%),因为这仅在运行操作系统的磁盘上才是必需的。我使用sudo mkfs.ext4 -m 0 -L LABEL /dev/sdX1来格式化一个4TB的外部硬盘,用作备份磁盘。我还使用了cfdisk重新分区该驱动器并清除了一个无用的Microsoft分区,因为该驱动器最初是“Windows格式化”的。 - zrajm
6个回答

我认为你问题中最重要的核心部分是:
我只会在两台Ubuntu机器上使用它。
我面临着和你一样的困扰,选择了EXT4。我选择EXT4的主要原因是:1)EXT4会保留我的文件权限;2)EXT4更好地管理其上的数据存储(例如,它不需要像NTFS那样经常进行碎片整理和“呵护”)。EXT4是一个比NTFS更自给自足的文件系统。
使用EXT4唯一的缺点是无法通过Windows机器访问其中的数据。但正如你在问题中所说,这不会成为问题,因为你只使用Ubuntu机器。
在我看来,只有在需要与Windows访问文件系统时才应该使用NTFS。如果不需要,NTFS实际上是一个较差的文件系统。

2我以前在Windows下成功地使用过Linux分区,可能是ext3,如果我没记错的话,你只需要安装一个第三方驱动程序,比如ex2ifs等。而且我认为也有支持ext4的程序/驱动程序。对我来说,在同一物理内部驱动器下的第二个Linux分区中存储Windows的临时文件、用户文件和程序等是很常见的。我再也不会使用NTFS了!仅仅是Linux分区在计算机开启时如此安静...这就说明了很多问题! - Melsi

如果您只会在这两台机器上使用它,并且在断开USB连接/关闭电源之前计划正确卸载驱动器,那么是的,强烈推荐使用ext4。
ext4将为您提供比ext3更好的性能,特别是在同时写入多个文件或创建大文件时。
不过,这样做的代价是如果驱动器没有正确卸载,数据丢失的风险稍微增加一些。

16默认情况下,Ext4 每 5 秒将数据提交到磁盘,因此只有在写入后立即移除驱动器时才可能出现问题。 - roslav
2我还要补充一点,你可以使用tune2fs将保留空间减少到零,并允许使用整个驱动器容量,因为它不是系统驱动器,所以保留一些空间并不那么重要。 - barrymac
3如果数据丢失比性能更重要,你会推荐使用哪种文件系统?我之前的印象是,ext4中的日志记录比ext3更具弹性,而且肯定比ext2或各种没有日志记录的FAT格式更好。 - pavon

我会推荐它。ext4 是 Ubuntu 的默认文件系统,有很好的原因。作为一个附带的好处,你可以使用磁盘工具来用一个非常强大的密码加密整个驱动器。这样,如果你丢失了外部驱动器(或者被盗),你的数据将无法被第三方访问。
我在所有的驱动器上都使用 ext4,包括内部和外部驱动器。对于那些需要与朋友的 Windows 机器一起使用的驱动器,我会有一个小的 FAT 或 NTFS 分区。

自从这个问题得到回答以来,Windows对于读写ext4的支持已经大幅改善。例如,可以参考Ext2Fsd项目。我的做法是创建一个小的额外的FAT分区,其中包含最新版本的Ext2Fsd,这样我就可以在其他Windows计算机上访问ext4分区(权限允许的情况下)。
我还应该补充一点,选择ext4而不是NTFS的另一个好理由是Linux对NTFS的支持效率更高。在我的情况下,当我使用rsnapshot从Ubuntu备份到外部媒体时,转换到ext4显著减少了递归解除链接目录所需的时间。

我会说不,仅仅因为为了你自己方便起见,将来可能希望在其他机器上使用它(特别是Windows)。
几年前,我处于类似的境地。后来,我需要安装Windows 7作为虚拟机,并想访问外部驱动器上的文件。虽然可以通过在Windows虚拟机上安装extfs来实现,但设置无法保存 - 所以现在每当我需要Windows时,首先要做的就是找到extfs安装程序,进行配置,然后才能访问驱动器。
当然,你可能99.99999%确定你永远不会接触Windows(如果那是真的那就太幸运了:-)),但我的观点是很难完全判断未来的需求,所以为了失去使用Ext4在外部驱动器上得到的一些好处,出于兼容性的考虑,最好还是选择fat32。
但是,正如我之前提到的,值得注意的是你可以在Windows上访问Ext3驱动器(不确定是否适用于Ext4)- 只是在Windows 7上设置访问它们有些麻烦。所以这确实是一个选择,即使考虑到我所说的。

这个文件的大小限制是多少? - Tim
3糟糕的回答。明确地说只能在Ubuntu上使用。还有FAT?文件的最大大小只能为4GB,可能是巨大的32k块/簇,没有日志...如果你喜欢被破坏的文件系统和一掉帽子就丢失所有文件和文件夹名称,那么当然可以使用FAT。 - Xen2050
正如我所指出的,我的问题更多地是关于你能否保证只在*nix机器上使用它。6年前,我曾经处于这个人的同样境地——如今,我将我的驱动器共享给多个操作系统,包括Windows。另外,如果你经常损坏fat32文件系统并且丢失文件,那么你应该检查一下你的使用方式,因为这并不正常。 - chrismou

答案取决于您的具体要求。
对于几个流行的Linux发行版,包括Ubuntu、Fedora和openSUSE,ext4已成为默认文件系统。 ext4相比其前身有多项改进,其中包括支持高达16 tebibyte(1 tebibyte等于1,024 gibibyes,1gibibyte等于1.074 gigabytes)的文件和最大卷大小高达1 Exbibyte。它与ext3和ext2向后兼容,因此可以将ext3和ext2挂载为ext4。这会稍微提高性能,因为ext4的某些新功能也可以与ext3和ext2一起使用,例如新的块分配算法。
XFS是一个高度可扩展、高性能的文件系统,最初由Silicon Graphics, Inc.设计。它被创建用于支持极大的文件系统。 XFS支持最大文件系统大小为8 exbibytes减一(即2^63-1字节),但这受到主机操作系统所施加的块限制。32位Linux系统将文件和文件系统大小都限制在16 tebibytes范围内。

关于这个主题,有很多信息可以找到,但我建议你先从这里开始,看看是否想要深入了解。

希望对你有所帮助。

参考来源: