Linux システムは DD コマンドを使用して USB ブートディスクを作成します

Windows では USB ブート可能ディスクを作成するための便利なツール ( Rufusなど) がたくさんあります が、MacOS ではこのタイプのツールはあまりありません。MacOS で DD コマンドを使用して Linux USB ブート可能ディスクを作成する手順は次のとおりです。

ステップ

ディスクマウントパーティションの表示

このコマンドを使用してdiskutil listUSB フラッシュ ドライブのパーティションを表示し、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

知らせ:

  1. これは~/carl_workSpace/software/os/CentOS-7-x86_64-DVD-1810.isoローカル CentOS のパスです。実際のパスに置き換える必要があります。
  2. /dev/rdisk2これは上記の USB ディスクのマウント ポイントです。ここでディスクの前に余分なrdiskutil listがあることに注意してください 。これは元のディスクではなく書き込みを高速化することが目的です。rdisk2disk2rdisk2disk2

書き込みには数分かかりますが、その間に 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 ejectUSBフラッシュドライブを取り出します。

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、その差は非常に大きいです。

おすすめ

転載: blog.csdn.net/weixin_57099902/article/details/131832198