インターネットからアプリをダウンロードしたときなど、拡張子が「.dmg」のファイルを見かけたことはありませんか? それは「ディスクイメージ」と呼ばれ、Macで古くから利用されてきたスマートなファイル配布形式です。今回は、ディスクイメージが利用される理由と、使って便利な応用テクニックを紹介します。
ディスクイメージを使うメリット
ディスクイメージとは、ハードディスクやSSDなどの記憶装置に存在するデータを、ファイルシステムの構造ごと1つのファイルとして保存したものです。ファイル/フォルダはもちろんフォーマット形式も、読み書きの権限など制御情報を含め完璧に写し取ることができ、オリジナルのディスク/パーティションを別の場所で再現できるため、バックアップ用途には最適です。パスワードを設定できるので、情報漏えいに対する安心感もあります。
ディスクイメージの形式はいろいろありますが、macOS標準の形式は「DMG」と呼ばれています。フォーマット形式はmacOSがサポートしているものであれば利用できますから、長くmacOSで利用されてきた「HFS Plus」はもちろん、macOS High Sierra以降標準の「APFS」、Windowsなど多くのPCでサポートされる「FAT」などを自由に選択できます。
Macユーザの場合、ディスクイメージのフォーマット形式に「APFS」か「HFS Plus」を選択しておくと、ファイル/フォルダの付帯情報(リソースフォーク)を完全な状態で残すことができます。Macでディスクイメージが長く利用されてきた理由は、このリソースフォークを難なく扱えることにあると言ってもいいでしょう。
ディスクイメージを開くと、システムによる内容の検証を経て問題なければメモリ上に展開され、あたかも物理的に存在するストレージのようにmacOSのファイルシステムへと接続(マウント)されます。開いたディスクイメージがUSBメモリやSDカードのように扱えるのは、この仕組みがFinderに用意されているからです。
ディスクイメージは、アプリの配布形態としても多く採用されています。MacのアプリはFinderで見るかぎりファイルですが、実際にはフォルダ構造を持つため、FATなどリソースフォークに対応しないファイルシステムで扱うと不都合が生じるからです(フォルダとして認識されるためアプリに見えない)。一方、フォーマット形式がAPFSまたはHFS Plusのディスクイメージに収めて配布すれば、ドラッグ&ドロップでインストールが完結します。
「伸び縮みするディスクイメージ」を作成する
ディスクイメージは、インターネット上で配布されているものを使うだけでなく、自分で作成することもできます。外部ストレージに書類をバックアップする場合も、ディスクイメージを使用したほうがなにかと好都合なこともありますから、これを機会に作成方法をマスターしましょう。
ディスクイメージは、macOSに付属の「ディスクユーティリティ」で作成できます。方法は2つ、Macのストレージ上に存在する(既存の)ファイル/フォルダをもとにイメージを作成するか、書き込み可能な空のイメージを作成してそこへファイル/フォルダをコピーするかです。
その際、ディスクイメージは作成時点で容量を決めなければなりません。既存のファイル/フォルダをもとに作成する場合は、容量が確定しているため考える必要はないものの、空のイメージを作成する場合はファイル保存後にムダな空き領域が生じないよう考えておく必要があります。
このとき便利な概念が「スパース・ディスクイメージ」です。保存できるファイル/フォルダの容量合計はサイズ欄で指定した値となりますが、書き込んだデータのぶんしかディスクイメージの容量を消費しないため、未使用領域は発生しません。たとえば、1ギガのディスクイメージを作成しても200メガしかファイルを書き込まなかった場合は、200メガのディスクイメージになります。一方、通常のディスクイメージは未使用領域についても容量を消費しますから、1ギガのディスクイメージは中身が空でもファイルサイズは1ギガになります。
なお、よく似たイメージディスク・フォーマットに「スパースバンドル・ディスクイメージ」があります。こちらも空き容量に関するしくみはスパース・ディスクイメージと同じですが、内部のデータ管理が8メガ単位となっているため、差分バックアップの効率が大幅に改善されます。あとでファイルを追加/内容を変更する可能性がある場合は、スパースバンドル・ディスクイメージを選択するといいでしょう。