はじめに
自分の仕事は社内SE的な仕事のため、社内システムを作ることはもちろんのこと、ユーザの
PCに問題が起こったときも対応をしています。
それなりの規模の会社ですが、情報システム部を組織化できていないので、自分の部署の業務
として明文化はされていないのですが誰も対応者がいないので、私が現部署へ配属されてからは
よかれと思ってヘルプデスク的な仕事として対応をしています。
ラインアンドスタッフの形で考えると自分のポジションはスタッフであり、事業で考えるとあくまで
サポートのポジションなので、ライン部門の業務が滞りなく進められるようにPCのサポートを
しようという考えのもとで対応しています。
今回の話は、そのライン部門の従業員のPCトラブルの対処の流れを備忘録として記載致します。
PCトラブル発生
ユーザから電話。
ユーザ「PCにログオンするとWindowsが終了してしまいます。」
俺「どんな感じのメッセージが出ていますか?」
ユーザ「CRITICAL_PROCESS_DIED と表示されています。」
俺「なるほど…」
トラブルシューティング第一弾 【ハードウェア診断】
これはハードウェアベンダーによるのですが、今利用しているPCのベンダーはDellのため、
UEFI起動時に「Diagnostics」という自己診断ツールを起動することで、ハードウェアの
故障を診断することができます。
起動時に「DELL」のロゴが表示されている画面で「F12」を連打することで、BIOSの起動
オプション画面に遷移します。
そこから「Diagnostics」を選択して起動します。
ユーザに操作方法を指示しながらハードウェア診断を実施してもらいましたが、異常なし…
ハードウェア障害だったら、サポートに連絡して部品交換して終了だったのですが、残念です…
トラブルシューティング第二弾 【セーフモード起動】
今回、BSoDが発生するタイミングはログオン後。つまり通常起動はできているが、ログオン時に
何かしら問題が発生している状態であると推測ができます。
次の手段としては、**セーフモードでログオン可能か?**動作確認をしてみることにしました。
OSが起動できていてログオン前の画面であれば、クライアントOSであればシャットダウンは可能です。
(サーバの場合はログオン後でないとシャットダウンできない)
Windows10の場合は、パスワード入力画面の右下に電源マーク(〇に縦棒が刺さったようなマーク)
がありますので、そのマークをクリックし、**[SHIFT]をクリックしながら「再起動」**をクリックします。
続きまして、「オプションの選択」画面で「トラブルシューティング」を選択します。
続きまして、「トラブルシューティング」画面で「詳細オプション」を選択します。
続きまして、「詳細オプション」画面で「スタートアップ設定」を選択します。
続きまして、「スタートアップ設定」画面で「再起動」ボタンをクリックします。
再起動後、「スタートアップ設定」画面でキーボードの「4」を押します。
そして、セーフモード起動後にログオンしてもらったところ、無事ログオンができました。
ということは、通常起動時のログオン後の処理のところで何かしらエラーとなる要因があると
いうことが推測できます。
ここでさらに次のステップをテストしてみることにしました。
トラブルシューティング第三弾 【スタートアップ時のサービスを抑制して起動してみる】
セーフモードでの起動もサービスを抑制しての起動ですが、ネットワークなどの基本的なサービスも
抑制してしまうため、何もできなくなってしまいます。
ユーザが使用するPCのため、業務ができるようにすることが優先となりますのでネットワークは
必須です。
そこで、Windowsの基本的なサービスは起動させ、サードパーティのサービスを抑制して起動し
WindowsOS自体に問題がないかを特定していきます。
Windowsボタンを押し、「msconfig」と入力して「System Configuration」を起動します。
「サービス」タブを開き、「Microsoftのサービスをすべて隠す」のチェックボックスにチェックを入れます。
画面に表示されたサービスをすべて読み込まないように設定するため、「すべて無効」ボタンをクリックします。
(画面はOSインストール直後のため、サービスが1つも表示されていません。
上記作業後、「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クライアントも奥が深いですな…