Windows10トラブルシューティング備忘録 その1

# はじめに
自分の仕事は社内SE的な仕事のため、社内システムを作ることはもちろんのこと、ユーザの
PCに問題が起こったときも対応をしています。
それなりの規模の会社ですが、情報システム部を組織化できていないので、自分の部署の業務
として明文化はされていないのですが誰も対応者がいないので、私が現部署へ配属されてからは
よかれと思ってヘルプデスク的な仕事として対応をしています。

[ラインアンドスタッフ](https://ja.wikipedia.org/wiki/%E3%83%A9%E3%82%A4%E3%83%B3%E3%82%A2%E3%83%B3%E3%83%89%E3%82%B9%E3%82%BF%E3%83%83%E3%83%95)の形で考えると自分のポジションはスタッフであり、事業で考えるとあくまで
サポートのポジションなので、ライン部門の業務が滞りなく進められるようにPCのサポートを
しようという考えのもとで対応しています。

今回の話は、そのライン部門の従業員のPCトラブルの対処の流れを備忘録として記載致します。

# PCトラブル発生
ユーザから電話。
> ユーザ「PCにログオンするとWindowsが終了してしまいます。」
>> 俺「どんな感じのメッセージが出ていますか？」

> ユーザ「CRITICAL_PROCESS_DIED と表示されています。」
>> 俺「なるほど…」

## トラブルシューティング第一弾 【ハードウェア診断】
これはハードウェアベンダーによるのですが、今利用しているPCのベンダーはDellのため、
UEFI起動時に「Diagnostics」という自己診断ツールを起動することで、ハードウェアの
故障を診断することができます。
起動時に「DELL」のロゴが表示されている画面で「F12」を連打することで、BIOSの起動
オプション画面に遷移します。
そこから「Diagnostics」を選択して起動します。

ユーザに操作方法を指示しながらハードウェア診断を実施してもらいましたが、**異常なし…**

ハードウェア障害だったら、サポートに連絡して部品交換して終了だったのですが、残念です…

## トラブルシューティング第二弾 【セーフモード起動】
今回、BSoDが発生するタイミングはログオン後。つまり**通常起動はできているが、ログオン時に
何かしら問題が発生している**状態であると推測ができます。
次の手段としては、**セーフモードでログオン可能か？**動作確認をしてみることにしました。

OSが起動できていてログオン前の画面であれば、クライアントOSであればシャットダウンは可能です。
**（サーバの場合はログオン後でないとシャットダウンできない）**

Windows10の場合は、パスワード入力画面の右下に電源マーク（〇に縦棒が刺さったようなマーク）
がありますので、そのマークをクリックし、**[SHIFT]をクリックしながら「再起動」**をクリックします。
![Win10再起動画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295242/75749c79-a7ad-f2f6-3271-bd1a45bd7365.png)

続きまして、「オプションの選択」画面で「トラブルシューティング」を選択します。
![Win10再起動画面2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295242/8fd1cf81-fe2a-2e66-1d35-80f614154d23.png)

続きまして、「トラブルシューティング」画面で「詳細オプション」を選択します。
![Win10再起動画面3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295242/23e57c89-3d3c-f85e-bfbf-bcd947a6183e.png)

続きまして、「詳細オプション」画面で「スタートアップ設定」を選択します。
![Win10再起動画面4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295242/85f9b6a2-0ed3-888d-c993-bc17e64321f6.png)

続きまして、「スタートアップ設定」画面で「再起動」ボタンをクリックします。
![Win10再起動画面5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295242/6e3dfb0b-a449-b3e9-b504-20e7ee388e42.png)

再起動後、「スタートアップ設定」画面でキーボードの「4」を押します。
![Win10再起動画面6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295242/2108a4e1-7a52-9dd2-e6ba-eda7651f55ad.png)

そして、セーフモード起動後にログオンしてもらったところ、**無事ログオンができました**。

ということは、**通常起動時のログオン後の処理のところで何かしらエラーとなる要因がある**と
いうことが推測できます。

ここでさらに次のステップをテストしてみることにしました。

## トラブルシューティング第三弾 【スタートアップ時のサービスを抑制して起動してみる】
セーフモードでの起動もサービスを抑制しての起動ですが、ネットワークなどの基本的なサービスも
抑制してしまうため、何もできなくなってしまいます。
ユーザが使用するPCのため、業務ができるようにすることが優先となりますのでネットワークは
必須です。
そこで、Windowsの基本的なサービスは起動させ、サードパーティのサービスを抑制して起動し
WindowsOS自体に問題がないかを特定していきます。

Windowsボタンを押し、「msconfig」と入力して「System Configuration」を起動します。
![msconfig1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295242/f03eb9ce-187c-1f68-f02f-60fc8370f09b.png)

「サービス」タブを開き、「Microsoftのサービスをすべて隠す」のチェックボックスにチェックを入れます。
![msconfig2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295242/681b5cc6-af79-5053-301e-1635375b7758.png)

画面に表示されたサービスをすべて読み込まないように設定するため、「すべて無効」ボタンをクリックします。
（画面はOSインストール直後のため、サービスが1つも表示されていません。
![msconfig3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295242/841b3334-f7a6-03b6-9a52-3434bf2709b3.png)
上記作業後、「OK」ボタンをクリックすると再起動を促されますのでOSを再起動します。

なお、この設定は、Windows7からWindows10へのアップグレードが途中で失敗したPCに実施して
再度Windows10へのアップグレードを実施すると成功するという動作が確認された設定です。
Windows7からWindows10へのアップグレードで失敗している方も一度試して頂くとよろしいかと
思います。

上記設定を実施後、通常起動したOSにログオンしてもらったところ、正常にログオンができました。
これにより、**OS以外のサードパーティのサービスの部分で問題があることが確認できました**。

## トラブルシューティング最終章 【イベントログを読む】
**最終的にはログを読む。**
これしかありません。

今回のようにOSがBSoDを発生させるようなエラーの場合は、OSが何かしらの形でエラーを
検知しています。
その場合、「Application」ログ内に「Windows Error Reporting」というログが出力されている
ことがあります。
今回の事象は、「**cmgshieldsvc.exe**」というexeファイルがエラーを出力していることが
Windows Error Reportingにより検出されていました。

この実行ファイルは、「Dell Data Protection」というパッケージに含まれているようで、
名前から推測すると、Dell PCにバンドルされているデータ保護、データ暗号化をする
ツールのようです。

今回は、このユーザはその機能を使用していなかったため、無効化しても影響がないと判断し
当該機能を起動時に読み込まないように設定しました。

前の項目で設定していた「System Configuration」画面を再度起動し、「サービス」タブの
すべてのサービスを有効化した後に、「Dell Data Protection」のような名前のサービス（正しい
名前は忘れた）を読み込まないように無効化して、OSを再起動しました。

その後、通常起動したOSにログオンしてもらったところ、**BSoDが発生せずに正常にログオンできました**。

# まとめ
PCのトラブルは、突然発生してにっちもさっちもいかなくなることがよくあります。
ハードウェア障害は、最近のUEFI/BIOSには診断ツールがのっていることが多いので
特定しやすいのですが、ソフトウェア側の障害の場合は原因が特定できないと大雑把に
OSの再インストールを選んでしまうことが多いと思います。
しかし、OSの再インストールや再セットアップをすると、ユーザの時間を1日奪ってしまう、
PC内にしか保存されていないデータ（POPメールデータなど）を損失してしまうこともあります。

会社としては大きな損害ではありませんが、従業員個人としては時間的損失を感じることもあります。
雑にOSを再インストールしてくれというベンダーも多いですが、なるべくそういった損失を少なく
できればな、と思い今回のケースを一つのケースとして記事にしてみました。

もし、誰かがPCで困っていた時の参考になれば幸いです。

Windowsクライアントも奥が深いですな…