Written by
JackYamamoto概要: この記事では、iBoysoftから、ターミナルで内部または外部ディスク/パーティションを管理するための各動詞を使用する方法について学びます。以下の動詞について説明します: diskutil list, diskutil apfs, diskutil erase, diskutil mount/unmount, diskutil repair、そしてdiskutil eject。
多くのMacユーザーは、macOSに組み込まれたディスク管理ツールであるDisk Utilityを知っています。しかし、そのコマンドラインの相当部分である diskutil を知っている人は少数です。基本的に、diskutilはDisk Utilityの生の、より高度なバージョンです。
適切な動詞とパラメータと組み合わせることで、Disk Utilityで利用可能な同じタスクをより細かく制御することができます。さらに、Disk Utilityでは利用できない機能も使用できます。
例えば、diskutil listというコマンドを実行すると、Mac上のすべてのディスクがリストされ、EFIやPreboot、Recovery HDなどの隠しパーティションも含めて詳細な情報が表示されます。これに対し、Disk Utilityは部分的な情報しか表示しません。
diskutilの汎用性とパワーにより、Mac上のディスクやパーティションを管理するための優れたツールとなっています。ただし、不適切な使用法は意図しないデータ損失やその他の問題を引き起こす可能性があります。
それがこの投稿を作成した理由です。この投稿では、ディスクをリストしたり、消去したり、修復したり、マウントしたり、アンマウントしたり、またはイジェクトしたりするなど、ディスク/パーティションで実行したい基本的な機能について取り上げます。ターミナル。
ヒント: ターミナルで"man diskutil"を実行すると、diskutilのマンページが表示され、説明が付いた使用可能な動詞やオプションがすべて表示されます。もしくは、diskutilだけを実行すると、Terminalが使用可能な動詞を簡単に要約します。
diskutil list: macOS上でディスクをリストする
動詞「list」は、Macに接続されているすべての内部および外部ディスク、物理ディスク、そのパーティション、ディスクイメージなどの仮想ディスクをリストアップできます。内部、外部、物理的、コアストレージ、仮想などのフィルター引数を使用して表示されるディスクの数を制限することができます。
ドライブ情報をリストアップすることは、ディスクやパーティションで作業をするための最初のステップであり、作業したいディスクのディスク識別子を示しています。
Boot Campパーティションを含むmacOS上のすべてのディスクやパーティションを表示するには:
diskutil list
macOSによってディスクが検出されない場合、Terminalに表示されず、全ドライブが表示されないdiskutil listが表示されます。
"diskutil list: command not found"と表示される場合は、このガイドの解決策を試してみてください: [Fixed] Mac Command Not Found Error in Terminal
macOS上で内部ディスクのみを表示するには:
diskutil list internal
macOS上で外部ディスクのみを表示するには:
diskutil list external
特定のディスクのディスク情報を表示するには:diskutil list diskX
すべてのコアストレージ論理ボリュームグループ、物理ボリューム、論理ボリュームファミリ、または論理ボリュームをリストアップするには:diskutil cs listまたは
diskutil corestorage list
Macにコアストレージボリュームがない場合、Terminalはメッセージ「コアストレージ論理ボリュームグループが見つかりません」と返します。これは次の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の動詞を使用して、Terminalでボリュームのリスト、サイズ変更、ロック解除、追加、または削除を行うことができます。
APFSコンテナとパーティションの詳細を確認するには:(UUID、FileVault暗号化)diskutil apfs list
APFSコンテナをリサイズするには:(新しいコンテナサイズが既存のデータを収容するには十分でない場合、データが失われる可能性があります。)
diskutil apfs resizeContainer container_diskX size
識別されたdisk2を100GBにリサイズする必要がある場合、コマンドは次のようになります: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ディスク(disk2)を名前USBドライブのMac OS Extended(Journaled)にフォーマット:
diskutil eraseDisk JHFS+ "USB Drive" GPT disk2ディスク(disk2)を名前USBのexFATにフォーマット:
diskutil eraseDisk exFAT USB GPT disk2ディスク(disk2)を名前USB External DriveのFAT32にフォーマット:
diskutil eraseDisk FAT32 "USB External Drive" GPT disk2注意: コマンドのGPTをMBRに変更することもできます。ここでは、一般的に多くの現代的な用途に適しており、2TBを超えるディスクに必要なGPTを使用しています。
パーティションを消去するには:
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コマンドを共有してください!