Main Contents

2007年02月16日

Mac OSXでインストールディスクを使わずに起動ディスクの不整合を修復する方法

このエントリーをはてなブックマークする このエントリーを含むはてなブックマーク | Save This Page (del.icio.us)
osx_firstaid.jpg
最近のMac OSX は、できたての頃と比べるとずいぶんとフリーズが減ったように思います。いつの頃だったかジャーナリングファイルシステムも採用され、ファイル破損の危険も少なくなりました。

がしかし、コケるものはコケるもので、たまにフリーズして再起動を余儀なくされ、ついでにファイルシステムの情報の一部が不整合を起こすことがあります。

不整合をおこしたディスクが起動ディスクでなければ、ディスクユーティリティ(※1)から、「ディスクの修復」を行うことができます。問題は起動ディスクで不整合が起こった場合です。「ディスクの修復」は無効になっており、ディスクユーティリティからは修復することができません。

ディスクユーティリティの説明文によると、起動ディスクを修復するには、インストールディスク(CD/DVD)で再起動しなければならない、と書かれています。が、ヘルプを調べてみると、どうやらインストールディスクがなくてもディスクの修復を行うことのできる方法が、少なくとも3つあるようです。

Macbookなどモバイルユーザーは、インストールディスクを持ち歩くことなどまずないでしょうから、どれかひとつでも覚えておくと、便利かと思います。

ただし、いずれの方法でも、ハードディスクの故障や深刻な障害には対応できません。以下の方法を試す前に、大事なファイルのバックアップをとっておきましょう。

方法1: セーフブートしてから再起動(Mac OSX 10.2以降)

OSX 10.2以降にはセーフブートという起動モードがあります。セーフブートの開始時に、自動的にディスクチェックと修復が行われるため、「セーフブートしてからもう一度再起動」することで、ディスクの整合性がとれた状態に戻すことが可能です。

OSXをセーフブートするには、電源を入れた直後から、起動ロゴが表示されるまでの間、Shiftキーを押し続けます。

方法2: コマンドラインで起動してfsckを使う

GUIやその他のサービスがいっさい起動していない、コマンドラインオンリーの環境(シングルユーザモード)で起動して、fsckコマンドによってディスクを修復する方法です。セーフブートできない場合にも有効なようですが、コマンドラインが苦手な人は避けた方が良いかもしれません。

OSXをシングルユーザモードで起動するには、電源を入れた直後にコマンド+Sを押し続けます。

コマンドラインが起動して、root# というプロンプトが表示されたら、/sbin/fsck -fy と入力します。fsckは1回で全ての問題を解決できない場合もあるので、

The volume appears to be OK.

と表示されるまで何度か/sbin/fsck -fy を繰り返します。

問題がなくなったら、reboot と入力して再起動します。

方法3: Live Verificationを使う(OSX 10.4.3以降)

OSX 10.4.3以降には、OSXが普段通り起動した状態から、起動ディスクの修復を行うことができる Live Verificationという機能があるようです。(この機能があるにもかかわらず、ディスクユーティリティでは、インストールディスクで再起動して修復するように指示されているのはちょっと疑問ですが…。)

ちなみに、Live Verificationするためには、対象となるボリュームが、Mac OSX 拡張(ジャーナル済み)フォーマット (HFS+J) で作成されていないといけないようです。

Live Verificationする方法はさらに3つくらいに細分化されるようですが、diskutilコマンドを使う方法が最も簡単なようです。(ただし、起動ディスクの修復にしか使うことができません。つまり、起動ディスク以外の修復にはつかえないということ。)

コマンドラインから diskutil verify / と入力(※2, ※3)すれば修復が行われます。


※1 アプリケーション→ユーティリティ→ディスクユーティリティ

※2 ヘルプには verifyと書かれているが、実際は verifyVolumeかも?

※3 sudo diskutil verify / としないといけないかも。

TrackBacks

トラックバックURL:

Comments

Post a comment

コメントフォーム