Windowsの上でLinuxを動かしたい。その願いを叶えようとして、ディスクイメージ、TAPドライバー、キーボード設定とにらめっこしていた2005年の学習メモ。今回は鹿のメイザーが、記録に残る工夫とつまずきを、少しユーモラスに語り直します。
この回を動画で見る
同じテーマを、鹿のメイザーが図解と字幕付きで語ります。
2005年、WindowsにLinuxを同居させる
どうも、鹿のメイザーです。今日は、二千五年の技術メモを掘り起こしてみよう。テーマは、Windowsの上でLinuxを動かす、coLinux。名前からして、ちょっと懐かしい響きじゃろう。今なら、WindowsでLinuxを使う話は、かなり身近じゃね。でも昔のメモを開くと、ディスクのイメージ、スワップ、仮想ネットワーク。登場人物が多い。Linuxを一匹迎えるのに、引っ越し業者まで呼ぶ勢いじゃ。
この回は、手元に残る学習メモから、当時の工夫とつまずきを語り直したものです。導入資料をまとめた部分もあるので、すべて自分だけで考案した手順、という話ではありません。記録を頼りに、技術の昔話を楽しもう。もちろん、昔は全員こうだった、という話でもない。二千五年の一つの記録じゃ。すでに仮想マシンもあったし、別のパソコンを使う道もあった。その中で、こんな面白い選択肢があった、というお話です。
同じ机で、二つの世界を使いたい
やりたいことは、案外シンプル。Windowsの道具を使いながら、Linuxのコマンドも使いたい。片方で調べて、片方で試す。毎回パソコンを再起動していたら、考えていたことまで再起動されそうじゃからね。デュアルブートは、起動するOSを選ぶ方法。別のマシンなら、そちらへ接続する。仮想マシンなら、仮想のパソコンの中で動かす。どれにも良さがあるが、今回はcoLinuxという別の工夫に目を向けます。
公式プロジェクトの説明では、Linuxのカーネルと支援コードを移植し、別のOSと協調して動かす仕組みとされています。単にコマンドの見た目をLinux風にしただけ、というものではないんじゃ。ただし、現代のWSLと、同じ実装だとは考えないでね。目指す便利さが似ていても、仕組みや歴史は別です。昔話でいちばん危ないのは、懐かしさの勢いで、技術まで親戚にしてしまうことじゃ。
まずLinuxの「家」を用意する
メモには、coLinux、バージョン、ゼロ点六点二と、Debianのディスクイメージが登場します。本体を入れたら、はい完成。とはいかない。Linuxが暮らす場所も、別に用意するわけです。ディスクイメージは、ここではLinuxのファイルシステムを入れたファイルだと思えばよい。部屋の中身を一つの箱に詰めたようなもの。その箱を展開して、設定から指定する。空っぽの玄関だけ建てても、暮らせんからね。
メモでは、長い名前のイメージを、ルート、ドット、イメージという短い名前に変更しています。動作原理が変わるわけではないけれど、設定ファイルで扱いやすくする工夫じゃ。名前の長さで、エンジニアの集中力を削らない作戦です。このあたりは、現在の導入画面が裏で引き受けてくれる仕事を、利用者が見ながら進めていた感じじゃね。入手するもの、展開するもの、設定に渡すもの。似た顔のファイルが並んでも、それぞれの役目は違います。
128MBに、時代が詰まっている
そして、メモリ。手元の記録には、標準の六十四メガバイトから、百二十八メガバイトへ増やす例が残っています。ギガじゃない、メガです。今の感覚だと、数字の後ろにゼロを置き忘れたのかと、二度見しそうじゃ。ここで大切なのは、当時の設定例だということ。今のLinuxに、この数字をそのまま当てはめる話ではありません。昔のメモはタイムカプセル。開けて眺めるのは楽しいが、中の弁当をそのまま食べるわけにはいかんのです。
スワップについても、二百五十六メガバイトのイメージを用意する例が記録されています。スワップは、メモリの内容をディスク側へ逃がすための領域。メモリの代役にはなるが、速さまで同じになる魔法の財布ではない。しかも、当時のこの手順では、スワップのファイルも自分で準備する。机を買ったら、引き出しの板まで自分で切るような気分じゃね。今の便利さは、こういう小さな作業を見えないところへ運んできた、とも言えそうです。
XMLが、二つの世界の住所録だった
準備したイメージは、設定ファイルに書き込みます。当時のメモでは、XMLでメモリやディスクを指定する形。どのファイルを、Linux側のどの装置として見せるのか、その対応を決めるわけじゃ。これは、Windowsにあるファイルと、Linuxから見えるディスクの名前が、同じものを指していると理解する場面です。道具は違っても、対応表を一枚描くと急にわかることがある。頭の中だけで配線すると、鹿の角みたいに絡まるからね。
設定を読むときは、まず名前と役割を分ける。ルート用、スワップ用、メモリ用。全部まとめて、なんとなく動きそう、では後から困る。ファイルが存在することと、設定が正しく指していることも、別の確認じゃ。この考え方は、今でも使える。コンテナのボリュームでも、仮想マシンのディスクでも、手元のファイルを別の環境へどう見せるか、という問題は残る。昔の設定の書式が消えても、境界を読む目は、そう簡単には古くならんのです。
起動した。でも、キーボードがよそよそしい
さて、起動すれば勝ちか。残念ながら、ここから第二部です。メモには、コンソールのキーバインドが英語キーボードになっていて苦労した、とあります。コマンドを打ちたいのに、まず自分の指を疑う展開じゃ。文字のキーは大丈夫でも、記号の位置が合わないとつらい。設定ファイルを直すときほど、記号を使うからね。問題を直すための道具に入ったら、その道具が別の問題を出してくる。エンジニア向けの、入れ子のお菓子箱です。
さらに、日本語の表示やロケールの準備にも話が進む。手順どおりにいくはずが、依存関係のエラー。メモには、こうならない、という訂正と、試した後も同じだった記録が残っています。完成版の手順書だけでは見えない足跡じゃ。ここで、すべて最後には解決しました、と美談にしてしまうのは違う。記録にあることは、ある。ないことは、ない。つまずきが残っているからこそ、昔の技術の距離感がわかる。成功の写真より、散らかった作業机が語ることもあるんです。
TAPドライバー。橋にも相性がある
もう一つの山が、ネットワークです。メモには、TAPのドライバーがうまく合わない、という追記がある。同じような名前の部品だから、どれでも交換できる。そう考えると、橋を架けたつもりが、岸に届かないことがあるんじゃ。TAPは、ここでは仮想的なネットワークの接続口を作る部品として見てください。Linuxが動くことと、外へ通信できることは別。家を建てたことと、道路につながったことは同じではない。郵便屋さんは、玄関の夢だけでは来ません。
当時の追記は、使うドライバーの違いを気にしています。ただし、昔の特定の環境で起きた話を、全部の製品やバージョンへ広げないこと。同じ名前の技術でも、組み合わせが違えば結果は変わる。ここは昔も今も、手ごわいところじゃね。メモには、ネットワーク設定のファイル名を訂正した箇所もあります。最後にエスが付くか、付かないか。ほんの一文字が、巨大な壁になる。鹿の角は二本あっても、ファイル名の一文字を勝手に増やしたら、だいたい怒られます。
つながった後にも、小さな壁が待つ
ネットワークの先には、共有フォルダ。さらにその先には、開発の道具。記録の後半を見ると、共有をマウントするところでエラーが出て、一部を保留した記述もあります。作業の道は一本道というより、分かれ道の多い林じゃ。そして最後に、コンパイルを試したら、cc1plusを実行できない、というエラー。追記では、g++が入っていないことに目が向いています。Linuxが起動することと、必要な開発道具がそろうことは、別だったんじゃね。
ここから拾えるコツは、確認する層を分けること。起動、入力、通信、ファイル共有、開発ツール。いっぺんに全部を疑うと、どの変更が効いたのかわからなくなる。犯人捜しで全員を同時に呼ぶと、会議だけが元気になるからね。一つできたら、一つ確かめる。そして、まだできないことを、できないまま書いておく。メモの保留という一言には、意外と価値がある。次の自分へ、ここはまだ穴が開いているぞ、と伝える目印になるんです。
2019年の雑誌を開くと、WSL 2の話
では、時計を先へ進めよう。参考に開いたのは、ソフトウェアデザイン、二千十九年八月号。技術評論社の雑誌です。巻頭の最新用語解説、百二十八回で、WSL 2が取り上げられています。執筆は杉山貴章さん。記事では、それまでのWSLと、新しい仕組みの違いが紹介されています。ここでは本文や誌面を再現せず、構造が変わったことを知る入口として紹介します。詳しい説明は、ぜひ元の号でどうぞ。
雑誌の紹介と、わしの昔のメモは、別の資料です。この号がcoLinuxの苦労を解説している、と結びつけるわけではない。同じ、WindowsでLinuxを使うという関心を、違う時代の資料で眺めているんじゃ。古い雑誌を読むときは、その時点の説明だとわかるように、何年の何月号かを添える。技術の話には、時間の住所も必要です。地図だけあっても、いつの地図かわからなければ、新しくできた橋を見落としてしまうからね。
似た願いでも、仕組みは違う
現在の公式資料で、仕組みも確かめておこう。WSL 1は、Linuxのシステム呼び出しを扱う変換層を使う。一方、ツーは、管理された軽量な仮想マシンの中で、実際のLinuxカーネルを動かします。この二つを、ただの新旧バージョンとして見るより、何をどこで動かすかが変わった、と見ると面白い。便利な入口の裏で、担当する仕事が変わっている。玄関が同じでも、奥の台所が丸ごと引っ越したようなものじゃね。
coLinux、WSL 1、ツーを並べる図は、仕組みを比べるための整理です。coLinuxがそのまま育って、ツーになったという系譜の図ではありません。似た願いが、違う設計で実現された、と考えてください。昔の設定作業が、今では管理する仕組みの中へ移った部分もある。でも、全部が消えたわけではない。ファイルをどちら側へ置くか、通信をどう通すか。便利になったあとでも、境界の話は、ちゃんと残っています。
昔の手順を、今の正解にしない
このメモには、telnetを使う手順も出てきます。ただ、この回は歴史の話。そこにある設定やコマンドを、今の環境へそのまま持ち込む案内はしません。通信方法も、公開範囲も、現在の要件に合わせて考えるところじゃ。保存してある手順だから、いつまでも正しい。とは限らんのです。バージョン、配布元、前提条件が変われば、当時の近道が今の遠回りになる。昔の道具箱を大事にすることと、中の道具を全部現役扱いすることは、分けておきたいね。
それでも、問題の切り分け方は持ち帰れる。最初に、何をしたいかを短く書く。次に、どの環境が何を担当するかを整理する。そして、小さく試して結果を残す。道具の名前より、この順番のほうが長く使えることもあります。当時の苦労を笑うなら、技術や作った人をばかにする笑いではなく、ひとつ直すと、もうひとつ出る、あの状況を笑いたい。わしも画面に首をかしげる鹿です。角ではエラーを直せないが、首の傾きだけなら、かなり経験豊富じゃ。
便利さの裏に、誰かの格闘がある
今日は、二千五年のcoLinuxのメモから、イメージ、メモリ、入力、ネットワーク、開発道具をたどりました。楽をしたくて入れた環境が、しばらくは仕事を増やす。あの感じが、記録のあちこちから顔を出していましたね。今の便利さを、初めから当たり前だったと思わない。昔の試行錯誤を眺めると、画面の裏で誰が何を引き受けるようになったのか、少し想像できる。技術の回顧録は、古いコマンドの暗記大会より、その変化を楽しむ場にしたいんです。
皆さんの古いメモにも、起動した、その次が動かない、という記録はありませんか。立派な成功談でなくてもいい。保留や訂正の一行が、当時の空気を伝えてくれることがある。片付ける前に、ちょっとだけ読み返してみてください。参考にした雑誌の号と記事、公式の資料は、ブログと説明欄にまとめておきます。ここまでお付き合いありがとう。システムエンジニア回顧録、語り手は鹿のメイザーでした。ではまた、次のメモの発掘でお会いしましょう。
参考資料
- 筆者保管の2005年のcoLinux学習メモ(導入資料の整理と追記を含む。識別情報を除いて再構成)。
- 杉山貴章「ITエンジニア必須の最新用語解説 第128回 Windows Subsystem for Linux 2(WSL 2)」『Software Design』2019年8月号、技術評論社、巻頭ED-1。記事の短い紹介と要約のみ。本文・図版・誌面画像の転載はしていません。
- 技術評論社:Software Design 2019年8月号(公式目次) https://gihyo.jp/dp/ebook/2019/978-4-297-10495-5
- Cooperative Linux公式プロジェクト(歴史的な仕組みの確認) https://sourceforge.net/projects/colinux/
- Microsoft Learn:WSLバージョンの比較 https://learn.microsoft.com/ja-jp/windows/wsl/compare-versions
- Microsoft Learn:Windows Subsystem for Linuxとは https://learn.microsoft.com/ja-jp/windows/wsl/about
- Web資料確認日:2026年10月14日。古いメモの値や手順を現在の推奨設定として紹介するものではありません。