しばらく返答が寄せられていないようです。 再度ディスカッションを開始するには、新たに質問してください。

起動ドライブの健全性の確保

私は昔、システムDVDからディスク・ユティリティを呼び出して、起動ドライブを修復するのが好きでした。


しかし、Lionになり、アップルのテクニカル・サポートの方々と話をしていると、しばしばセーフ・ブートを勧められます。時間が勿体ないので、不本意ながらセーフ・ブートを実行していますが、ほかの方法では駄目かといつも思っています。


というのは、復元用HD(Recovery HD)からたち上がることが出来れば;


1) Mac OS X ユーティリティからディスク・ユティリティを利用できる。

2) ターミナルも動かせそう(当然、シングル・ユーザ・モード?)なので、

「cd /Volemes/○○; /sbin/fsck -fy」


なのでも同等と思うものです。でも、今一つ自信がありません。


ご解説を戴ければ幸いです。

Mac mini, Mac OS X (10.7.5), Mac mini(mid 2011), iMac(late 2009)

投稿日 2013/02/18 23:23

返信
返信: 23

2013/02/18 23:53 mNeji への返信

起動ドライブを修復するのが好きでした。

そんなに頻繁に起動パーティションに障害を抱えるのであれば、その原因を先に疑った方が良いかも。一般的な使い方をしていればそんなに壊れる事は無いはずですよ。


セーフブートが役に立つのは起動に必要なキャッシュをクリアしてくれる事ですね。ディスクユーティリティでの修復とはちょっと意味合いが違います。しかし、こちらの方が壊れる可能性が高いので調子の悪い時のセーフブートは必須ですね。


最近のMacOSXではfsckを使う事をあまり良しとしていないようです。

http://support.apple.com/kb/TS1417?viewlocale=ja_JP

出来るだけディスクユーティリティを使用した方が良いみたいですね。

2013/02/19 00:45 やすどん への返信

ディスクユーティリティでの修復とはちょっと意味合いが違います。


セーフブートではディスクの修復もしてくれます。

(と、やすどんさんのコメントにあるリンク先にも書いてあります (^^;)

ディスクユーティリティおよび fsck を使用して、起動時の問題を解決する、あるいはディスクをメインテナンスする

-------------------------------

Safe Mode では、ディスクのチェックと修復が自動的に行われます。

-------------------------------

2013/02/19 02:16 やすどん への返信

早速のコメントありがとうございます。



やすどんさん:


そんなに頻繁に起動パーティションに障害を抱えるのであれば、その原因を先に疑った方が良いかも。一般的な使い方をしていればそんなに壊れる事は無いはずですよ。


説明不足でした。Lion 10.7~10.7.4までは不安定でしたが、10.7.5からは安定しています。個人的には、セーフ・ブートで問題解決した経験がないので……。



セーフブートが役に立つのは起動に必要なキャッシュをクリアしてくれる事ですね。ディスクユーティリティでの修復とはちょっと意味合いが違います。しかし、こちらの方が壊れる可能性が高いので調子の悪い時のセーフブートは必須ですね。


「/var/db/dyld/」にある皆さんですか。少し勉強してみます。判るまでは、時間がある時にセーフ・ブートするように心がけます。



出来るだけディスクユーティリティを使用した方が良いみたいですね。


実体はシェルコマンドなので、定型作業としてはcuiの方が速いとは思いますが。でも、不注意なミスもありますからね。

2013/02/19 02:54 HAL への返信

早速のコメントありがとうございます。


やすどんさんにお返事したようにキャッシュのクリアをするために、セーフ・ブートをする様に心がけます。



HALさん:


ディスクユーティリティおよび fsck を使用して、起動時の問題を解決する、あるいはディスクをメインテナンスする


と拝見すると、ディスクユーティリティとfsckでは機能が異なるとも解釈できそうです。でも、ディスクユーティリティの実体はシェルスクリプトの組み合わせで実行される訳ですよね。とくに「Repair Disk」は「fsck -fy」に対応すると思っていました。と言うのも、「Repair Disk:ディスク修復」について正しく操作する限りは、両者、ディスクユーティリティとfsck、は同じ結果となるのではないでしょうか。


私としては、ある起動ドライブのデータが不調と思われる場合は、積極的に他のドライブから立ち上げて、そこのディスクユーティリティでディスク修復するのが一番安全かと感じますが……。

2013/02/19 10:43 HAL への返信

セーフブートでのディスクのチェックと修復はディスクユーティリティでのディスクの修復と同等なものだったのですね。セーフブート中は起動パーティションから同パーティションをチェック、修復しているので別物ではないかとすっかり勘違いしておりました。

2013/02/19 10:48 mNeji への返信

セーフ・ブートで問題解決した経験がないので……。

そういう事であればいっその事HDDの全消去、OSの再インストール、個人環境の再構築をしたほうが良いと思いますよ。セーフブートで改善しないのはちょっと重傷ですね。

HDDの全消去でも安定しないのであればHDDの換装でしょうね。


両者、ディスクユーティリティとfsck、は同じ結果となるのではないでしょうか。

http://support.apple.com/kb/TS1417?viewlocale=ja_JP

こちらには

Mac OS X 10.3 以降などで Mac OS X 拡張 (ジャーナル済み) フォーマットのボリュームをお使いの場合、通常は fsck を使う必要はありません。何らかの理由で fsck を使う場合、問題のない エラーメッセージが表示されることがあります。

とあります。結果が同じにならない可能性を示唆していますね。

2013/02/19 11:54 mNeji への返信

とくに「Repair Disk」は「fsck -fy」に対応すると思っていました。


文書によると「diskutil verify」に対応するみたいですね。


「Repair Disk:ディスク修復」について正しく操作する限りは、両者、ディスクユーティリティとfsck、は同じ結果となるのではないでしょうか。


実際どのような違いがあるのか技術者じゃないのでわかりませんが、「ディスクを修復」で修復できなかったエラーが「fsck -fy」で修復できたという事例もいくつか見たことがあるので全く同じではないのでしょう。

ただ、どちらかを実行してエラーが検出されないのであれば問題ないと判断していいのではないでしょうか。


ちなみに、大体月に1度くらいのペースでメンテナンスをかねてセーフモードで起動するようにしていますが、セーフモードだとエラーが自動で修復されてしまい、修復が必要なエラーがあったのか確認できないので事前にシングルユーザモードでfsckをするようにしています。ただ、起動ディスクにエラーがあったことはないです。

#セーフモードで本当にディスクの修復ができるのか、修復できないエラーがある状態では本当に起動しないのかを実際に自分で確かめてみたくてエラーが検出される日を待っているのですが・・・ (^^;

#データパーティションは修復可能な範囲のエラーがたまに出ることがあるので注意深くチェックするようにしています。


まぁ ぶっちゃけてしまえば、別に好きなようにやったらいいのではないかと思います。

バックアップさえしっかり取っておけば大抵のことはリカバリできます (^^;;

2013/02/19 12:38 やすどん への返信

やすどんさん:


そういう事であればいっその事HDDの全消去、OSの再インストール、個人環境の再構築をしたほうが良いと思いますよ。セーフブートで改善しないのはちょっと重傷ですね。

HDDの全消去でも安定しないのであればHDDの換装でしょうね。


こんど遭遇したら、丁寧に観察してみます。



http://support.apple.com/kb/TS1417?viewlocale=ja_JP


早速、丁寧に拝見したしました。大まかな仕組みが理解できてホットしています。要は、


・GUIが正常でDiskUtilityが動いてるなら、なるたけDiskUtilityを使ってね!

・素人さんが、fsckを使うと、ミスから思わぬ事が起こるからさ。

・逆に言えば、CUIしか立ち上がらない時には、fsckを慎重に使って、障害を克服しようぜ!


と言った所でしょうか。


とあります。結果が同じにならない可能性を示唆していますね。



先の説明(TS1417)だけでは、DiskUtilityとfsckの機能が違う様には見えませんが……。もう少し、調べて見たいと思います。

2013/02/19 12:59 HAL への返信

HALさん:


文書によると「diskutil verify」に対応するみたいですね。


ありゃ、どうも勘違いしているかもしれません。「fy」を「forced repair with all yes」とばかり思っていました。


すると、TS1417の解説が判らなくなってきました;



To use fsck, you must run it from the command line. Unlike using your mouse pointer to open an application to do something, you'll need to type a text command at the prompt (#) to tell fsck what to do. The Terminal application (/Applications/Utilities) and single-user mode are two examples of command-line interfaces in which you can type such commands. To use fsck:


1. Start up your computer in single-user mode to reach the command line.

Note: If necessary, perform a forced restart as described in the Emergency Troubleshooting Handbook that came with your computer. On desktop computers, you can do this by pressing the reset/interrupt button (if there is one) or holding down the power button for several seconds. On portable computers, simultaneously press the Command-Control-power keys. If your portable computer doesn't restart with this method, you may need to reset the Power Manager.


2. At the command-line prompt type:


/sbin/fsck -fy


3. Press Return. fsck will go through five "phases" and then return information about your disk's use and fragmentation. Once it finishes, it'll display this message if no issue is found:

** The volume (name_of_volume) appears to be OK

If fsck found issues and has altered, repaired, or fixed anything, it will display this message:

***** FILE SYSTEM WAS MODIFIED *****

Important: If this message appears, repeat the fsck command you typed in step 2 until fsck tells you that your volume appears to be OK (first-pass repairs may uncover additional issues, so this is a normal thing to do).


4. When fsck reports that your volume is OK, type reboot at the prompt and then press Return.


この「Important:」以下に依れば、「/sbin/fsck -fy」で一度にOKがでない場合でも、何度も繰り返す事でOKがでることがある、と理解していました。



自分は、どこからか間違って理解していた様です。冷静になって見直そうと思います。

2013/02/19 20:48 mNeji への返信

mNeji さんによる書き込み:


この「Important:」以下に依れば、「/sbin/fsck -fy」で一度にOKがでない場合でも、何度も繰り返す事でOKがでることがある、と理解していました。

このOKがどこまで信用できるかは、悩みどころかと思います。

なお、

私としては、ある起動ドライブのデータが不調と思われる場合は、積極的に他のドライブから立ち上げて、そこのディスクユーティリティでディスク修復するのが一番安全かと感じますが……。

Recovery Hdからの起動のときはどうか存じ上げないのですが、他のディスクから起動すると書き込みが発生する可能性があるの気がします。私はトラブルが気になるときは、シングルユーザーモードで起動するようにしておりますけど。(その後、Safe Bootしたりします。nvramコマンドで。)

2013/02/19 21:32 mNeji への返信

> 「fy」を「forced repair with all yes」とばかり思っていました。


そんなに間違ってないと思います。fy は -fと-y です。-f option はforced check です。-y は問いにすべて y (=yes) とするという意味です。これは、man fsck とすれば出てきます。-y は、fsck でファイルシステムのチェックをすると、おかしな点(矛盾)があるとそれを修正するか聞いてきます。そのときにyes とするという意味です。普通はこれで問題ないと思います。yes とするとディスクが壊れると思うならnoとすることもできます。no とすれば、その時点で fsck は中止されます。

また、man diskutil とすれば、diskutil repair は fsck でやると書いてますので、fsck と同じと思います。gui のディスクユーティリティは diskutil の一部を実行できるようにしたものですから、やはりfsckと同じことをしているだけと思います。トラブルがあるときにfsckしてみると分かりますが、そういうときは、ファイルシステムの修正が大量に出てきます。diskutil では、その辺は良きに計らえとしているだけと思います。fsck と違うといえば、その辺りは少し違うかもしれませんけど。

ディスクの修復に何を使うかは、その人の好みの問題と思います。

サポート文書でfsckをあまり勧めてないのは、最近のシステムだと、暗号化ディスクとか、Fusion Drive とか論理ディスク機能をフルに利用したものが自由に使えるようになってます。こういうシステムだと、fsck でやるのは、システムのことをよく知ってないと難しい(あまりよく知らないでやると、最悪システムを壊してしまうかもしれません)ので、という理由からではないかと思います。

2013/02/19 22:16 ni_ki への返信

ni_kiさん:


このOKがどこまで信用できるかは、悩みどころかと思います。

そうですね、結局「man fsck」を眺めていますが、素人には判じがたいです;

・-p: preen 整える

・-p無し: audits and interactively repairs 検査と対話式の修理

・-f: check `clean' filesystems when preening????


一方でDiskUtilityも、VerifyとRepairだし、頭が痛い!


#上の字面(repair)からすると、「fsck -y」が良いかな?、とか。


Recovery Hdからの起動のときはどうか存じ上げないのですが、他のディスクから起動すると書き込みが発生する可能性があるの気がします。私はトラブルが気になるときは、シングルユーザーモードで起動するようにしておりますけど。(その後、Safe Bootしたりします。nvramコマンドで。)

あ、出来ればもう少し具体的に説明いただけるとありがたいのですが。

・「ecovery Hdからの起動の替わりに、云々」とは?

・「シングルユーザーモードで起動」と「Start up in Safe Mode: 起動音が聞こえてから、⌘Sを押し続ける」とを同一視していますが。


他方、共有キャッシュの処置は「Start up in Safe Mode」を経由する事なく出来そうな気がしてきました。


後、nvramコマンドはPPCまでだと思っていましたが、使い方を教えていただけませんか?

2013/02/19 23:19 mNeji への返信

mNeji さんによる書き込み:


・-p: preen 整える

・-p無し: audits and interactively repairs 検査と対話式の修理

・-f: check `clean' filesystems when preening????


一方でDiskUtilityも、VerifyとRepairだし、頭が痛い!

超個人的な意見ですが、あんまり文章にこだわると本質を見失うかもですよ^^;

あ、出来ればもう少し具体的に説明いただけるとありがたいのですが。

具体的に書けるほど内容ないです^^;;

・「ecovery Hdからの起動の替わりに、云々」とは?

シングルユーザーモードは起動ディスクに、起動時は書き込みを行わないのだそうです。なのである意味、破損を進ませないので安心できるかと考えております。

・「シングルユーザーモードで起動」と「Start up in Safe Mode: 起動音が聞こえてから、⌘Sを押し続ける」とを同一視していますが。

同一ですね。ただ今回の場合は、運用段階では「シングルユーザーモードで起動」と「Start up in Safe Mode: 起動音が聞こえてから、⌘Sを押し続ける」は違いがあると考える事もできます。

「シングルユーザーモードで起動」は確実にシングルユーザーモードで起動しています。が、

「Start up in Safe Mode: 起動音が聞こえてから、⌘Sを押し続ける」はキーを押すタイミングでシングルユーザーモードに入れない可能性を残しますよね。

今回のような精神的な部分をも含むような場合は、この違いを考慮する必要があるかもです。

後、nvramコマンドはPPCまでだと思っていましたが、使い方を教えていただけませんか?

教えられるほど、存じ上げませんが下記(シングルユーザーモード時。通常起動ではsudoコマンドが必要です。)でよく使用しております。(OS X10.8.2)


nvram boot-args="-s"


解除は


nvram boot-args=""

2013/02/20 00:48 ni_ki への返信

> シングルユーザーモードは起動ディスクに、起動時は書き込みを行わないのだそう

> なのである意味、破損を進ませないので安心できるか


シングルユーザモードでは、OSはディスクをread only で立ち上がります。なので書き込みは行いません(impossible)。しかし、fsckも書き込みを行わないかどうかは別問題です。fsck は、ファイルシステムに不整合を見つけると、それを修正します(書き込みが発生します)。なので、fsck はその修正をしてよいかどうかオペレータに聞いてきます。でも、yes としないと修正してくれませんので、fsck 以外に修正ツールを持たないユーザはyesとするしかありません。fsck はアンマウント状態のディスクと、マウントされていても、read only のディスクしか修正出来ません。fsck のチェック中に、OSが勝手に何かを書き込んだら、fsck には何が正しいのか分からなくなってしまいますので。

fsck がファイルシステムを修正するといっても、自分が経験した範囲では、それでファイルがおかしくなったことはありません。逆に、読めなかったディスクが正常に読めるようになったことは何度かあります(いつでも、という訳ではありません。ディスク表面に傷が入るとか、物理的に壊れていればfsckも無力です)ので、自分は、ディスクトラブルの際には、fsckはとても頼りになるツールと思っています。

2013/02/20 00:55 はに への返信

fsck がファイルシステムを修正するといっても、自分が経験した範囲では、それでファイルがおかしくなったことはありません。


エラーの内容によっては修復することでマウントしなくなることはありえます。

#自分で経験したこともありますし、ここでもそういう報告をいくつか見たこともあります。

#データレスキュー3の説明書きにも注意事項として記載されています。

データトラブル時 | iGeek.Inc

なので、状況によってはデータ救出を優先させた方がいいこともあります。

#といってもその判断は難しいので、常日頃のバックアップは大事ですよってことで。

起動ドライブの健全性の確保

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple ID を使ってご参加ください。