Windows では USB ブート可能ディスクを作成するための便利なツール ( Rufusなど) がたくさんあります が、MacOS ではこのタイプのツールはあまりありません。MacOS で DD
コマンドを使用して Linux USB ブート可能ディスクを作成する手順は次のとおりです。
ステップ
ディスクマウントパーティションの表示
このコマンドを使用してdiskutil list
USB フラッシュ ドライブのパーティションを表示し、USB フラッシュ ドライブのマウント ポイントを見つけます。マウント ポイントは次のとおりです。/dev/disk2
$ diskutil list
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk\_partition\_scheme \*31.0 GB disk2
1: DOS\_FAT\_32 UNTITLED 31.0 GB disk2s1
U ディスク マウントをアンインストールする
diskutil unmountDisk
コマンドを使用してU ディスクをアンマウントします。
$ diskutil unmountDisk /dev/disk2
Unmount of all volumes on disk2 was successful
マウント ポイントをアンマウントせずにブート ディスクに書き込むと、プロンプトが表示されますdd: /dev/disk2: Resource busy
。
ddを使用してisoを書き込みます
dd コマンドを使用して CentOS をブート ディスクに書き込みます。
sudo dd if=~/carl\_workSpace/software/os/CentOS-7-x86\_64-DVD-1810.iso of=/dev/rdisk2 bs=1m
知らせ:
- これは
~/carl_workSpace/software/os/CentOS-7-x86_64-DVD-1810.iso
ローカル CentOS のパスです。実際のパスに置き換える必要があります。 /dev/rdisk2
これは上記の USB ディスクのマウント ポイントです。ここでディスクの前に余分なrdiskutil list
があることに注意してください 。これは元のディスクではなく、書き込みを高速化することが目的です。rdisk2
disk2
rdisk2
disk2
書き込みには数分かかりますが、その間に CTRL + T を使用すると、以下に示すように書き込みの進行状況が表示されます。
109+0 records in
108+0 records out
113246208 bytes transferred in 7.430910 secs (15239884 bytes/sec)
iostat
ディスクの書き込みの進行状況を表示するために使用することもできます
$ iostat -w 5
disk0 disk2 cpu load average
KB/t tps MB/s KB/t tps MB/s us sy id 1m 5m 15m
42.68 14 0.58 849.97 0 0.00 7 4 89 3.84 3.42 2.67
450.16 15 6.50 1024.00 7 7.19 3 3 94 3.70 3.39 2.67
85.34 124 10.33 1024.00 9 8.80 6 4 90 3.64 3.39 2.67
$
最終的に完了すると、dd コマンドは次のように出力します。
4376+0 records in
4376+0 records out
4588568576 bytes transferred in 539.126637 secs (8511115 bytes/sec)
書き込みが完了すると、Macos に「このコンピュータは挿入されたディスクを読み取れません。」というプロンプト ボックスが表示されます。
USB ブートディスクは Macos では正常に読み取れませんが、CentOS をインストールするためのブートディスクとして使用できます。
diskutil list
現時点での U ディスクのパーティション情報を表示するために使用します。
$ diskutil list
...
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk\_partition\_scheme \*31.0 GB disk2
1: 0xEF 8.9 MB disk2s2
$
USBドライブを取り出します
「ディスクユーティリティ」APPまたはコマンドを使用して、diskutil eject
USBフラッシュドライブを取り出します。
diskutil eject /dev/disk2
拡張する
Macos の /dev/disk と /dev/rdisk の違い
まずman hdiutil
説明を見てください。
/dev エントリはすべて raw ディスク イメージとして扱うことができるため、どのデバイスにいつ、どのようにアクセスできるかに注目する価値があります。/dev/rdisk ノードは文字特殊デバイスですが、BSD の意味では「生」であり、ブロック整列 I/O を強制します。これらはバッファ キャッシュよりも物理ディスクに近いです。一方、/dev/disk ノードはバッファリングされたブロック特殊デバイスであり、主にカーネルのファイルシステム コードによって使用されます。
/dev/rdisk
ファイル システムのファイル キャッシュ メカニズムを経由しない raw 読み取りモードであるため、/dev/disk
速度よりも高速です。
918MサイズをCentOS-7-x86_64-Minimal-1810.iso
例として書き込み速度を比較して/dev/rdisk
みましょう/dev/disk
。両方のコマンドは次のとおりです。
# 写入/dev/rdisk的速度
$ sudo dd if=CentOS-7-x86\_64-Minimal-1810.iso of=/dev/rdisk2 bs=1m
918+0 records in
918+0 records out
962592768 bytes transferred in 106.192945 secs (9064564 bytes/sec)
# 写入/dev/disk的速度
sudo dd if=CentOS-7-x86\_64-Minimal-1810.iso of=/dev/disk2 bs=1m
918+0 records in
918+0 records out
962592768 bytes transferred in 3016.605565 secs (319098 bytes/sec)
/dev/rdisk
書き込みには106 秒かかったのに対し、書き込みには3016 秒かかったことがわかり/dev/disk
、その差は非常に大きいです。