稀疏磁盘映像

维基百科,自由的百科全书
跳转至: 导航搜索

稀疏磁盘映像 是一种磁盘映像文件,可以由Mac OS X系统下的Disk Utility创建。Mac OS X 的 FileVault 功能使用的就是加密的稀疏磁盘映像文件来保护用户的主目录。

普通的磁盘映像文件 (.dmg)的大小与其代表的实际磁盘是一样的(尽管其中尚有空间未使用),而稀疏磁盘映像文件 (.sparseimage) 的大小仅为实际使用数据的磁盘空间。

这对备份数据非常有利,比如,当用户需要给一个名为 "INFO"的硬盘备份,硬盘本身容量为5GB 而实际上里面只有 2.5GB 的数据。如果使用一张单层 DVD-R (容量约为 4.7GB )将无法容纳一个普通的 "INFO.dmg" 映像文件,而 "INFO.sparseimage" 映像就没有这个问题,因为原来卷宗未使用的 2.5GB 实际上并没有分配到在稀疏磁盘映像中, "INFO.sparseimage" 文件只占用 2.5GB.

要注意,如果将备份好的 2.5GB "INFO.sparseimage" DVD再次接入时 Finder 会报告它有 5GB 容量,2.5GB 可用。但实际上这个虚拟盘是“只读”的,因为其原映像放在了一张只读光盘上。不过,如果这个 2.5GB 的稀疏磁盘映像文件 "INFO.sparseimage" 写在硬盘上,当接入系统后,用户可以继续写入文件,直到原有的 5GB 容量写满为止。追加写入文件时, ".sparseimage" 文件将随之增大。 从已接入的虚拟盘中删除文件不会让 ".sparseimage" 文件容量减少,只有将其推出时,整个映像文件才会随之变小。

使用此映像文件类型有两个限制:

  1. 由于 ".sparseimage" 映像文件容量可变,因此当其容量不断增大时,有时会导致容纳这个映像文件的物理卷宗(或硬盘分区)容量不足。这个时候 ".sparseimage" 文件必须转移到一个更大的物理磁盘或分区。
  2. 如上所述,当往接入的 ".sparseimage" 文件叶榕文件导致容量自动增大时,必须使用 Disk Utility, hdiutil, 或其他工具来进行算法修正。

当疏散磁盘映像文件没有接入系统时, .sparseimage 文件可以通过 Disk Utility 的 Resize Image 功能或“终端”的命令行来改变大小。如在下例中,疏散磁盘映像文件可最大扩展到 50 GB:

hdiutil resize -size 50g MyFile.sparseimage

同样,一个 .sparseimage 文件容量增长后又有文件删除,可以用以下命令进行 "压缩" :

hdiutil compact MyFile.sparseimage

关于命令 hdiutil 的详细内容可以通过以下命令查询:

man hdiutil

稀疏束[编辑]

Mac OS X v10.5 (Leopard) 中引入了一个新概念“稀疏束” (sparse bundle).[1] 稀疏束是一种文件的 捆绑 形式,而不是单纯的一个文件。当磁盘映像内容改变时,捆绑内容相应的改变,创建或删除。这个机制可使备份软件 (如 Time Machine) 更有效的工作。

参考资料[编辑]