「SATで挑む平面彩色問題:研究環境構築記録~第2回:なぜWSLを選択したのか(一般的な「正解」の選択)~」

このシリーズでは、数学の研究環境を整えていった過程を順番に記録しています。
前回は【数学に詳しくない僕が研究環境を作ろうと思った理由】について書きました。まだの方は、先にこちらからどうぞ。

Linux環境が必要だと分かった時点での課題

この問題は計算機で扱う必要があります。よって、次に出てきた課題は、Linux環境をどう用意するかということです。

調べていくと、SATソルバーや関連ツールはLinuxを前提としているものが多く、Windows単体で完結させるのは現実的ではないようです。
人によっては、Linux専用のマシンを構築している人もいるようですが、僕の場合はそうもいかないので方法を考える必要がありました。

選択肢を整理

Linux環境を用意する方法はいくつかあります。

主に次のようなものです。

  • WSL(Windows Subsystem for Linux)
    Windowsが提供する、Windows上でLinuxを動かすシステムのようです。
    僕はこの存在を知りませんでしたが、割と一般的な選択肢のようでした。
  • 仮想マシン(VirtualBoxなど)
    後述しますが、紆余曲折あり最終的にはこの方法でLinux環境を構築しています。
  • デュアルブート(WindowsとLinuxの共存)
    これは昔構築したことがありますが、Linux環境のためではなく、単なる遊びとしてやったことがある程度であり、WindowsのOSが壊れたときのデータ救出用に方法を覚えたものです。

なぜWSLを選択したか

調べていくと、WSLについては次のようなことが分かりました。

  • Windows上でそのままLinuxが使える
  • 仮想マシンより軽量
  • ファイルのやり取りが簡単
  • VSCodeなどとの連携がしやすい

さらに、環境構築に関する記事やブログでも、WSLを前提にしているものが多いようです。

ここで僕の中にこういう認識ができました。
「とりあえずWSLを選んでおけば間違いないだろう」と。

とりあえずの選択

ただ、今振り返ると、あまり理解せず選択していました。

具体的には、

  • WSLが内部的にどう動いているのか
  • 仮想マシンとの違いは何か
  • Windows本体への影響はどの程度あるのか

といった点について、ほとんど考えていなかったのです。

ChatGPTとのやり取り

ここでも、ChatGPTに相談しながら進めていました。

Linux環境の用意方法について聞いたところ、

  • WSLは一般的で手軽
  • 開発用途でも広く使われている

といった説明が返ってきました。

この時点では特に不安要素も見えず、むしろ「それならWSLでいいだろう」と判断を後押しされた形になったのです。

見えていなかったもの

「どこまでOSに影響するのか」という点が分かっていませんでした。

WSLは「Windows上でLinuxが動く」と説明されることが多いが、その裏でどのような仕組みが動いているのかまでは、この時点では理解していませんでした。

つまり、

  • どこまで安全なのか
  • どこから危険になり得るのか

その境界を認識しないまま選択したのです。

結果としての評価

結果的には、この後かなり大きなトラブルに繋がることになります。

ただし、ここは誤解しないようにしたい。
この選択自体が間違いだったわけではないのです。

WSLは実際に多くの環境で問題なく使われており、開発用途としても非常に優秀な選択肢である。

つまり、「一般的には正解とされる選択」だったわけです。

この後に起きたこと

このようにして、僕はWSLを前提に環境構築を進めることにした。

ここまでは、かなりスムーズだった。
少なくとも、自分ではそう思っていた。

しかし実際に導入を進めていくと、そこで予想していなかった問題が発生します。

そしてその問題は、単なる設定ミスや軽いトラブルではなく、
最終的にはOSをリセットするところまで発展することになるのです。

次回

次回は、実際にWSLを導入しようとした際に行った操作と、そこで発生したトラブルについて、できるだけ具体的に書いていきます。
トラブルというと恐ろしいものですが、今回に至ってはWSLを選択すること自体に問題はなく、あくまで僕個人に起こった不具合として記録を残します。

つまり、WSLという選択自体を否定するものではないということをあらかじめご了承いただければと思います。

次回は、【WSL導入でOSが壊れた話】について書きます。