1. Home

  2. /
  3. マシンとの戦闘録
  4. /
  5. その他の戦い
  6. /
  7. 故障かもしれない! と思ったときに行う確認方法

故障かもしれない! と思ったときに行う確認方法

ハードディスク その他の戦い

#故障 #確認

本記事では、主としてWindows、および、python3を前提にしています。

まさか故障なんてことはない?!

いつかは遭遇するかもしれない厄介なトラブル・・・それは故障。
故障すると、場合によってはディスクなどのハードウェアを買ってきて交換しないといけなくなるので、早く見極められないと、いつまで経っても本当にしたいことが進められなくなってしまいます。
本記事では、早く見極めるための見るべきポイントを解説します。

本記事では、現時点では、具体的な復旧の方法までは解説していません。
あくまでも、故障の見極めを行うための記事と考えてください。

どんな故障があるか

故障とひとことで言っても、以下の2つのケースがあります。

・ ハードウェアそのものが物理的に故障しているケース
・ ハードウェア中に記録しているデータが故障しているケース(論理故障)

ちなみに、小生が25年以上、自宅と会社で実際に遭遇した故障は記憶に頼ると、おおよそ以下のとおりです。

故障個所故障の種類遭遇回数
ハードディスク(HDD)論理故障
ハードディスク(HDD)物理故障
CD, DVD (*1)物理故障
CD, DVD論理故障
USBメモリ論理故障
キーボード物理故障
モニタ物理故障
プリンタ物理故障
Webカメラ物理故障
マウス物理故障

*1 … CD, DVDドライブではなく、ディスクそのものです

表のとおり、HDDやCD, DVDなどデータを記録する装置や媒体が故障することが多く、ハードウェアだけでなく中身のデータの故障である論理故障も発生するので、全体として故障が起きやすいということが分かります。
キーボード、モニタ、プリンタ、Webカメラ、マウスは物理故障にしかならないため、ほとんど単なる交換となります。(ドライバーでネジを外して清掃すると治るケースもあります)
そのため、本記事では説明しません。
本記事では、故障確率が高く、データの復旧で救済の余地があるHDD(SSD)、CD、DVD、USBメモリについて説明を行います。

ハードディスク(HDD)で発生する故障

ダントツで故障する可能性が高いのがハードディスクです。
ハードディスクはプラッタと呼ばれる磁気テープを円盤状にしているものが高速回転(5400rpm = 90回転/秒 や、7200rpm = 120回転/秒)しています。
そして、プラッタと読み書きするためのヘッドが数ナノメートル(100万分の1mm)の間隔しか空いていません。
そのため、外部から相当な衝撃を与えると、ヘッドがプラッタを傷つけてしまい、故障となります。

ハード, ディスク, ストレージ, コンピュータ, エレクトロニクス, ハード ディスク ドライブ, 技術

ただし、最近では、下記のようなSSDが主流になりつつあります。
中身はメモリと同じなので、HDDに比べると、高速回転や接触をするような機械的な部分がないため、耐久性は高くなっています。

データ ストレージ, Ssd, ハード ドライブ, メモリ, サンディスク, X 110

しかしながら、SSDであっても論理故障は発生します。
また、ハードディスクはSSDよりも安くて大容量が手に入ることから、まだまだ使われていくことでしょう。
SSDであってもHDDであっても、やはり故障の見極めは必要です。

症状

主に以下のような症状となります。

・OS(Windows)が起動しない
・ドライブが認識されない
・フォルダやファイルの読み込み時に、読み込みエラー・I/Oアイオーエラーなどエラーになる
・フォルダやファイルへの書き込み時に、書き込みエラー・I/Oエラーなどエラーになる

エラーメッセージには特定のメッセージはなく様々なメッセージが出力されます。
そんなはずはないのに、『権限がない』、『読み取り専用である』、『容量が不足した』などのエラーメッセージが出ることもあります。
そのため、故障かどうかを判断する前に、上述のような読み込み・書き込み・I/Oエラーという明白なエラー以外のエラーに遭遇した場合は、まずは、エラーメッセージが訴えているとおりに、権限が付いているか、空き容量があるかの確認をして、事実と異なるエラーが出ているかの確認が必要です。

物理故障かどうかの判斷

OSが起動しない場合

物理故障かどうかを確認するには、確認するためのツールを動作させるOSが必要です。
しかし、肝心のOSが起動しなくては、その判断ができません。
そのため、Linuxを起動できるようにして確認を行うようにします。
ubuntuうぶんつ Linuxであれば、USBメモリにインストールして起動することができます。

ただし、いきなりLinuxを起動できるようにすると言われても面食らう方も多いかと思います。
そのため、やり直しが発生すること覚悟で、故障判断をせずに復旧を行いたいという場合は、“Windows PEで論理故障の復旧を試みる”を参照してください。

小生の場合は、Windowsが起動しなくなったときのために、ubuntu Linuxを使えるようにしています。
USBメモリやDVDからubuntuを起動できるようにしており、OS起動後にsmartmontoolsというツールを使って物理故障かどうかの確認を行います。

以下のコマンドを実行して、着色部分を確認します。
気にしだすと全ての数値情報が気になってしまい、本当にまずい状態かの判断ができません。
そのため、おおよそ、背景着色部分を見てまずい状況かを判断します。

sudo smartctl --all /dev/sda

smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.15.0-106-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     CT480BX500SSD1
Serial Number:    1909E175A0BD
LU WWN Device Id: 0 000000 000000000
Firmware Version: M6CR022
User Capacity:    480,103,981,056 bytes [480 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      2.5 inches
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ACS-3 T13/2161-D revision 4
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Mon Jun 22 20:27:29 2020 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED ← "PASSED"ならまずは良い

General SMART Values:
Offline data collection status:  (0x00)	Offline data collection activity
					was never started.
					Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0)	The previous self-test routine completed
					without error or no self-test has ever 
					been run.
Total time to complete Offline 
data collection: 		(  120) seconds.
Offline data collection
capabilities: 			 (0x11) SMART execute Offline immediate.
					No Auto Offline data collection support.
					Suspend Offline collection upon new
					command.
					No Offline surface scan supported.
					Self-test supported.
					No Conveyance Self-test supported.
					No Selective Self-test supported.
SMART capabilities:            (0x0002)	Does not save SMART data before
					entering power-saving mode.
					Supports SMART auto save timer.
Error logging capability:        (0x01)	Error logging supported.
					General Purpose Logging supported.
Short self-test routine 
recommended polling time: 	 (   2) minutes.
Extended self-test routine
recommended polling time: 	 (  10) minutes.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds: "RAW"が多くなると故障が広がっている⇓
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   000   100   000    Pre-fail  Always       -       0
  5 Reallocated_Sector_Ct   0x0032   100   100   010    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       1748
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       727
171 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       0
172 Unknown_Attribute       0x0032   000   000   000    Old_age   Always       -       0
173 Unknown_Attribute       0x0032   001   001   000    Old_age   Always       -       39
174 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       45
180 Unused_Rsvd_Blk_Cnt_Tot 0x0033   100   100   000    Pre-fail  Always       -       218
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
184 End-to-End_Error        0x0032   100   100   000    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
194 Temperature_Celsius     0x0022   051   018   000    Old_age   Always       -       49 (Min/Max 10/82)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   100   100   000    Old_age   Always       -       0
202 Unknown_SSD_Attribute   0x0030   099   099   001    Old_age   Offline      -       1
206 Unknown_SSD_Attribute   0x000e   000   000   000    Old_age   Always       -       0
210 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       0
246 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       10270529121
247 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       320954035
248 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       261771264

SMART Error Log Version: 1
Warning: ATA error count 0 inconsistent with error log pointer 2  ← 何も出ないのが良い

ATA Error Count: 0  ← 数が0なら良い
	CR = Command Register [HEX]
	FR = Features Register [HEX]
	SC = Sector Count Register [HEX]
	SN = Sector Number Register [HEX]
	CL = Cylinder Low Register [HEX]
	CH = Cylinder High Register [HEX]
	DH = Device/Head Register [HEX]
	DC = Device Command Register [HEX]
	ER = Error register [HEX]
	ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error -4 occurred at disk power-on lifetime: 0 hours (0 days + 0 hours) ← 何も出ないのが良い
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  04 51 00 00 00 00 a0  Error: ABRT

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  b0 d0 01 00 4f c2 00 08      00:00:00.000  SMART READ DATA
  b0 d1 01 01 4f c2 00 08      00:00:00.000  SMART READ ATTRIBUTE THRESHOLDS [OBS-4]
  ea 00 00 00 00 00 a0 08      00:00:00.000  FLUSH CACHE EXT
  ec 00 01 00 00 00 00 08      00:00:00.000  IDENTIFY DEVICE
  ec 00 01 00 00 00 00 08      00:00:00.000  IDENTIFY DEVICE

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Interrupted (host reset)      90%      1532         -

Selective Self-tests/Logging not supported

次に以下のコマンドを実行してテストを実施します。

sudo smartctl -t short /dev/sda

smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.15.0-106-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Mon Jun 22 23:20:13 2020

Use smartctl -X to abort test.

上記テストは、バックグランドで実行され、”Please wait 2 minnutes … “とあるように2分後に結果を確認します。
下記のコマンドを実行します。
着色部分にあるように、”Completed without error”なら、問題なしと判断します。

sudo smartctl -l selftest /dev/sda
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.15.0-106-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      1751         -

また、下記コマンドも実行し、”PASSED”であることを確認します。

sudo smartctl -H /dev/sda
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.15.0-106-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
物理故障と判断

以上のコマンドの実行結果から、物理故障であるらしいこと(エラーの回数や数値が深刻で、もはやHDD、SSDを交換するときだと判断)した場合は、HDDやSSDを買ってきて交換します。
ただし、中に入っているデータの復旧はしたいですよね。
そのため、先にデータの救出を行ってから、交換をしてデータを入れるようにします。
具体的なこの方法については、この記事では割愛します。

論理故障と判断

ここまでで、物理故障と見られる状態でなかった場合は、まず、OSが起動できる状態に復旧させます。
これには、Windows PEというコンパクトなWindowsを使います。

MicrosoftのサイトからダウンロードしてDVDに焼き、DVD起動ができるようになります。
Windows-PEのDVDの作成方法や復旧方法は、ググるとすぐに見つかりますので、ここでは説明しません。
Windows-PEのDVDを予め作っていなかった場合は、別のPCで作成します。

その後、Windows-PEを起動して、コマンドを実行し、OSが起動する状態に復旧させます。
復旧方法については本記事では割愛します。

OSが起動するようになったら、“論理故障から復旧するには”に進みます。

OSが起動する場合

Windowsでは、下記のURLからツール”CrystalDiskInfo”をダウンロード、インストールして実行して確認すると、物理故障が発生しているかどうかが分かります。
ただし、人間の健康診断と同じように、どんな故障であっても計測できるというわけではありません。そのため、あくまでも『計測できる観点で健康状態を診断している』と考え、エラーが検出されている場合は確実に問題があると考えましょう。

窓の杜
「CrystalDiskInfo」HDD/SSDの健康状態をチェック

下記のようにハードディスクやSSDに記録されているエラーなどの記録情報から物理故障が発生しているかどうかや、発生の兆候があるかどうかが分かります。
エラーや失敗と名の付く項目、セクタという用語の付く項目が悪い場合に、故障が発生している、または故障の兆候があると判斷できます。

上記でエラーが確認されない場合は、物理故障の可能性はほとんどありません。
しかし、それでもプログラムを実行したり、ソフトを実行したときに、通常は正常終了するはずがエラーになる、という場合は論理故障が起きている可能性があります。
下記のようにイベントビューワーを起動してエラーが記録されていないか確認します。

論理故障から復旧するには

下記URLからツール”FromHDDtoSSD”をダウンロード・インストールして実行します。
故障対策の専門家が作成したツールで、有償版もありますが、無償版でも不良部(不良セクタ)の修復が可能です。

SORA L1 Blockchain – SorachanCoin-Core AI/Web3.0/DAO Download SorachanCoin-Core 最新版 ダウンロード – SORA AI – Blockchain

起動すると下記画面となります。

メニューバーの”完全・詳細スキャン設定”を押すと下記の画面が表示されます。
[復旧系]のところで、”データ復旧:論理解析 アドバンストデータ復旧”を選び、実行します。

Windows PEで論理故障の復旧を試みる

Windows PEというコンパクトなWindowsがあり、MicrosoftからダウンロードしてDVDに焼き、DVD起動ができるようになります。

しかし、Windows PEはコマンドが実行できるだけであり、修復のためのコマンドはありますが、物理的な健康状態(S.M.A.R.T.スマート情報)を確認するためのコマンドがありません。

そのため、論理故障だと決めつけて一気に修復を行なうのであれば、Windows PEを使って修復を行なうのも良いでしょう。

ただし、本当に物理的な故障だった場合には、修復を試みてもエラーになって修復できないとか、修復が見かけ上完了したのに修復できていない、という状況になることがあります。
このような場合におちいると、何度もやり直しを行って、手間がかかりますので注意が必要です。

まとめ

故障かもしれないという状況に遭遇したときには、誰もが戸惑い、焦り、目的の作業ができないことに苛立ってしまい、本当に故障してしまったのかが判断できなくなります。
しかし、大抵の場合は、格納していたデータが完全になくなってしまうということはありません。
できる限り本記事の内容に従って、故障の程度を調べて復旧する、あるいは、専門家に復旧してもらうほうが後悔しなくて済みます。

ぜひとも参考にしてみてください。

ここに記載されていないケースやデータの救出・復旧についての問い合わせは、ホームページからメールで受け付けています。お気軽にご連絡ください。

コメント

タイトルとURLをコピーしました