パソコンが起動できなくなったので、ブートログを見てみました。
何が原因かわからないのですが、「afd.sysが読み込みできなかった」というメッセージが目につきました。
エラーメッセージの意味を調べてみます。
1. ブートログのメッセージ
Windowsが起動できないときには、ブートログを見て、何のシステムファイルの読み込みエラーがあるのか確認することができます。
ブートログは、システムフォルダ(C:¥Windows)内の ntbtlog.txt ファイルにあります。
1-1. ブートログを記録するには
通常はブートログは記録されません。
ブートログを記録するには、起動オプションで「ブートログを有効にする」を選択して起動する必要があります。
ブートログのファイルを開くには、回復環境のコマンドプロンプトを使います。
ログの末尾を見ると、afd.sys が読み込めなかった、という記録が、何回か表示されていました。
BOOTLOG_NOT_LOADED afd.sys
一度ではなく、何度か読み込みを試みて、失敗しているようです。
正常に読み込まれた場合は、ログファイルには以下のように記録されます。
Loaded driver \SystemRoot\system32\drivers\afd.sys
このことから通常、「C:¥Windows¥system32¥drivers¥afd.sys」にシステムファイルが保存されていることがわかります。
2. afd.sysとネットワーク機能
afd.sys について検索してみると、「Ancillary Function Driver for WinSock」というシステムファイルであることがわかりました。
訳すと、「WinSockのための補助機能ドライバ」です。
(参考):Did not load driver AFD.SYS- PC not booting up properly | Vista Forums
afd.sysは、Windows OSの多くのコンポーネントやほかのアプリケーションソフトが、ネットワーク階層(network stack)の残りの部分へのアクセスできるようにします。
もし、読み込めないと、ブラウザとメールクライアントなどは機能しません。
つまり、ネットワーク接続に問題が生じる可能性があります。
ただし、このエラーだけなら、セーフモードで起動すれば問題はないはずです。
Winsockは、「Windows Sockets API, WSA」の略で、Windowsのソフトウェアがネットワークサービス(主にTCP/IP)にアクセスするための仕様です。
3. 読み込めない根本的な原因を考える
afd.sysが読み込めないのは、もっと根本的なドライバの読み込みエラーの結果の可能性があります。
BIOSを最新版に更新したり、NICを外す(あるいはBIOSから無効にする)ことを試してみます。
あるいは、いったんウイルス対策ソフトを削除して、Windowsの更新をして、うまくいったケースもあるようです。
ウイルス対策ソフトも、起動時のネットワーク接続に関係しています。
4. 別の原因で改善した
実際、私の場合は、その後 動作不良になっていたサブHDDを取り外したら、快適に起動するようになりました。
HDDが故障したのですが、メインストレージではなかったのでしばらく放置していました。最近、Windows Updateのタイミングで起動できなくなっていました。
正常に起動してからブートログを確認すると、afd.sysも読み込みできていました。
afd.sysファイル自体に問題があったわけではなさそうです。
残念ながら起動できなかったときのブートログを上書きしてしまったので、差分を検証することができませんでした。
ブートログのエラーのもっと前の方に本当の原因があったのかもしれません。