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

引言

这一篇整理的笔记抨击一下恶心的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文件碎片:

结尾

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

原文地址:https://cloud.tencent.com/developer/article/2176252

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340