数学研究ログ 第003回「SATで挑む平面彩色問題:研究環境構築記録~第3回:WSL導入でOSが壊れた話(実作業ログ)~」

このシリーズでは、数学の研究環境を整えていった過程を順番に記録しています。
前回は【なぜWSLを選択したのか】について書きました。まだの方は、先にこちらからどうぞ。

やろうとしたこと

第2回で書いた通り、Linux環境としてWSLを使うことにしました。

ここでの目的はシンプルで、

Windows上でLinuxを使える状態にするということです。

そのため、ChatGPTに相談しながら、PowerShellからWSLの導入を進めていくことにしました。

最初に実行したコマンド

まず、WSLの導入として、次のようなコマンドを実行した。

wsl --install

このコマンドで、必要な機能の有効化や環境の準備がまとめて行われる、という認識でした。

追加で必要になった操作

環境によっては手動で機能を有効化する必要があるとのことで、次のような操作も行いました。

dism /online /enable-feature /featurename:VirtualMachinePlatform

このあたりは、ChatGPTに確認しながら進めており、正直よく分かっていません(良くないとは思いつつ)。

この時点では、

  • 必要な機能を順番に有効にしていく
  • 多少エラーが出ても調整すれば進める

という感覚でした。

発生したエラー

しかし、途中でエラーが表示されました。

内容としては

コンポーネントストアが破損しています

といった、Windows内部の状態に関わるものでした。

この時の認識

このエラーを見た時、正直そこまで深刻には受け取っていませんでした。
分からないまま、なんとなく解決方法を見つければ良いやという考えだったのです。

  • 環境構築ではよくあることではないか
  • 一時的な不整合ではないか
  • 修復や再試行でなんとかなるのではないか

「よくあるトラブルの一つ」くらいの認識でした。

ChatGPTに相談した内容

このエラーについて、そのままChatGPTに内容を伝えたところ、返ってきた内容はおおよそ次のようなものでした。

  • コンポーネントストア関連のエラーは発生することがある
  • 修復コマンドや再実行で解決する場合がある
  • 環境によっては少し手間がかかることもある

この時点では、 致命的な問題ではない可能性があるという認識。

判断:そのまま進める

ここで僕は、作業を続行するという判断をしました。そして、途中で再起動が必要になったため、特に疑うことなく再起動を行ったのです。

この判断が、結果的には大きな分岐点となりました。

再起動後に起きたこと

再起動後、明らかに様子がおかしい。

  • Windowsのロゴ画面までは出る
  • しかし、その先に進まない

なんかこう、ぐるぐる回るマークが出ますよね。
その画面でそのマークが出ず、Windowsのロゴのみが表示される。
そして、しばらく待っても変化はなく、そのままの状態が続くようになってしまったのです。

この時の認識

この時点で初めて、「これは普通のトラブルではない」と感じましたが、まだ何とかなるかもとも思っていました。

  • たまたま起動が遅いのではないか
  • もう一度再起動すれば直るのではないか

しかし、状況は変わらず。

さらに悪化する状況

その後、次のような状態に入りました。

  • 自動修復が起動する
  • 修復に失敗する
  • 再起動する
  • 再び同じ状態になる

ループ状態

もう、通常の操作ではどうにもならない状態になっていました。

対応を考える

ここで初めて、かなり強い危機感を持ちました。
ただWSLを導入したかっただけなのに、PCが壊れて使えなくなってしまったのではと。

  • OS自体が壊れている可能性がある
  • WSLの導入どころではない
  • 環境構築が完全に止まった

ここでChatGPTにも再度相談しましたが、提示されるのは

  • 修復コマンド
  • 回復オプション

といった一般的な対応でした。
実際、有効な手順ではあるのでしょう。

しかし、どうも正常だった状態に戻すことすらできない致命的な何かがOSに起こっていたようです。

最終判断

ここで最終的に行ったのが、OSの初期化(リセット)です。

つまり、

  • それまでの環境はすべて破棄
  • 最初からやり直し

ということなのですが、OSの初期化にも色々あるようで、今回は致命傷を免れました。
アプリは消えるものの、データは残すという方法での初期化が存在したためです。

この出来事で何が変わったか

この出来事によって、僕の認識は少し変わりました。

それまでの考えですと、

  • 環境構築は多少トラブルがあっても進められる
  • エラーは対処すればいい

という考えから、「そもそもの設計がまずかったのではないか」という考えへシフトしました。

気づいたこと

この経験で一番大きかったのは、「OSに影響する操作を軽く見ていた」という点です。

WSLは今回のような環境構築の方法として一般的な選択ではあります。

しかし、

  • 実際にはWindowsの機能を変更する
  • 仮想化層に関わる
  • システムの深い部分に触れる

そういった性質を持っています。
それを十分に理解しないまま進めていました。

コンソールに言われるままコマンドを入力していましたが、それを最小限にできる方法を模索すべきでした。

この回のまとめ

今回の流れを整理すると、

  • WSLを導入しようとした
  • PowerShellから機能を有効化した
  • コンポーネントストアのエラーが出た
  • 深刻ではないと判断した
  • 再起動した
  • OSが起動しなくなった
  • 修復できなかった
  • 最終的にOSを初期化した

そして最終的に残ったのは、

「これは手順の問題ではなく、設計の問題だった」という認識です。

僕のPCは自作で、性能的には悪くないのですが古い部分もあり、一般的な方法が必ずしもマッチするわけではないということを学びました。
もう少し選択肢を吟味し、安全度の高いものを選択すべきでしたね。

次回は、【なぜ壊れたのか(WSLとWindowsの構造を理解する)】について書きます。