iBoysoftglossary

Macのdiskutilコマンド一覧(diskutil list/erase/apfs/repair)

Macでdiskutilコマンドを使う方法を解説します。diskutil list、diskutil eraseDisk、diskutil apfs、diskutil mount/unmount、diskutil repair、diskutil ejectなどのサブコマンドを紹介します。

On this page

Quick definition

Macでdiskutilコマンドを使う方法を解説します。diskutil list、diskutil eraseDisk、diskutil apfs、diskutil mount/unmount、diskutil repair、diskutil ejectなどのサブコマンドを紹介します。

Macのdiskutilコマンド解説|diskutil list/erase/apfs/repair

概要: iBoysoftのこの記事では、Terminalでdiskutilコマンドにさまざまなサブコマンドを組み合わせ、内蔵ディスクや外付けディスク、パーティションを管理する方法を説明します。対象となるサブコマンドは、diskutil list、diskutil apfs、diskutil erase、diskutil mount/unmount、diskutil repair、diskutil ejectです。

diskutil

Macユーザーの多くは、macOSに標準搭載されているディスク管理ツールディスクユーティリティをご存じでしょう。一方で、そのコマンドライン版ともいえるdiskutilについては、あまり知られていません。diskutilは、ディスクユーティリティをより低いレベルで操作できる、より高度なツールです。

適切なサブコマンドとパラメータを組み合わせることで、ディスクユーティリティで利用できる操作を、より細かく制御しながら実行できます。さらに、ディスクユーティリティでは利用できない操作にも対応しています。

たとえば、diskutil listを実行すると、Mac上のすべてのディスクが一覧表示されます。EFI、Preboot、Recovery HDなど、ディスクユーティリティでは一部しか表示されない隠しパーティションも、詳細な情報とともに確認できます。

diskutilは柔軟性と操作性に優れているため、Macのディスクやパーティションを管理するのに役立ちます。ただし、使い方を誤ると、意図しないデータ損失などの問題が発生する可能性があります。

そこで、この記事では、ディスクやパーティションの一覧表示、消去、修復、マウント、マウント解除、取り出しといった、Terminalで実行できる基本的な操作を説明します。操作対象は、内蔵・外付けを問わず、ディスクまたはパーティションです。

 ヒント: Terminalで「man diskutil」を実行すると、diskutilで使用できるすべてのサブコマンドとオプション、その説明を記載したマニュアルページを表示できます。diskutilだけを実行すると、利用できるサブコマンドの一覧が概要としてTerminalに表示されます。

diskutilで使用できるすべてのサブコマンド

目次:

diskutil list:macOSでディスクを一覧表示する

「list」コマンドを使うと、Macに接続されている内蔵ディスクと外付けディスクをすべて一覧表示できます。物理ディスクやパーティションのほか、ディスクイメージなどの仮想ディスクも表示対象です。internal、external、physical、corestorage、virtualなどのフィルター引数を指定して、表示するディスクを絞り込むこともできます。

ディスクやパーティションを操作する際は、まずディスク情報を一覧表示します。操作対象のディスク識別子を確認できるためです。

ターミナルに表示されたdiskutil listの出力

Boot Campパーティションを含め、macOS上のすべてのディスクとパーティションを表示するには、次のコマンドを実行します。

diskutil list

macOSがディスクを検出できていない場合、そのディスクはターミナルに表示されません。そのため、diskutil listを実行してもすべてのドライブが表示されないことがあります。

「diskutil list: command not found」と表示された場合は、次のガイドの解決方法を試してください: [解決済み]ターミナルで発生するMacの「Command Not Found」エラー

macOS上の内蔵ディスクのみを表示するには、次のコマンドを実行します。

diskutil list internal

外付けディスクのみを表示するには、次のコマンドを実行します。

diskutil list external

特定のディスクの情報を表示するには、次のコマンドを実行します。diskutil list diskX

すべてのCore Storage論理ボリュームグループ、物理ボリューム、論理ボリュームファミリー、または論理ボリュームを一覧表示するには、次のいずれかを実行します。diskutil cs listまたは 
diskutil corestorage list

MacにCore Storageボリュームがない場合、ターミナルには「No CoreStorage logical volume groups found.」と表示されます。これは、次の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

システムボリュームのPrebootボリュームを更新する場合は、次のコマンドを実行します。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コマンドを使い、ディスクやパーティションを消去する方法も一般的です。

ディスクを消去するには、次のコマンドを実行します。

diskutil eraseDisk format name GPT diskX

ディスク(disk2)をAPFSでフォーマットし、名前をUSBに設定する場合:diskutil eraseDisk APFS USB GPT disk2

ディスク(disk2)をMac OS Extended(ジャーナリング)でフォーマットし、名前をUSB Driveに設定する場合:diskutil eraseDisk JHFS+ "USB Drive" GPT disk2

ディスク(disk2)をexFATでフォーマットし、名前をUSBに設定する場合:diskutil eraseDisk exFAT USB GPT disk2

ディスク(disk2)をFAT32でフォーマットし、名前をUSB External Driveに設定する場合:diskutil eraseDisk FAT32 "USB External Drive" GPT disk2

 注: コマンド内のGPTは、MBRに変更することもできます。ここでは、現行の一般的な用途ではGPTが推奨されることが多く、2TBを超えるディスクにも必要となるため、GPTを使用しています。

パーティションを消去するには、次のコマンドを実行します。

diskutil eraseVolume format name diskXsX

diskutil mount/unmount:macOSでディスクをマウント/マウント解除する

macOSでディスクをマウントするには、次のコマンドを実行します。

diskutil mountDisk diskX

macOSでパーティションをマウントするには、次のコマンドを実行します。

diskutil mount diskXsX

これらのコマンドは、内蔵ディスクと外付けディスクの両方で使用できます。たとえば、MacでEFIパーティションをマウントする場合は、次のコマンドを使います: diskutil mount disk0s1

こちらもお読みください: Macで外付けハードドライブを(強制的に)マウントする方法(ターミナル)

macOSでディスクのマウントを解除するには、次のコマンドを実行します。

diskutil unmountDisk diskX

macOSでパーティションのマウントを解除するには、次のコマンドを実行します。

diskutil unmount diskXsX

diskutil repair/verify:macOSでディスクを検証・修復する

ディスクのファイルシステム構造を検証するには、次のコマンドを実行します。

diskutil verifyDisk diskX

パーティションのファイルシステム構造を検証するには、次のコマンドを実行します。

diskutil verifyVolume diskXsX

破損したディスクを修復するには、次のコマンドを実行します。

diskutil repairDisk diskX

破損したパーティションを修復するには、次のコマンドを実行します。

diskutil repairVolume diskXsX

diskutil eject:macOSでディスクを安全に取り出す

デスクトップから外付けドライブを取り出せないことがあり、ターミナルで操作するより時間がかかる場合もあります。そのため、私はdiskutil ejectコマンドを使ってドライブを取り出しています。

diskutil eject diskX

Macのdiskutilコマンドを共有しましょう!