まさか故障なんてことはない?!
いつかは遭遇するかもしれない厄介なトラブル・・・それは故障。
故障すると、場合によってはディスクなどのハードウェアを買ってきて交換しないといけなくなるので、早く見極められないと、いつまで経っても本当にしたいことが進められなくなってしまいます。
本記事では、早く見極めるための見るべきポイントを解説します。
どんな故障があるか
故障とひとことで言っても、以下の2つのケースがあります。
・ ハードウェアそのものが物理的に故障しているケース
・ ハードウェア中に記録しているデータが故障しているケース(論理故障)
ちなみに、小生が25年以上、自宅と会社で実際に遭遇した故障は記憶に頼ると、おおよそ以下のとおりです。
故障個所 | 故障の種類 | 遭遇回数 |
ハードディスク(HDD) | 論理故障 | 4 |
ハードディスク(HDD) | 物理故障 | 1 |
CD, DVD (*1) | 物理故障 | 6 |
CD, DVD | 論理故障 | 4 |
USBメモリ | 論理故障 | 2 |
キーボード | 物理故障 | 2 |
モニタ | 物理故障 | 2 |
プリンタ | 物理故障 | 2 |
Webカメラ | 物理故障 | 1 |
マウス | 物理故障 | 1 |
*1 … CD, DVDドライブではなく、ディスクそのものです
表のとおり、HDDやCD, DVDなどデータを記録する装置や媒体が故障することが多く、ハードウェアだけでなく中身のデータの故障である論理故障も発生するので、全体として故障が起きやすいということが分かります。
キーボード、モニタ、プリンタ、Webカメラ、マウスは物理故障にしかならないため、ほとんど単なる交換となります。(ドライバーでネジを外して清掃すると治るケースもあります)
そのため、本記事では説明しません。
本記事では、故障確率が高く、データの復旧で救済の余地があるHDD(SSD)、CD、DVD、USBメモリについて説明を行います。
ハードディスク(HDD)で発生する故障
ダントツで故障する可能性が高いのがハードディスクです。
ハードディスクはプラッタと呼ばれる磁気テープを円盤状にしているものが高速回転(5400rpm = 90回転/秒 や、7200rpm = 120回転/秒)しています。
そして、プラッタと読み書きするためのヘッドが数ナノメートル(100万分の1mm)の間隔しか空いていません。
そのため、外部から相当な衝撃を与えると、ヘッドがプラッタを傷つけてしまい、故障となります。
ただし、最近では、下記のようなSSDが主流になりつつあります。
中身はメモリと同じなので、HDDに比べると、高速回転や接触をするような機械的な部分がないため、耐久性は高くなっています。
しかしながら、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”をダウンロード、インストールして実行して確認すると、物理故障が発生しているかどうかが分かります。
ただし、人間の健康診断と同じように、どんな故障であっても計測できるというわけではありません。そのため、あくまでも『計測できる観点で健康状態を診断している』と考え、エラーが検出されている場合は確実に問題があると考えましょう。
下記のようにハードディスクやSSDに記録されているエラーなどの記録情報から物理故障が発生しているかどうかや、発生の兆候があるかどうかが分かります。
エラーや失敗と名の付く項目、セクタという用語の付く項目が悪い場合に、故障が発生している、または故障の兆候があると判斷できます。
上記でエラーが確認されない場合は、物理故障の可能性はほとんどありません。
しかし、それでもプログラムを実行したり、ソフトを実行したときに、通常は正常終了するはずがエラーになる、という場合は論理故障が起きている可能性があります。
下記のようにイベントビューワーを起動してエラーが記録されていないか確認します。
論理故障から復旧するには
下記URLからツール”FromHDDtoSSD”をダウンロード・インストールして実行します。
故障対策の専門家が作成したツールで、有償版もありますが、無償版でも不良部(不良セクタ)の修復が可能です。
起動すると下記画面となります。
メニューバーの”完全・詳細スキャン設定”を押すと下記の画面が表示されます。
[復旧系]のところで、”データ復旧:論理解析 アドバンストデータ復旧”を選び、実行します。
Windows PEで論理故障の復旧を試みる
Windows PEというコンパクトなWindowsがあり、MicrosoftからダウンロードしてDVDに焼き、DVD起動ができるようになります。
しかし、Windows PEはコマンドが実行できるだけであり、修復のためのコマンドはありますが、物理的な健康状態(S.M.A.R.T.情報)を確認するためのコマンドがありません。
そのため、論理故障だと決めつけて一気に修復を行なうのであれば、Windows PEを使って修復を行なうのも良いでしょう。
ただし、本当に物理的な故障だった場合には、修復を試みてもエラーになって修復できないとか、修復が見かけ上完了したのに修復できていない、という状況になることがあります。
このような場合におちいると、何度もやり直しを行って、手間がかかりますので注意が必要です。
まとめ
故障かもしれないという状況に遭遇したときには、誰もが戸惑い、焦り、目的の作業ができないことに苛立ってしまい、本当に故障してしまったのかが判断できなくなります。
しかし、大抵の場合は、格納していたデータが完全になくなってしまうということはありません。
できる限り本記事の内容に従って、故障の程度を調べて復旧する、あるいは、専門家に復旧してもらうほうが後悔しなくて済みます。
ぜひとも参考にしてみてください。
ここに記載されていないケースやデータの救出・復旧についての問い合わせは、ホームページからメールで受け付けています。お気軽にご連絡ください。
コメント