1日ひとつだけ強くなる

おべんきょうのーと

Mac OSX上でISOイメージからBootable USBを作成する

動機

久しぶりにISOイメージからBootable USBを作ろうと思ったが,毎回調べてるなぁと思い,自分のためのメモのために書いてみた.

環境

$ uname -a
Darwin hal0taso.local 15.6.0 Darwin Kernel Version 15.6.0: Mon Aug 29 20:21:34 PDT 2016; root:xnu-3248.60.11~1/RELEASE_X86_64 x86_64

用意するもの

  • インストールしたいISOイメージファイル
  • ISOファイル以上の容量があるUSBフラッシュドライブ
  • MacのTerminal

USBフラッシュドライブの初期化

USB フラッシュドライブをシステムに挿入してから diskutil コマンドを実行し,接続されているディスクの一覧を確認する.

$ diskutil list

これで現在接続されているディスクのパーティーション一覧が取得できる.

$ diskutil  list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage Macintosh HD            250.1 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1 (internal, virtual):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macintosh HD           +249.8 GB   disk1
                                 Logical Volume on disk0s2
                                 CD163BED-91C7-48D1-99AC-531133179E53
                                 Unlocked Encrypted
/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *7.8 GB     disk2
   1:                        EFI EFI                     209.7 MB   disk2s1
   2:       Microsoft Basic Data UNTITLED                7.6 GB     disk2s2

僕の場合はdisk2らしい.これはディスクの容量や,ディスクを挿入する前と後の差分などで判断する.

対象ディスク(/dev/disk2)をMS_DOS(FAT)形式で初期化する.

$ diskutil eraseDisk MS-DOS UNTITLED /dev/disk2

ISOイメージをディスクに書き込む

インストールしたいISOイメージファイルをディスクに書き込む.
この時,フォーマット直後はディスクはマウントされたままなので,一度アンマウントする.

$ diskutil unmountDisk /dev/disk2
Unmount of all volumes on disk2 was successful

ddコマンドを使用してISOファイルを書き込む. この時,デバイスファイルに対して一般ユーザーはアクセス権がないため,sudoが必要.

$ sudo dd if=./Downloads/kali-linux-2016.2-amd64.iso of=/dev/disk2 bs=4028

bsオプションの値については,詳しくないので参考サイトの値をそのまま使用させてもらってます…

$ sudo dd if=./Downloads/kali-linux-2016.2-amd64.iso of=/dev/disk2 bs=4028
Password:
763845+1 records in
763845+1 records out
3076767744 bytes transferred in 3320.675473 secs (926549 bytes/sec)

ddの実行は結構時間かかりました.
コーヒーでも飲みながらゆっくり待ちましょう.

ディスクの取り出し

書き込みが終わったら,USBを取り出します.

$ diskutil eject /dev/disk2

一応,diskutil listで取り外されたことを確認して終了です.

参考

MacOSX上でISOファイルからインストールUSBディスクを作る - re:inventing the wheel