« XPモード、ねぇ。 | トップページ | こんな起動音はイヤだな。 »

問題の切り分けの仕方ってのも難しいもんで。

今回、アスワンで自爆地雷を踏んだわけですが。(笑)

こういう場合に、どんなことを調べるか、とか、ちょっと書いてみようかと。
#基本的には、プログラムのデバッグ作業と大差ないんですけどね。

まずは、何が起きてますか、ってのを考えなくてはなりません。
現象としては、今回の場合、SSDを認識してない、って現象は、かなり外側からも解ります。
そもそも、ディスクユーティリティに表示されないし。

こういう場合、複数のアプリを使って確認します。
今回は、GPartedとディスクユーティリティを使いました。
まあ、他にデバイス確認用のツールを知らなかったので、まずは、標準で使えるこの2種で。

で、両方で認識しないってことは、少なくとも、それぞれのアプリケーションでバグがある可能性は、ほぼないと思って間違いないですね。
アプローチの違うアプリの両者で、SSDが見えないってことは、もっと、根っこの部分に問題がある可能性がある、と。
この場合、ストレージなので、もろOSの範疇です。
OSが、SSDを認識してない、そう考えるのが妥当ですかね。

もちろん、OSのバグで認識してない可能性もあります。
今回、特にSSDなので、従来のHDDとは識別コードも異なるでしょうし、その辺で認識してくれない可能性は充分にありました。
でも、9.04はクリーンインストールしたわけで、少なくともそのタイミングでは、SSDを認識していた実績があります。
ここで考えられる可能性ってのは大きく二つになります。
・SSDが壊れている。
・SSDがOSに「なんらかの理由」により認識されていない。

SSDが壊れている可能性は、まずありません。
その状態で動いているので。(笑)
となると、次の「なんらかの理由でOSに認識されていない」ってことになります。

基本、UbuntuやWindowsのようなOSの場合、ブートストラップまではBIOSによるストレージのリードを行うかも知れませんが、制御がカーネルに移ってからは、自前のプログラムでストレージアクセスを行います。
#ま、この辺、昔はそうだったんですが、今は違うかもしれません。
おそらく、ですが、BIOSが認識しているデバイスだけ、スキャンをして、アクセス可能かどうか、確認しているのではないか、と思うんですよね。
そうでないと、多種多様のストレージに対して、総当たりでチェックする必要があり、起動時間が余計に掛かってしまいます。
基本、BIOSで認識してるストレージだけで充分ですし、省ける手間は省きたいものなので。
というわけで、「なんらかの理由」の一番は、「BIOSで認識されていない」ってことになると思います。
ただ、今回の場合、BIOS画面で確認すると、認識はされているんですよね。
となると、次は、BIOSには認識されているが、OSレベルで問題がある、ってことになります。
OSレベルの問題であれば、Linuxなら、システムログを参照することにより、結構詳細な起動プロセスを追いかける事が出来ます。

今回は、SATAのデバイス認識のところで、タイムアウトエラーが発生していました。
ま、これがSSDであることは間違いないので(SSDとLiveUSBしか繋いでない)、なんか、エラーが発生しているのだな、ってことが明らかになります。
これ、たぶん、なんですが、SSD回りのカーネルの問題なんじゃないかな、と推測しています。
まあ、A-DATAのSSDのBIOSに問題がある可能性も捨て切れませんけど。

基本、このレベルでエラー吐かれているとどうしようもないんですが。(笑)
今回は、ここで一歩進めてみて。
まあ、何度かBIOS更新している事実もあったんですけど。
ストレージの認識が問題で、カーネルが正しくストレージの種類を判断できずに、コマンド発行をして、エラーになってる、と考える事が出来ます。
ストレージの認識は、先の推測から、BIOSが絡んでいる可能性があります。
つまり、BIOSが、なんらかの誤認識をしているため、SSDをHDDとして認識出来ない、またはSSDでは対応していないコマンドを発行していることが考えられるわけです。
普通は、ここで最新BIOSに変更してみるんですが。
実は、最新BIOSは、すでに試しました。(笑)

なので、基本に立ち返り、購入時の状態に戻す、ことがまず最初になるわけです。
増設している物は外し、更新した物は元に戻し。
で、今回は、HDDにしてみて、正しく最新BIOSでもHDD認識される事を確認。
初期BIOSで、SSDを認識可能か確認、って手を取りました。
で、初期BIOSでSSDを認識することが確認できたわけです。

そこから、じゃあ、どこまでならBIOS更新しても安全なのか、を進めていきます。
#面倒ですけど、初期BIOSには、リッドクローズ時にサスペンド出来ない、って問題があったので。

結果、今回の試験では、1.07までなら安全に動作することが確認できたわけですね。

整理すると。
・現象を確認(確実に再現するか)
・問題点を確認(ログ参照など)
・発生原因の特定(可能なら)
・発生原因の推測
・トライ
という順番になります。
発生原因の推測は、なかなか難しいかも知れませんが、そもそも発生している問題が、どこ由来かくらいはネットで調べることも可能なので、情報を揃えて推測する、ことは別に素人でも可能だと思います。
ログにエラーが記録されていれば、状況としては、まだマシな状況で、完全に無視されていると、結構厳しい状況といえると思いますけどね。
その場合、lspciとか、lsusbとか、そういうレベルで認識されているかどうか、の確認から始まりますし。
#場合によっては、チップセットが正しく認識されていないなんて場合も。

ま、今回、ひとりで大騒ぎしてしまったので、反省点として、ちと記録しておきます。(^^;

|

« XPモード、ねぇ。 | トップページ | こんな起動音はイヤだな。 »

Ubuntu」カテゴリの記事

ハードウェア」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/500703/46848052

この記事へのトラックバック一覧です: 問題の切り分けの仕方ってのも難しいもんで。:

« XPモード、ねぇ。 | トップページ | こんな起動音はイヤだな。 »