あれ…休みはどこへ…

なんかあっという間に終わってしまった10日間。今日から学校です。

こういう展開は一番あっちゃまずい気がするんだが…。

とりあえず何をしていたか軽くメモしておこう。

・部屋の整理

受験生時代の物が溢れている殺伐とした環境のままだったのでついに整理。

でもまだ完了したとは言い難い…。

・PCにおける自主的な課題というかなんというか

とりあえずこれは話すと長くなる。以下長い。覚悟。でも腕に自信のある人は是非お読み下さい。

学校では無線LANでノートPCから学内ネットワークとインターネットに繋ぐことができるのだが、Windows Vista用とWindows XP用とで別の電波(SSIDが異なる)を使うように学校では指示している。

殆どの教室ではVista用の電波は来ているので 、学校の指示通りに設定すれば(正確にはレジストリにアクセス許可設定を設定しなければならない場合が多いので、まったくの学校の指示通りでは証明書のインポートの時点で失敗するが)接続ができる。

しかし稀にどうしてもXP用のSSIDしか拾えない場所がある。恐らく去年までの設備をそのまま更新してないものだと思われるが、これはVistaにてXPの設定に真似て設定しても接続できない。弓道部部室がこれに該当する。

いろいろ試行錯誤してみたがどうも上手くいかなかったのでそのうちにXPをノートPCで起動できるようにしようと思った。

XPが使えると無線LAN以外にもいくつかメリットがある。IntelのグラフィックスドライバがVista用のではManaged DirectXがどうもバギーになるが、XPでは直る上、パフォーマンスが上がる。SoundBlasterの機能がフルに使えるようになる。一部のVista非対応ソフトウェアが使えるようになる。など。

そんなタイミングである日USBフラッシュメモリが格安で売ってたので衝動買いしてしまった。8GBで親指よりも小さいサイズ。こういったUSBメモリはVistaで起動しているPCに差すと空き領域がReadyBoostと言う機能でメインメモリの補助もしくはHDDの補助のように使われ、PCの処理が心なしか軽快になる。しばらくこれを検証していたが飽きてきたので、

よしじゃあということでUSBメモリから各種OSが起動できるようにしてみようと、あまり意味のない実験を始めた。まずKNOPPIXがUSBメモリから直接起動できるようにした。KNOPPIXはDebianベースのLinuxである。この段階ではUSBメモリの先頭512バイトの領域にMBRとしてsyslinuxを書き込んだ。

そしてFedora Core 6ベースのLinuxとしてBerry Linuxも起動できるようにした。この時点でブートローダーは使い慣れているGRUBに変更した。MBRをGRUBで上書きして、KNOPPIXとBerryの選択起動を可能にした。

そしてWindows XPもインストールできないものかと挑戦した。Windows XPをそのままUSBメモリにインストールしようとすると途中で失敗してしまうのでセットアップファイルのINFファイルに色々と改造を施してみた。

そしてWindows XPをなんとかインストールでき、USBメモリから起動できたものの、融通の利かないXPインストーラがUSBメモリではなくメインHDDのブートセクタMBRをNTLOADER用に勝手に上書きしてしまった。

そこでVistaインストールディスクのBOOTフォルダにあるbootsectをXPから使ってbootsect /nt60 c:とやってメインHDDのVistaのブートマネージャーを復活させ、メインHDDのルートにあるboot.iniとbootfont.binとntdetect.comとntldrの4つを切り取ってUSBメモリのルートに移した。

USBメモリにGRUBが入っていなければこれでNTLOADERがUSBメモリから読み込まれるようにできる。しかしNTLOADERはあまり画面が綺麗ではないので今回GRUBをメインにすることにした。

本来ブートローダーはOSのブートを開始するか、各OSのパーティションの先頭512バイトのパーティションブートレコードにあるプログラムへ飛ばし、それを起動させる使い方をするが、今回USBメモリはパーティションを切らずに全体をFAT32のままLinuxでもWindowsでも共有させる使い方をしているため、GRUBでXPを起動する方法がないように思われた。

何故パーティションを切らなかったかというと、USBメモリでパーティションを切ってしまうと使いづらいのみならず先頭のパーティションまでしかWindowsから認識されなくなってしまうらしいということがわかっていたため。

そこでGRUBで試しにrootverify (hd0,0)と(BIOSがUSBメモリからMBRを読み込んだ場合USBメモリが第一HDDと認識されるため0になる。同じようにNTLDRのboot.iniでもrdiskは0となる)chainloader +1とすると、USBメモリのブートセクタをもう一度読み込む命令だと思っていたのだがなんとNTLOADERの方を読み込んだ。

この段階で、GRUBが同一パーティションのNTLOADERを起動できて、起動されたNTLOADERはあらかじめLinuxからddコマンドでダンプしておいたGRUBのブートセクタを読み込んでGRUBを呼びなおすこともできるようになった。さらにNTLOADERは選択肢が1つのときは選択肢のリストを表示させずにスキップするため、GRUBを呼びなおす選択肢を消せば結局GRUBで全部呼び出せているように見えるようにできる。

GRUBは背景画像をセットできたりその他細かいところでNTLOADERより融通が利く部分があったりでこれも便利。GRUB画面でブートコマンドをその場で一時的に書き換えて実行することもできる。

これによってこのUSBメモリはMBRトラブルの救命用にも使えるようになった。

結果としてこのUSBメモリが現在どんな振る舞いを見せるかというと、

・まずノートPCにUSBメモリを差さずに電源を入れるとPC購入時と全く同様、何も変化なしにVistaが起動する。

・Vistaが起動した状態でUSBメモリを差すとReadyBoostが機能してPCが気持ち高速化する。

・一度電源を切り、USBメモリを差した状態で電源を入れると、背景がペンギンの絵(現時点)でブートメニューが現れる。

・ブートメニューを5秒放置しておくとそこからWindows XPが起動する。

・ブートメニューが出ている間に矢印キーでKNOPPIXを選ぶとKNOPPIXが起動する。またこのKNOPPIXではBerylが動いている。

・ブートメニューが出ている間にBerryを選ぶとBerry Linuxが起動する。

まとめると、USBメモリを差した時だけWindows XPもLinuxも起動できるようになったことになる。その上、そのときはHDDを一切読み込まない。事実上の0スピンドルPCである。(PCに搭載されている、回転するディスクの種類や数を指して、~スピンドルPCと呼ぶ)

Macもなんとかしようかと思ったが時間が無かったのでとりあえずここまでが限界。というかそこまでやるにはメモリ容量がまだまだ少ないし、Mac起動したところで何をやるんだという話が。

ちなみにここまでやるのに費やした時間は確か2日である。 他にもノートPC用にハードウェアシンセサイザーを作ったりした。

さてこれで弓道部でもネットに繋げるかなー…

・おまけ

家に地上デジタルのアンテナを新たにつけることになった。今でも一部受信できてるが受信できてない放送局がいくつかあったため。そしてその取り付け作業などをやってくれる電器屋のおじさんと軽い会話があった。

「大学生?」

「はい」

「何年生」

「一年生です」

「文型?理系?」

「一応理系です」

「何をやってるの、やっぱり情報とか?」

「はい、そんな感じです」

「やっぱりね、今の若い人みんなそうだよね。ソフトっていうかサービスとか。モノを作らないんだよな。」

「ははぁ…」(反論可能だったが中止)

ちなみに僕はPC以外に工作も電子工作もかなり得意なつもりである。だから通信工学科にいる。だから本当はこのアンテナ取り付け作業をしている電器屋さんと息が合うはずなのだが、僕が一番興味があるのは人工知能、究極の自動化であって、どちらかというと情報工学寄りである。学科間違えたな、転科したいなと思っているところにこの台詞。このときの僕の気持ちがわかるだろうか。

You may also like...

コメントを残す

メールアドレスが公開されることはありません。