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

CLI

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だと分かります。

スポンサーリンク
最新情報をチェックしよう!
>現役のプログラマーが書くプログラミング情報

現役のプログラマーが書くプログラミング情報

日々の開発の中での学びや分かったこと、調べたことなどを書いていくブログです。

CTR IMG