前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【偏科普】移动硬盘格式选择的一些科普

【偏科普】移动硬盘格式选择的一些科普

原创
作者头像
阿东
发布2022-11-26 06:58:38
3.4K0
发布2022-11-26 06:58:38
举报
文章被收录于专栏:公众号:懒时小窝

引言

这一篇整理的笔记抨击一下恶心的Mac自身使用APFS的磁盘格式,但是系统本身插外接硬盘只能兼容ExFAT,使用NTFS要靠第三方软件,此外虽然第三方软件可以支持NTFS但是读写速度比较感人=-=。

这篇简短笔记就是告诉各位移动硬盘千万不要使用ExFAT格式,不要相信任何道听途说Windows和MacOs格式都能兼容的鬼话,数据无价。

原文

如果想要了解全貌,可以看看下面这篇文章:

# 新买的移动硬盘该格式化为 NTFS 还是 exFAT?

以及这一篇:

# 移动硬盘上的文件的占用空间比实际文件大小大了好几倍怎么解决? - 知乎 (zhihu.com)

基本概念

你要先了解这个概念. 不管是u盘,机械硬盘,固态硬盘. 其文件系统都存在一个最小的存储单位. 哪怕你的文件只有1字节. 放进去也会占用整个最小单位的空间.

机械硬盘一般用NTFS格式分区. 默认参数格式化之后 1簇=4KB=4096字节. 比如说:

如果你的一个文件长1字节.存进去会占用4KB空间.

如果你的文件长4097字节.那么会占用8KB空间....以此类推.

而U盘默认格式化时会采用Fat32或者 ExFat 格式. 默认簇大小会根据设备不同. 原作者的测试是U盘为1簇=1MB=1024KB

这就意味着NTFS默认文件簇大小是 4KB,即使你的一个文件是 1B,那也占 4KB。

市面主流硬盘

目前市面上主流的硬盘格式主要有

1,苹果格式

·APFS:macOS 10.13 或后续版本使用的文件系统。在确保可靠性的基础上优化性能,该系统的核心为增加了加密功能。为固态硬盘优化,现为配备固态硬盘的 Mac 电脑的默认文件系统。 ·Mac OS 扩展(日志式 HFS+ Plus):macOS 10.12 或之前版本使用的文件系统,16年之前的格式。

2,Windows格式

·NTFS:是Windows NT内核的系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式。

3,兼容格式(Mac和PC都能用)

·ExFAT:为了解决FAT32等不支持4G及其更大的文件而推出。对于闪存NTFS文件系统不适合使用,exFAT非常适合闪存的文件系统,属于FAT32与NTFS之间的折中方案。既有了FAT32的轻便、不需要耗损太多的效能及记忆体来处理文件运作,又有类似NTFS的CAL存取控制机制以及类似HPFS系统可快速整理可用丛集空间的Free Space Bitmap避免档案破碎的情况发生。undefinedexFAT格式对于磁盘则不太适用,适合固态硬盘。 个人补充:这里所说的适合固态是指的固态寿命本身不是特别长讨论的,ExFat作为固态个人也并不推荐,原因看下文。(未来劣币驱逐良币,QLC颗粒基本会烂大街)·MS-DOS (FAT):传输单文件不能超过4G。但稳定性较好,适合小型U盘。

在2019年现在往后主流使用的格式这3种,他们特点是。

·APFS:优点:可靠,安全。对配合苹果电脑使用友好。缺点:不兼容Windows系统。

·NTFS:优点:采用日志式,稳定安全,Windows系统使用友好,是主流格式。缺点:苹果电脑只支持读,想要写需要买驱动软件。

·ExFAT:优点:对Windows和MAC格式都兼容,对闪存SSD硬盘优化更好。缺点:机械硬盘用这格式数据容易丢。

数据安全可靠度:APFS=NTFS > ExFAT

数据传输便捷度:ExFAT > NTFS > APF.

很明显,既然有办法让各个操作系统兼容,这里更加建议使用NTFS这种带日志的。

对比ExFat 和 NTFS

NTFS和exFAT都有其缺点,选择何种方案,看具体需求:

  • 通常来说,推荐用NTFS,macOS安装第三方软件如NTFS-3G来读写就可以;
  • 如果偶尔需要和其它macOS用户用移动硬盘交换一些临时文件,并且这些文件可能来自于Windows也可能来自于macOS可以单独分一个分区,这种情况可以考虑用单独分区的exFAT格式化作为交换分区;
  • 如果macOS的一些重要数据保存在移动硬盘上,单独分一个分区,用HFS+格式化。

为什么ExFAT 比 NTFS 占用大?

下面论述的都是默认情况下格式化的情况

exfat格式默认的空间单元是128KB,而NTFS是4KB。 简单来说就是,即使你的一个文件只有3KB大小,在exfat格式硬盘中,那也是要占用128KB的,而在NTFS格式的硬盘中只需要4KB。上面也讨论过这话题,这里相信能更进一步理解。

所以对于有大量小文件的情况,exFAT空间浪费情况十分严重。比如说我的项目代码总共2G大小,却消耗了50多G的空间。

要解决这个问题只能重新格式化了,注意选择分配单元为最小值。

为什么不推荐使用ExFat 放重要数据?

根本原因是exFAT是一个没有日志的文件系统,是会出现文件“丢失”的风险的。具体来说,假设我们往移动硬盘上复制一个文件,复制到一半的时候把移动硬盘拔下,那么这个文件肯定没拷贝完,用什么文件系统都一样并没有区别。

但是拷贝一个文件,不单单是拷贝这个文件本身,文件系统需要修改这个文件所在的目录的数据,这样操作系统才能知道这个目录下有这么一个文件,这个文件在硬盘上的哪个扇区,这样的数据,一般称之为Metadata(元数据)。

但在修改Metadata的过程中,如果移动硬盘被拔下,Metadata被破坏的话,那么这个目录下的文件、子目录数据都会被破坏,结果就是文件、子目录的数据其实都还在硬盘上,但是在操作系统看来,有部分文件/子目录消失了——这是前面说丢失要用双引号的原因。

对于有日志的文件系统,如NTFS、HFS+,在修改Metadata之前会先写日志记录要修改哪些Metadata,如果修改硬盘拔下后修改失败,只要重新插上,操作系统挂载的时候会发现这个修改未完成,重新修改一遍,保证文件系统数据结构的完整性

对于没有日志的文件系统,如FAT/FAT32/exFAT、HFS,只能在进行文件系统检查的时候发现错误,然后把丢失的文件找出来——但文件信息已经丢失,文件系统只能知道这里曾经有一个文件,但不知道文件名,也不知道在哪个目录下。

少量的文件可以用16进制查看工具,根据特征人工判断是什么类型的文件,然后用对应的软件打开来看内容后重新命名放回合适的位置。但如果文件特征不明显找不到对应软件打开查看内容,或者找回来几百上千甚至上万个文件,或者这个文件分成多个碎片存储,那么基本上就只能丢失了。例如Windows上可能不少朋友都见过的Found.000文件夹,里面一堆找回来的FILE.CHK文件碎片:

结尾

相信你已经知道这篇文章说什么了,让我们一起痛骂水果没良心吧(笑。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 原文
  • 基本概念
  • 市面主流硬盘
  • 对比ExFat 和 NTFS
  • 为什么ExFAT 比 NTFS 占用大?
  • 为什么不推荐使用ExFat 放重要数据?
  • 结尾
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档