コンピュータのメンテナンス
 Computer >> コンピューター >  >> トラブルシューティング >> コンピュータのメンテナンス

MacでAPFSコンテナのサイズ変更エラー49180を解決する方法

Appleは、長年使われてきたHFS+ファイルシステムに代わる「Apple File System(APFS)」を、macOS High Sierraのリリースとともに導入しました。新しいファイルシステムは、暗号化、ファイル整合性、スペース割り当ての面で大幅な改善が加えられ、クローンやスナップショットといった新機能も搭載されています。

ファイルシステムとは、ハードディスクやSSD上にデータを保存するための仕組みです。各ファイルを構成するデータがドライブ上のどこに配置されているかを管理し、ファイル名、サイズ、作成日時、更新日時などのメタデータも記録しています。これらの情報は通常、Finderから確認できます。

APFSは、ストレージシステム上のデータを整理・構造化するためにAppleが独自に設計したシステムで、Macで30年以上使われてきたHFS+に取って代わりました。

HFSやその前身であるHFS+は、フロッピーディスクが主流だった時代に生まれたものです。当時はハードドライブ自体が高価なサードパーティ製オプションでした。

Appleは当初から、APFSをSSDやその他のフラッシュストレージ向けに最適化して設計しました。ただし、ソリッドステートストレージ向けに開発されたものの、最新のハードディスクドライブでも良好なパフォーマンスを発揮します。APFSは以下のOSに搭載されています。

  • macOS Catalina(10.15)
  • macOS Mojave(10.14)
  • macOS High Sierra(10.13)
  • macOS Big Sur
  • iOS 10.3以降
  • tvOS 10.2以降
  • watchOS 3.2以降

APFSには、従来のファイルシステムと一線を画す数々の特徴があります。

  • クローン:追加のディスク容量を使わずに、ほぼ瞬時にファイルをコピーできます。従来のようにファイルを一つずつ複製するのではなく、元のファイルを参照し、両者で共通するデータブロックを共有します。片方のファイルに変更を加えると、変更されたブロックだけが新しく書き込まれ、残りのブロックは引き続き共有されます。これにより、コピー・保存が非常に高速になり、ストレージ容量も節約できます。
  • スナップショット:特定の時点のボリューム状態を記録できます。効率的なバックアップが可能になり、任意の時点の状態に戻すこともできます。スナップショットは元のボリュームへの読み取り専用ポインタであり、実際のデータ領域はほとんど消費しません。時間の経過とともに元のボリュームへ変更が加えられると、変更分だけがスナップショットに反映されます。
  • 暗号化:AES-XTSまたはAES-CBCモードによる強力なフルディスク暗号化をサポートし、ファイルだけでなくメタデータも暗号化されます。対応する暗号化方式は以下の通りです。
    1. クリア(暗号化なし)
    2. シングルキー
    3. マルチキー(データとメタデータそれぞれに個別のキーを使用)
  • スペースシェアリング:パーティションサイズを事前に固定する必要がなくなり、すべてのボリュームがドライブ上の空き領域を共有します。複数のボリュームが必要に応じて動的に拡大・縮小でき、再パーティション化は不要です。
  • コピーオンライト:変更がない限りデータ構造を共有できる仕組みです。書き込み要求が発生すると、元のデータを保護したまま新しいコピーが作成され、書き込み完了後にのみファイル情報が更新されます。
  • アトミックセーフセーブ:コピーオンライトと似た概念ですが、ファイルやディレクトリの名前変更・移動など、あらゆるファイル操作に適用されます。例えば名前変更の場合、新しい名前を持つコピーが先に作成され、処理が完全に終わってからファイルシステムが更新されます。停電やCPUの不調などで処理が中断されても、元のファイルは無傷のまま保たれます。
  • スパースファイル:必要になった時点で初めてディスク領域を割り当てる、効率的な方式です。非スパースのファイルシステムでは、データがまだ存在しなくても事前に領域を確保しておく必要があります。

APFSフォーマットのUSBメモリが古いMacやWindows PCで読めないという問題を除けば、ほとんどのユーザーが深刻なAPFSエラーに遭遇することはないでしょう。すべての変更は内部で行われるため、結果としてより高速で信頼性が高く安全なMacになります。

MacのAPFSエラーコード49180とは?

新しいソフトウェアや機能の実装には、予期しない不具合や互換性の問題がつきものです。その一つが、Disk Utility(ディスクユーティリティ)でシステムパーティションを縮小しようとした際に発生するエラーコード49180です。

この問題では、Disk UtilityでもdiskutilコマンドでもAPFSのmacOSパーティションを縮小できません。いずれかの方法を試すたびに、「APFSコンテナのサイズ変更エラー49180 – 使用できないディスク領域」というメッセージが表示されます。

場合によっては、Boot Campパーティションを削除してメインディスクの空き容量を増やそうとしたユーザーもいます。Disk Utilityでパーティションを削除しても、Macintosh HDの容量は増えず、確保されたはずの空き領域が消えてしまいました。そこでDisk Utilityで「空き」領域を削除して他のパーティションを拡張しようとしても、毎回APFSコンテナのサイズ変更エラー49180が返されるのです。「空き」領域を削除して新しいパーティションを作成しようとしても失敗します。

空き領域の回収時にエラーコード49180が発生する原因

この「APFSコンテナのサイズ変更エラー49180 – 使用できないディスク領域」に遭遇したら、まずこのファイルシステムの制限事項を思い出してください。

  • OS X 10.11 El Capitan以前のMacでは、APFSフォーマットのボリュームをマウント・読み取りできません。古いMacで使う可能性がある外付けHDDやUSBメモリは、APFSでフォーマットしないようにしましょう。一方、High Sierra以降のMacなら、HFS+フォーマットの外付けドライブとも問題なく併用できます。
  • High Sierraのインストーラはインストール中にHFS+からAPFSへの変換を行えますが、APFSボリュームをHFS+に戻すには一度消去するしかありません。データをバックアップし、APFSでフォーマットしてから復元する必要があります。
  • High Sierraに対応したアップデートが提供されていない古いディスク修復・復旧ソフトウェアを、APFSフォーマットのボリュームに使用するのは避けましょう。
  • Mac上でWindowsを実行できるAppleのBoot Campは、APFSフォーマットのMacボリュームへの読み書きに対応していません。
  • APFSフォーマットのボリュームはAFPでのネットワーク共有ポイントを提供できず、SMBまたはNFSを使用する必要があります。

つまり、Boot Campでパーティションを削除しようとしている場合、互換性の問題によりこのエラーに遭遇する可能性が高いのです。

もう一つ考慮すべき点は、ドライブの健康状態です。損傷したドライブはさまざまなディスクエラーを引き起こす可能性があり、MacのAPFSコンテナサイズ変更エラー49180もその一つです。

MacでAPFSコンテナのサイズ変更エラー49180を修正する方法

macOS High Sierraでこのエラーを修正するには、まずMac修復アプリなどのプレミアムユーティリティツールでコンピュータをクリーニングすることをおすすめします。こうしたツールは、キャッシュファイルや不要なアプリなど、パフォーマンスを低下させる要因をスキャンで検出し、RAMを最適化してアクティブなアプリのための空きを作り、省エネにつながる調整も提案してくれます。

クリーニングが完了したら、以下の方法でエラー49180の修正に進みましょう。

その前に、必ずMacをバックアップしてください。操作を行う前の最重要の予防策はバックアップです。しっかりとしたバックアップがあれば、万が一の際もデータ復旧への対処が容易になります。もしバックアップがない、または最新のバックアップがない場合でも心配はいりません。上書き以外のほぼすべての状況で、失われた・削除された・アクセス不能になったデータを復元できる、安全で信頼性の高いAPFSデータ復旧ソフトウェアがあります。

次に、Time Machineの自動バックアップをオフにします。

  1. システム環境設定を起動します。
  2. Time Machineを選択します。
  3. 「自動的にバックアップ」のチェックを外します。

以上の準備が整ったら、以下の解決策に進んでください。

解決策1:ターミナルでパーティションを作成する

前述の通り、Disk Utilityアプリではディスクパーティションの問題を解決できません。そのため、ターミナルアプリに頼ることになります。ターミナルを起動する前に、必ずデータをバックアップし、Time Machineの自動バックアップをオフにしておいてください。

Time Machineの自動バックアップを無効にしたら、次はターミナルを使ってAPFSパーティションの場所を確認します。以下の手順に従ってください。

  1. 「アプリケーション > ユーティリティ > ターミナル」からターミナルを起動します。
  2. ターミナルに次のコマンドを入力します:diskutil list。APFSコンテナ内のすべてのディスクの一覧が表示されます。
  3. 新しいターミナルセッションを開始します。
  4. 新しいセッションで tmutil listlocalsnapshots / と入力し、パーティション上のTime Machineスナップショットを確認します。
  5. 次のコマンドを入力して、Time Machineのスナップショットを完全に削除します:tmutil thinlocalsnapshots / 99999999999999
  6. tmutil listlocalsnapshots / を再度実行し、スナップショットが削除されたことを確認します。

この後、MacでAPFSパーティションの作成を試みて、まだエラーが発生するかどうかを確認してください。変化がない場合は、少し複雑ですが問題を解決できる以下の方法を試してみてください。

例えば、1TBのハードドライブから550GBのAPFSコンテナにサイズ変更したい場合は、ターミナルにその旨を示すコマンドを入力します。sudo diskutil apfs resizeContainer disk0s2 450g jhfs+ Extra 550g のように入力すると、残りの領域はHFS+ファイルシステムとして確保されます。

この手法は複数のパーティションを作成する場合にも使えます。複数パーティション作成用のコマンドラインは、sudo diskutil apfs resizeContainer disk0s2 400g jhfs+ Media 350g FAT32 Windows 250g のようになります。

また、sudo diskutil apfs resizeContainer disk0s2 650g jhfs+ Media 0b のようにサイズを指定すると、diskutilが新しいパーティション用のボリュームを自動検出します。

解決策2:Disk Utilityを使用する

この記事の冒頭で、Disk Utilityアプリは「Macで新しいパーティションを作成できない」問題の解決にはあまり役立たないと述べましたが、特に古いOSを使用している場合は依然として有効です。また、上記のターミナルコマンドを実行した後にDisk Utilityを使うことも可能です。

解決策3:デフラグソフトウェアを使用する

最後におすすめする解決策は、AuslogicsのDisk Defragのような信頼性の高いデフラグソフトウェアの使用です。これにより、コンピュータ上で新しいボリュームやパーティションを作成しやすくなります。

また、ディスクパーティションが破損しているためにAPFSパーティションを作成できない可能性もあります。その場合は、破損または削除されたmacOSパーティションの修復方法を解説した記事を参照してください。

それでも問題が解決せず、新しいパーティションを作成しようとするたびにエラーコード49168が表示される場合は、Mac修理店に持ち込むか、Appleのカスタマーサポートに連絡することをおすすめします。専門家なら適切な対応をしてくれるはずです。

解決策4:APFSパーティションを縮小する

解放した領域をAPFSコンテナに戻したい場合は、diskutilでも実行できます。ただし、その前にJHFS+などのパーティションを削除し、ハードドライブ上の空き領域として設定しておく必要があります。

  1. ボリューム名がdisk0s3である場合、次のコマンドで削除できます:sudo diskutil eraseVolume "Free Space" %noformat% /dev/disk0s3
  2. 次に、APFSコンテナのサイズを変更します:diskutil apfs resizeContainer disk0s2 0

この場合、diskutilは物理ストレージデバイス上の利用可能な空き領域をすべて自動的に取得しますが、「0」を具体的なサイズ値に置き換えることも可能です。

最後に、Time Machineを再有効化してください。APFSパーティションの縮小作業が完了したら、Time Machineを忘れずにオンに戻しましょう。手順は以下の通りです。

  1. システム環境設定を起動します。
  2. Time Machineを選択します。
  3. 「自動的にバックアップ」にチェックを入れます。

まとめ

Macで空き領域を回収しようとした際にAPFSエラーコード49180が表示されても、深刻なエラーではないので慌てる必要はありません。ただし、万一の事故に備えてデータ損失を防ぐため、必ずファイルをバックアップしておきましょう。そのうえで、上記の4つの方法を試して、ご自身の環境で有効なものを見つけてください。他の解決策をご存じの方は、ぜひコメント欄でお知らせください。

  1. Macエラーコード50の解決方法|原因と6つの対処法をステップバイステップで解説

    概要:この記事では、Macで発生する「エラーコード50」とは何かを解説し、外付けドライブからファイルをコピー・移動・削除する際に表示されるMacエラーコード50を修正するための6つの実用的な解決策をご紹介します。Macエラーコード50とは?通常、外付けハードディスクからファイルをコピーしたり移動したりするのは、Macユーザーにとって簡単な作業のはずです。しかし一部のユーザーからは、特定のファイルを外付けハードドライブからMacBook Air/Proへコピーしようとした際に操作が失敗し、「予期しないエラーが起きたため、操作を完了できません(エラーコード -50)」というメッセージとともにMac

  2. Macで「APFSボリュームのスーパーブロックが無効です」エラーを修正する方法

    ディスクユーティリティでドライブをチェックした際に、「APFSボリュームのスーパーブロックが無効です」というエラーメッセージが表示されることがあります。この記事では、このエラーの意味と、データを失うことなく修正する方法について詳しく解説します。ディスクユーティリティは、Macの軽微なエラーを修復するのにとても便利なツールですが、比較的深刻なエラーまでは対応できません。ディスクユーティリティでドライブ、ボリューム、またはコンテナを検証した際に表示される可能性のあるエラーメッセージの一つが「APFSボリュームのスーパーブロックが無効です」です。この意味を正しく理解するには、まず「スーパーブロック」