APFS非対応のOSでも開けるディスクイメージの作り方

macOS High Sierra 10.13からファイルシステムがAPFSに変わりました。それにより、ディスクユーティリティが作成するディスクイメージファイルのファイルシステムもAPFSになっています。

そのため、macOS 10.13未満のOSで開こうとすると開けなくなってしまいました。

この記事では、ディスクイメージのファイルシステムを指定する方法について解説します。

ディスクイメージを作る方法

ディスクイメージを作るには、次のいずれかの方法で行います。

  • ディスクユーティリティを使って作る
  • hdiutilを使って作る

この中でファイルシステムを指定して作ることができるのは、後者のhdiutilsを使って作る方法です。

hdiutilを使ってディスクメージを作る方法

hdiutilを使ってディスクイメージを作るには、ターミナルで次のように実行します。

$ hdiutil create -srcfolder Test -fs HFS+ Test.dmg

先頭の引数はアクションです。createでディスクイメージを作るように指示しています。他にもマウントするアクションなどもあります。

-srcfolderオプションはディスクイメージに入れるファイル・フォルダが入っているフォルダを指定します。ここではカレントディレクトリのTestというフォルダを指定しています。

-fsオプションがファイルシステムを指定するオプションです。HFS+はmacOS 10.12まで標準で使用されているファイルシステムです。

最後が作成するディスクイメージファイルです。ここではTest.dmgを作成しています。

指定可能なファイルシステム

-fsオプションに指定可能なファイルシステムは、HFS+だけではありません。次のようなものを指定可能です。複数の単語になっているオプションを指定するときは、””で囲みます。

  • UDF
  • MS-DOS FAT12
  • MS-DOS
  • MS-DOS FAT16
  • MS-DOS FAT32
  • HFS+
  • Case-sensitive HFS+
  • Case-sensitive Journaled HFS+
  • Journaled HFS+
  • ExFAT
  • Case-sensitive APFS
  • APFS

ディスクイメージのファイルシステムを確認する方法

ディスクイメージのファイルシステムが何になっているか確認するには、実際にマウントしてしまうか、hdutilを使います。

マウントして確認する方法

次のようにします。

  1. 確認したいディスクイメージをFinderでマウントする。
  2. マウントしたボリュームを選択して、「ファイル」メニューから「情報を見る」を選択する。
  3. 「一般情報」の「フォーマット」を確認する。

HFS+なら「Mac OS拡張」と表示されます。

hdiutilを使う方法

hdiutilを使って確認するときは、アクションにimageinfoを指定します。

$ hdiutil imageinfo Test.dmg

Test.dmgは確認したいディスクイメージです。出力される情報の中で「Partition Information」の値を確認します。

Partition Information:
	3:
		Name: disk image(Apple_HFS: 4)
		Partition Number: 3
		Checksum Type: CRC32
		Checksum Value: $3E471B93
	4:
		Name: (Apple_Free: 5)
		Partition Number: 4
		Checksum Type: CRC32
		Checksum Value: $00000000
	0:
		Name: GPT Header(Primary GPT Header: 1)
		Partition Number: 0
		Checksum Type: CRC32
		Checksum Value: $CEBAB25D
	5:
		Name: GPT Partition Data(Backup GPT Table: 6)
		Partition Number: 5
		Checksum Type: CRC32
		Checksum Value: $023D8A03
	1:
		Name: GPT Partition Data(Primary GPT Table: 2)
		Partition Number: 1
		Checksum Type: CRC32
		Checksum Value: $023D8A03
	6:
		Name: GPT Header(Backup GPT Header: 7)
		Partition Number: 6
		Checksum Type: CRC32
		Checksum Value: $E51B930E
	-1:
		Name: Protective Master Boot Record(MBR: 0)
		Partition Number: -1
		Checksum Type: CRC32
		Checksum Value: $81A8883E
	2:
		Name: (Apple_Free: 3)
		Partition Number: 2
		Checksum Type: CRC32
		Checksum Value: $00000000

上記の例ではディスクイメージの中でいくつものパーティションが入っていることが分かります。この中で、3番のNamedisk image (Apple_HFS: 4)と出力されているので、HFS+だと分かります

例えば、FAT16のイメージでは次のように出力されます。

Partition Information:
	-1:
		Name: Master Boot Record(MBR: 0)
		Partition Number: -1
		Checksum Type: CRC32
		Checksum Value: $60F9AB31
	0:
		Name: (DOS_FAT_16: 1)
		Partition Number: 0
		Checksum Type: CRC32
		Checksum Value: $E6119278

0番のNameDOS_FAT_16: 1と出力されているので、FAT16だと分かります。

投稿者プロフィール

林 晃
林 晃macOS/iOSアプリ/SDK/ミドルウェア開発が専門の開発者
アールケー開発代表。macOS/iOSアプリ/SDK/ミドルウェア開発が専門の開発者。ObjC/Swift/C++使い。豊富な開発実務経験を基に、教育コンテンツ開発、技術書執筆、技術指導、技術セミナー講師、企業内研修講師、行政・自治体職員研修講師も行います。

基礎から学ぶMetal


「基礎から学ぶMetal」を執筆しました。本書はMetalを使ってGPUプログラミングを行うための最初のステップを解説するMetalの解説書です。

私が初めてGPUプログラミングを行ったとき、どこから手をつけて、学んでいけば良いのか分からず呆然としました。もし、あのとき、これを教えてくれればという部分を解説しました。本書で解説している部分はMetalの基礎となる部分で、Metalを使うときに必ず触れることになる部分です。

詳細

基礎から学ぶSwiftUI


「基礎から学ぶ SwiftUI」というタイトルの本を執筆しました。

SwiftUIの入門書です。

SwiftUIのコンセプトは「ユーザーインターフェイスを作るための最短パスを提供する」「一度学べば(Appleのプラットフォームの)どこにでも適用できる」です。

SwiftUIの概要から始まって、一つ一つのテクノロジートピックに注目しながらSwiftUIとは何か?どんなことができるのか?どのようなコードを書けば良いのかなどを丸々一冊使って解説しています。

詳細

関連記事

  1. Finderと同じ方式のZipファイルをターミナルやシェルスクリプトで…

  2. 【Python】ArgumentParserでコマンドライン引数を取得…

  3. 【Python】loggingを使ってログを出力する

最近の著書

  1. 基礎から学ぶ SwiftUI

最近の記事