APFS 苹果文件格式的小介绍 Apple File System



Apple File System 简称叫做APFS , 中文叫苹果文件格式. 是一个很先进的文件系统. 主要的改变就是将分区概念升级为容器. 在容器里新建的卷宗不再受到分区大小的限制. 并且采用了文件快照模式, 当你复制文件的时候, 期初只会对文件的修改部分进行存储. 这些改进都是基于SSD的特性进行优化的. 

这也是在苹果设备普遍采用SSD后必须的一项底层的革新. 

这也是一般用户可能根本无法察觉到的革新. 去年在iOS 10.3.3 上苹果已经开始部署了HFS转化APFS的进程. 相信使用iPhone的用户几乎感觉不到什么变化, 唯一能察觉到的就是磁盘的可用空间增加了. 

而在macOS 平台上到了今年的9月份才进行了正式发布. Mac用户也有幸使用这个全新的文件系统. 
那这个文件系统到底有什么新功能呢? 



微博视频



简单来说我认为最重要的几点:




pic 2017-10-07 下午9.28.00.png 


1. 无损转化
有些用户可能会担心在磁盘格式转化的过程中丢失数据, 其实从iOS 10.3.3 的升级看, 这个升级还是相当顺滑的. 
简单说转化的步骤. 


第一步现将磁盘上的文件信息进行复制, 在磁盘上正常存储文件的时候是如图所示, 数据 与 文件信息. 

2.png 



一般来说文件信息里存放着数据的属性, 文件大小, 修改时间等这些信息. 第一步就是将文件信息转化成APFS格式. 


3.png 



随后将文件信息的就得 HFS+的存储删除. 

4.png 
最后更新分区信息, 也就是 Superblock , Superblock里面存储着分区的格式, 分区类型等这类信息信息. 
Superblock是典型的UNIX分区中的头信息. 

5.png 
简单的几步操作, 就无损的将你的硬盘分区从HFS+ 转换到了 最新的APFS了. 那APFS 的优势有哪些呢? 下面就说两个我最喜欢的更新特性吧 . 







2. 文件复制

6.png 

在旧的文件系统上, 我们如果要复制一个数据化, 系统就会老老实实的在硬盘上重新写一次数据, 不管这个数据是否修改过, 而这样就会频繁的写入SSD硬盘. 

在新的APFS上, 如果我们复制数据, 那复制的只是这个数据的快照本身并不是数据. 当你修改这个数据的时候, 磁盘上只是写入这个数据的修改部分. 这样的好处就是节省磁盘空间的同时, 减少了磁盘的写入操作. 

你可以在你的硬盘上试试复制一个超大的文件, 你会看到复制速度巨快. 其实这并不是真正的复制, 而是apfs的复制特性. 








3. 快照与本地快照

pic 2017-10-07 下午9.36.58.png 

你可以打开终端, 然后输入 mount 就可以看到本地的文件快照. 
可以看到这样的文件路径

  1. com.apple.TimeMachine.2017-10-07-165821@/dev/disk1s1 on /Volumes/com.apple.TimeMachine.localsnapshots/Backups.backupdb/Wally-MacBookPro15/2017-10-07-165821/Macintosh HD (apfs, local, read-only, journaled, nobrowse)

复制代码这个就是使用Time Machine 创建的本地磁盘快照, 这样的话, 你就算没有外接Time Machine备份磁盘,也可以使用本地的时间机器进行数据的恢复操作. 


pic 2017-10-07 下午9.38.57.png 



在磁盘工具中你可以看到可用空间中有一部分叫做可清除的空间, 这部分的磁盘空间就是用来创建了本地快照. 

pic 2017-10-07 下午8.21.35.png 
有些人认为磁盘空间就被这些快照占用了多不划算, 其实在系统中, 如果你的磁盘空间不够用了的话, 系统会自动移除之前的快照, 为你腾出空间. 在macOS 系统中的概念大多就是空间留着干嘛? 

就好比内存一样, 刚开始使用Mac的朋友都会发现系统的内存经常被占用超过9成, 这时候就开始担心. 其实这就是系统的特性, 尽可能的使用硬件性能发挥出最大的效能. 

既然磁盘空间空着为何不创建一些快照方便找回误删除的文件呢 ? 
本地快照可以删除, 但是我觉得除了能让可用空间好看点意外, 貌似也咩有什么实际的意义. 









4. 容器与卷宗
pic 2017-10-07 下午10.14.52.png 

我们一直以来就不推荐在HFS+上进行分区, 这次在APFS上更加对分区进行了弱化, 除非你要分区装个windows啥的, 否则不再需要分区的操作了. 虽然在磁盘工具上还是保留了就的分区操作. 

但以后我们使用中只需要使用APFS的容器中的卷宗概念即可. 当你想创建一个独立的卷宗的时候, 这个卷宗就跟在磁盘上新建文件夹一样轻松, 并且不受到分区的磁盘大小限制. 





还有其他的特性, 比如原生的加密特性, 基于 FileVault 的全局加密特性可以让你文件存储更为安全. 还有可以在电脑休眠的时候自动进行HHD的磁盘碎片整理等. 






最后, 笔者还是个mac上的小学生, 文中或许会有不正确的地方, 请各位大神多多指点与帮助. 
不对之处请海涵.


0