1. はじめに
先日、デスクトップパソコンを使用している最中に、停電が起きました。
このような場合、「システムのファイルが壊れる」/「作業中のファイルのデータが失われる(今回は作業はしていませんでしたが)」/「ハードディスクの中に入っているディスクに傷が入って故障してしまう」などの可能性があります。
この時に行った対応作業を紹介します。
※ ノートパソコンの場合はバッテリーが付いていますので、「停電したらパソコンも落ちる」ということにはなりません。
2. 状況
- OS は、Windows 10 Pro です。
- UPSは使っていませんでしたので、停電した瞬間にOSが落ちました。
- その後、電源をオンにすると、OSは起動したのですが、動作が遅くなったように感じました(無駄にファイルにアクセスしているような動作が見られました)。
3. 対応作業
1. ハードウェア的にハードディスクが壊れていないかチェックします。
ここでは、2つの方法を紹介します。今回は1つ目の方法を実行しましたが、どちらか1つを試せばよいでしょう。
方法その1:BIOSの機能を利用する方法
- OSを再起動し、BIOSの画面を表示します
- 今回使用したのは Dell のパソコンでした。この場合、OSが起動する前の段階で、
F12
キーを何度か押すとBIOSを表示することができます。
- 今回使用したのは Dell のパソコンでした。この場合、OSが起動する前の段階で、
- BIOSで表示されるメニューの中から、
Diagnostics
を選択すると、ハードウェアのテストが実行されます。 - 「No problems have been found with this system so far.」と表示されました。つまり、何も問題は見付かりませんでした。ハードウェア的にも問題なさそうです。
方法その2:CrystalDiskInfo を利用する方法
ハードディスクだけのチェックになりますが、「CrystalDiskInfo」といったアプリケーションを使う方法もあります。
インストールすると、プログラムが常駐してハードディスクの健康状態を監視します。
以下のように「正常」と表示されていれば問題ありません。
2. ファイルシステムに問題が起きていないかチェックします
ここからは、ソフトウェアとして問題が起きていないかを調べます。
まずはファイルシステムのチェックです。
1. 壊れたファイルがないかチェックします。
(1) 管理者権限でコマンドプロンプトを開きます。
- スタートメニューを開きます。
- “cmd” と入力します。
- コマンドプロンプトの項目が表示されるので、右クリックして「管理者として実行」を選択します。
(2) 以下のチェックディスクコマンドを実行します。
> chkdsk C:
- このコマンドにより、指定したディスク上のファイルがソフトウェア的に壊れていないかチェックできます。
- このコマンドでは、既存のデータを破壊しません。安全なコマンドです。
※ このコマンドを実行する前に、sfc
や dism
といったコマンドを試す場合もあります。
その結果、今回は「エラーが発見」されました。
2. 壊れたファイルの修復を試みます(但し、インデックス情報のみの修復)
(1) 管理者権限でコマンドプロンプトを開きます。
(2) 以下のコマンドを実行します。
> chkdsk C: /F
chkdsk
コマンドで/F
オプションを指定することで、壊れたファイルのインデックス情報を修復できます。- このコマンドを実行すると、OSの再起動を求められますので、その指示に従います。OSが再起動する前のタイミングで、ファイルの修復作業が行われます。
その結果、ファイルの修復が成功したとのメッセージが表示されました。 運が良いです。
注意点
chkdsk
コマンドに関する過去の問題
- Windows 10のチェックディスクでファイルシステムが破損する不具合 – PC Watch (2020年12月21日、修正済)
- chkdsk /fでファイルシステムが壊れる問題が修正 – PC Watch (2020年12月22日)
3. もう一度、壊れたファイルがないかチェックします。
(1) 管理者権限でコマンドプロンプトを開きます。
(2) 以下のコマンドを実行します。
> chkdsk C:
(3) その結果、「問題は見つかりませんでした。」と表示されました。 ソフトウェア的には問題なさそうです。
参考
3. Windows のシステムに問題が起きていないかチェックします。
ここでは、Windows のシステムで使用されるファイルに問題がないかを調べます。
SFC を利用した簡易的なチェックと修復
システムファイルチェッカー(SFC, System File Checker)を利用する方法です。
このツール(sfcコマンド)を実行すると、「システム・ファイルのバージョンやカタログ・ファイルとキャッシュ・フォルダの整合性などがチェック」され、「システム・ファイルのバージョンが正しくない(存在しない)場合は、自動的にキャッシュ・フォルダから正しいバージョンのファイルがコピーされ」ます。
※ 括弧内は、WindowsのSFCコマンドでシステムファイルの不整合や破損を修復する:Tech TIPS – @IT から引用しました。
手順
(1) 管理者権限でコマンドプロンプトを開きます。
(2) まずは、/verifyonly
オプションでファイルの整合性スキャンだけ行います(修復は行わない)。
> sfc /verifyonly
sfc /verifyonly
を実行したところ(3) もし、破損したファイルが見つかったら、/scannow
オプションで修復も行います。
> sfc /scannow
sfc /scannow
を実行したところ実行ログは、C:\Windows\Logs\CBS\CBS.log
に出力されていますので、そちらも参考にしましょう。
参考
DISM を利用したチェックと修復
DISM (Deployment Image Servicing and Management) という機能を利用する方法です。
これは、Windows イメージを操作するためのコマンドラインツールなのですが、イメージを修復することもできます。
手順
(1) 管理者権限でコマンドプロンプトを開きます。
(2) まず、イメージが修復可能かチェックします。
イメージをスキャンして、破損していないかどうかをチェックします。
Dism /Online /Cleanup-Image /ScanHealth
Dism /Online /Cleanup-Image /ScanHealth
を実行したところイメージをチェックし、破損が検出されたかどうかを確認します。
Dism /Online /Cleanup-Image /CheckHealth
Dism /Online /Cleanup-Image /CheckHealth
を実行したところ(3) 問題が見つかった場合は、イメージを修復します。
次のコマンドを実行すると、Windows Update の情報をインターネットから取得して利用し、起動中のWindowsイメージを修復することができます。
Dism /Online /Cleanup-Image /RestoreHealth
Dism /Online /Cleanup-Image /RestoreHealth
を実行したところ/Image
オプションを使って、オフラインイメージを修復することもできます。/Source
オプションを使って、マウントされたイメージを使って修復することもできます。
参考
- DISM – Deployment Image Servicing and Management Technical Reference for Windows | Microsoft Docs
- Windows イメージを修復する – Windows 10 hardware dev
- DISM オペレーティング システム パッケージ (.cab または .msu) サービスのコマンド ライン オプション – Windows 10 hardware dev
4. まとめ
- 今回は、上記全ての操作において問題が見付からず非常にラッキーでした。 上記でエラーが修復できなかった場合は、OS の再インストールからやらないと直らない可能性が高いです。
- UPSを導入するのも一つの方法です。UPS というのは、停電などが起きて電力が断たれた場合でも独自に電力を供給し続ける電源装置です。車のバッテリーのようなものです。例えば、以下のような商品があります。