16
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MacでISOを焼いてブート可能なUSBを作る

Last updated at Posted at 2020-07-06

しばしば忘れるので、備忘録として…

実行時の環境

macOS 10.14.6 Mojave

準備

  • iTerm2などのコンソールが利用できること
  • 対象ISOイメージはカレントディレクトリにあるものとして、予めcdしておくこと

USBメモリのフォーマット

USBメモリを接続し、ディスクの一覧を取得します。

$ diskutil list

今回は16GBのメモリを接続したので、対象のディスクは /dev/disk2 となります。

/dev/disk0 (internal):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                         251.0 GB   disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:                 Apple_APFS Container disk1         250.7 GB   disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +250.7 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            47.7 GB    disk1s1
   2:                APFS Volume Preboot                 46.3 MB    disk1s2
   3:                APFS Volume Recovery                510.5 MB   disk1s3
   4:                APFS Volume VM                      3.2 GB     disk1s4

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.9 GB    disk2
   1:             Windows_FAT_32                         15.9 GB    disk2s1

対象ディスクを MS-DOS 形式でフォーマットします。

$ diskutil eraseDisk MS-DOS UBUNTU /dev/disk2

仕様上、マウントポイントとするボリューム名を省略できません。
今回は ubuntu 20.04 のイメージを焼くので、適当に UBUNTU とします。
(ちなみにディスクユーティリティのデフォルトは UNTITLED なので、この辺はお好みで…)

出力例…

Started erase on disk2
Unmounting disk
Creating the partition map
Waiting for partitions to activate
Formatting disk2s2 as MS-DOS (FAT) with name UBUNTU
512 bytes per physical sector
/dev/rdisk2s2: 30522224 sectors in 1907639 FAT32 clusters (8192 bytes/cluster)
bps=512 spc=16 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=411648 drv=0x80 bsec=30552064 bspf=14904 rdcl=2 infs=1 bkbs=6
Mounting disk
Finished erase on disk2

ISOイメージの書き込み

ddを使うので、対象ディスクは先にアンマウントしておきます。
アンマウントしないと Resource busy と怒られてしまいます。

$ diskutil unmountDisk /dev/disk2

ddは sudo で実行する必要があります。

$ sudo dd if=./ubuntu-20.04-live-server-amd64.iso of=/dev/rdisk2 bs=16m

ofオプションについて

/dev/rdisk2 と指定しています。

両者の違いは、

  • disk … 通常のランダムアクセス
  • rdisk … シーケンシャル(順次)アクセス

ということです。ddでランダムアクセスをしてしまうと激遅になります…

bsオプションについて

転送バイト数を指定しますが、デフォルトは512バイトです。
効率が悪いはずなので、ある程度上げます。

USB2.0 の実効上の最大転送速度が 40MB/s くらいなので、その半分弱程度…ということで適当に 16m としています。

どうしても遅ければ環境に合わせた検証が必要なはずですが……

出力例…

56+1 records in
56+1 records out
952107008 bytes transferred in 28.497026 secs (33410750 bytes/sec)

私の環境では、950MBで30秒弱でした。
結果を見ると、転送速度は自動調整されているみたいですね。。

USBの取り出し

完了したら、USBは取り出します。

$ diskutil eject /dev/disk2

エラー表示も出ると思うので、そちらの画面のボタンから取り出しても大丈夫です。
boot_usb_error.png

Fin ❤︎

16
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?