Written by
JackYamamoto概要: iBoysoftからのこの記事では、ターミナルで内部または外部ディスク/パーティションを管理するための各動詞を使用する方法について学びます。以下の動詞について説明します: diskutil list, diskutil apfs, diskutil erase, diskutil mount/unmount, diskutil repair、そしてdiskutil eject。
多くのMacユーザーは、macOSに組み込まれたディスク管理ツールであるディスクユーティリティを知っています。しかし、そのコマンドラインの相当部分である diskutil を知っている人は少ないです。基本的に、diskutilはDisk Utilityの生の、より高度なバージョンです。
適切な動詞とパラメータと組み合わせることで、ディスクユーティリティで実行できるのと同じタスクをより細かく制御して実行できます。さらに、ディスクユーティリティで実行できる以上の操作が可能になります。
例えば、diskutil listというコマンドを実行すると、Mac上のすべてのディスクがリストされ、EFIやPreboot、Recovery HDなどの隠しパーティションも含めて詳細な情報が表示されます。これに対し、Disk Utilityは部分的な情報しか表示しません。
diskutilの汎用性とパワーにより、Mac上のディスクやパーティションを管理するための優れたツールとなっています。ただし、不適切な使用法は意図しないデータ損失やその他の問題を引き起こす可能性があります。
そのため、この投稿は皆さんのお役に立てるよう作成しました。ターミナルでのディスク/パーティションの一覧表示、消去、修復、マウント、アンマウント、取り出しなど、ディスクで実行する必要がある基本的な機能について説明します。
ヒント: ターミナルで"man diskutil"を実行すると、のマニュアル ページが表示され、説明とともに使用できるすべての動詞とオプションが表示されます。diskutil のみを実行すると、ターミナルは、使用できるすべての動詞を要約して出力します。
diskutil list: macOS上でディスクをリストする
「list」という動詞を使用すると、物理ディスク、そのパーティション、ディスクイメージなどの仮想ディスクなど、Mac に接続されているすべての内部および外部ディスクを一覧表示できます。フィルター引数 (内部、外部、物理、コアストレージ、仮想など) を使用して、表示されるディスクの数を制限できます。
ドライブ情報を一覧表示することは、ディスクまたはパーティションを操作するための最初のステップです。これにより、操作するディスクのディスク ID が表示されます。
Boot Campパーティションを含むmacOS上のすべてのディスクやパーティションを表示するには:
diskutil list
macOS でディスクが検出されない場合、ターミナルに表示されず、diskutil list にすべてのドライブが表示されません。
macOS上で内部ディスクのみを表示するには:
diskutil list internal
macOS上で外部ディスクのみを表示するには:
diskutil list external
特定のディスクのディスク情報を表示するには:diskutil list diskX
すべてのコアストレージ論理ボリュームグループ、物理ボリューム、論理ボリュームファミリ、または論理ボリュームを一覧表示するには:diskutil cs listまたは
diskutil corestorage list
Mac に Core Storage ボリュームがない場合、ターミナルは「CoreStorage 論理ボリューム グループが見つかりません」というメッセージを返します。これは、次の 3 つの状況のいずれかで発生します。1) Mac に Fusion Drive がない。2) Fusion Drive が分割されている。3) Fusion Drive が APFS でフォーマットされている。
注意: ターミナルの出力にアスタリスクとプラス記号が表示されます。アスタリスク (*) は物理ディスクを意味し、プラス記号 (+) は仮想ディスクを示します。
次のセクションのコマンドでは、多くの場合、ターゲット ディスクまたはパーティションのディスク識別子が必要です。実行する前に、一般的な仕様をドライブの識別子に置き換えることを忘れないでください。
diskX: ドライブのディスク識別子、disk2。
diskXsX: ボリュームまたはパーティションの識別子、disk2s2。
container_diskX: APFS コンテナのディスク識別子、disk3。
重要なファイルを消去または削除する前に、重要なファイルをバックアップしてください!!!!
diskutil apfs: macOS上でAPFSボリュームを管理する
APFSは、macOS High Sierra以降を実行しているMacのデフォルトファイルシステムです。APFSの動詞を使用して、ターミナルでボリュームのリスト、サイズ変更、ロック解除、追加、または削除を行うことができます。
APFSコンテナとパーティションの詳細を確認するには:(UUID、FileVault暗号化)diskutil apfs list
APFSコンテナをリサイズするには:(新しいコンテナサイズが既存のデータを収容するには十分でない場合、データ損失につながる可能性があります。)
diskutil apfs resizeContainer container_diskX size
disk2 として識別される APFS コンテナのサイズを 100 GB に変更する必要がある場合、コマンドは次のようになります: diskutil apfs resizeContainer disk2 100GB
暗号化された APFS ボリュームのロックを解除するには:
diskutil apfs unlockVolume diskXsX
識別子がdisk3s1のAPFSボリュームをアンロックしたい場合、コマンドは次のようになります:diskutil apfs unlockVolume disk3s1
APFSコンテナのPrebootボリュームを更新するには:
diskutil apfs updatePreboot container_diskX
システムボリュームの再ブートボリュームを更新する必要がある場合、次のように実行します:diskutil apfs updatePreboot /
APFSボリュームを追加するには:
diskutil apfs addVolume container_diskX APFS name
APFSボリュームを削除するには:
diskutil apfs deleteVolume diskXsX
APFSコンテナを削除するには:
diskutil apfs deleteContainer containerDiskX
ヒント: "diskutil apfs"の使用方法について詳しく学ぶには、ターミナルでdiskutil apfsを実行してください。"deleteContainer"のようなAPFS動詞の使用方法がわからない場合は、次のように実行してターミナルでその例を確認してください:diskutil apfs deleteContainer
macOSでディスクを消去するためのdiskutilの使用
ディスクやパーティションを消去するために、ディスクユーティリティコマンドを使用するのは一般的な方法です。
ディスクを消去するには:
diskutil eraseDisk format name GPT diskX
ディスク (disk2) を USB という名前で APFS にフォーマットします:
diskutil eraseDisk APFS USB GPT disk2
ディスク (ディスク 2) を Mac OS 拡張 (ジャーナリング) にフォーマットし、USB ドライブという名前にします:
diskutil eraseDisk JHFS+ "USB Drive" GPT disk2
ディスク (ディスク 2) を exFAT にフォーマットし、USB という名前にします:
diskutil eraseDisk exFAT USB GPT disk2
ディスク (ディスク 2) を exFAT にフォーマットし、USB 外部ドライブという名前にします:
diskutil eraseDisk FAT32 "USB External Drive" GPT disk2
注意: コマンドのGPTをMBRに変更することもできます。ここでは、GPT が使用されています。これは、ほとんどの最新の用途で一般的に好まれ、2TB を超えるディスクに必要なためです。
パーティションを消去するには:
diskutil eraseVolume format name diskXsX
diskutil マウント/アンマウント:macOSでディスクをマウント/アンマウントする
macOSでディスクをマウントするには:
diskutil mountDisk diskX
macOSでパーティションをマウントするには:
diskutil mount diskXsX
これらのコマンドは、内部および外部ディスクの両方に適用されます。たとえば、MacでEFIパーティションをマウントする必要がある場合は、次のようにします:diskutil mount disk0s1
さらに読む: Macで外部ハードドライブを(強制的に)マウントする方法?(ターミナル)
macOSでディスクをアンマウントするには:
diskutil unmountDisk diskX
macOSでパーティションをアンマウントするには:
diskutil unmount diskXsX
diskutil 修復/検証:macOSでディスクを修復する
ディスクのファイルシステムデータ構造を検証するには:
diskutil verifyDisk diskX
パーティションのファイルシステムデータ構造を検証するには:
diskutil verifyVolume diskXsX
破損したディスクを修復するには:
diskutil repairDisk diskX
破損したパーティションを修復するには:
diskutil repairVolume diskXsX
diskutil イジェクト:macOSで安全にディスクを取り出す
デスクトップから外付けドライブを取り出すことは必ずしもうまくいくとは限らず、ターミナルで行うよりも時間がかかります。そのため、私は diskutil eject コマンドを使用してドライブを取り出すことを好みます。
diskutil eject diskX
これらのMac diskutilコマンドを共有してください!