(2010.04.24)
(A) ソフトウェア的な方法
(A-1) MBMなどのサードパーティー製のブートマネージャを使用する
(A-2) BCDEDITを使い、手作業でBCDにWindows Meを組み込む
(A-3) Windows VistaのVirtual PCを使う
(A-4) FDISK/DISKPARTなどでアクティブ区画を切り替える
(A-5) BCD→NTLDR経由でWindows Meを起動する
(B) ハードウェア的な方法
(B-1) 外付けHDD(USB/eSATA等)を使用する
(B-2) HDDリムーバブルラックを使用する
(B-3) HDD電源切替器を使用する
確実製から言えばハードウェア切り替えが一番だが、コスト、手間、設置スペース、騒音、給電…と言った運用上の問題が、意外に高いハードルになる。ソフトウェア的な方法は簡便で低コストというメリットがあるが、Windows 7のブートマネージャは相当に厄介なシロモノで、その機能や特徴をきちんと理解しておかないと、Windows Meとの共存は非常に困難。たとえば、Windows MeがインストールされているHDDに、Windows 7を追加インストールすると、Windows Meが起動できなくなる。対処は可能だが、方法を知らないとパニックに陥る。
@ブートセクタから直接ブート(DOS、Win9x系)
ANTLDR方式のブート(NT/2000/XP系)
BBCD方式のブート(Vista/7系)
直接ブートは、HDD上の特定の場所からブートする方式であるため、原則的に一つのHDDにつき一つのOSしか使用できない。別途ブートマネージャ(Boot Magic、System Commander、MBMなど)を導入すれば、複数OSの起動が可能になるが、OS自体がマルチブート機能を持っているわけではない。
これに対して、NTLDR方式やBCD方式では、最初にOS付属のブートマネージャが起動して、そこから起動するOSを選択してチェインするため、複数OSの共存/切替が可能。NTLDR方式では、ブートするOSの情報はboot.iniというテキストファイルに書かれていて、エディタで簡単に編集できた。しかし、BCD方式ではBCDEDITという専用のコマンドを使用しないと内容を変更できない。反面、BCD方式はVHDブート(Virtual PCで使用する仮想HDからのブート)をサポートするなど、機能面ではNTLDR方式よりも優れている。
ポイントは、これらの三種のブート方式には下位互換性があり、たとえば、Windows 7のブートマネージャからWindows XPやWindows Meをブートすることも、技術的には十分可能であるということ。Windows 7はWindows Meを見つけてもブートマネージャに登録しないが(それどころか、Windows Me自体をブート不能にしてしまうが)、これはブート方式の変更に伴い対応不可能になったのではなく、9x系のサポートが嫌だから殺しているに過ぎないということ。
この名称については多少注意が必要。というのは、Windows 7の[ディスクの管理]では、ブート区画を「システム」と呼び、Windows 7のシステムが入っている区画を「ブート」と呼んでいる。別に「間違い」ということではないが、感覚的に非常に混乱しやすい。 |
この区画にインストールされているのはブートマネージャである。ブートマネージャとは、複数OSの切替を可能にする機能だが、Windows 7の場合はもう一つ重要な機能がある。それがコンピュータの修復機能。Windows 7がトラブルでブート不能になったときに、システムを修復する機能(システム回復オプション)が起動できる。従来は、インストールDVDから起動しなければならなかったが、Windows 7ではHDDだけで起動可能になった。したがって、マルチOSに興味がないユーザーにも有益なものなのだ。
と言っても、ブート区画を作成せず、ブートマネージャをWindows 7本体の区画にインストールしても「システム回復オプション」の起動は可能。問題は、その区画ごと逝っちゃた場合に対処できなくなること。ただし、その場合もインストールDVDからブートすればよいわけで、全く対処不能になるわけではない。したがって、ブート区画の存在がそれほど決定的かつ重要というわけでもない。その辺りを理解した上で「要らない」という判断はありだと思う。 |
問題は、このブート区画が作成される条件や場所が今ひとつはっきりしない点だ。基本的には、クリーンインストール(HDDが更地状態)の場合には自動的かつ強制的にブート区画が作成されるが、既存区画が存在する場合には作成されない。このこと自体は確かなようだが、ではブート区画が作成されなかった場合、どこにブートマネージャがインストールされるのか? 一般的には、Windows 7のインストール区画に作成されると思われるのだが…
どうもそうとも限らない。実は既存区画を乗っ取ってしまうことがある。Windows Meが起動不能になってしまう原因もまさにこれで、あろうことか、勝手にWindows Me区画のブートセクタを書き換えて、ブートマネージャをインストールしてしまうのである(やってることは、ほとんどウイルス(^^;)。だから、Windows Me区画をブートしても、「ブートマネージャ→Windows 7」というチェインでブートしてしまう。
まだ検証はしていないが、ブートマネージャの乗っ取りは《アクティブ区画》に対して行われるような気がする。常識的に考えて、わざわざ古いWindowsを探し出して、それを狙い撃ちにするというのは可能性が低いような気がする(もっとも、M$は他社製品や共通規格との互換性を意図的に壊すことで独占を確立した企業である。ゆえに、既に邪魔者以外の何物でもない自社の旧製品に対しても同じ態度を取らないという保証はない)。ともかく、MBMなどで予め区画を作成し、Windows 7のインストール区画をアクティブに設定した上でインストールすれば、ブートマネージャとWindows 7本体は同一区画に納まる。 |
ブートマネージャには、MBMの他にもPartition Magic 7付属のMagic Bootや、OS/2付属のIBMブートマネージャなどがあるが、いずれに上手く動作しなかった。ただし、Windows 7のブート区画について十分に理解していない段階での実験だったので、ひょっとすると上手く動作させる方法があるのかも知れない。 |
このMBMを使えば、Windows MeとWindows 7の共存環境を作ることは可能。ただし、Windows 7のブートマネージャは、上述のようにWindows Me区画を乗っ取るため、Windows Me区画をブートしたつもりでも、実はWindows 7が起動してしまう。この現象が起きないようにするためには、先にWindows 7をインストールして、後からWindows Meをインストールする。
▼Windows Me→Windows 7の順にインストールすると…
1) Windows Me区画 :8GB ←Windows 7のブートマネージャに乗っ取られる 2) Windows 7本体の区画 :32GB▼そこで、先にWindows 7をインストールしてからWindows Meをインストールすれば…
1) Windows Me区画 :8GB ←無傷 2) Windows 7のブート区画:100MB ←Windows 7のブートマネージャはここに入っている 3) Windows 7本体の区画 :32GB問題は、Windows 7のインストーラの領域確保機能では、領域の先頭位置が指定できないこと。Windows Meを先頭に置かなければならない切実な理由があるかどうか不明だが、かつての《先頭1024シリンダ縛り》のようなことがあると嫌なので、古いOSはなるべく先頭に持ってきたい。となると、ダミーの領域を作成したり削除したりして、上手にWindows 7区画の前の領域を空けておかなければならない。可能ではあるが、少々面倒臭い。まあ、Windows 7のブート区画を先頭に持ってくるのであれば、さして面倒ではないが。
もちろん、MBMの区画エディタで予め区画を作っておく方法もあるが、Windows 7のブートマネージャが意図した区画に入ってくれるかどうかは、不確実な点が多い。少なくとも、私が8GB/100MB/32GBと確保した上で、Windows 7をインストールしたときには、100MBにブートマネージャは入ってくれなかった(u_u;) いずれにしろ、先にWindows 7をインストールすれば、簡単にデュアルブート環境が実現できるのは確か。ちなみに、Windows 7は「Windows 7本体」の区画ではなく、「Windows 7のブートマネージャ」の区画から起動する。
ただし、少々問題がある。と言うのは、Windows 7のブート区画をインストールすると、MBMの区画エディタが「Partitioning rule violatio」というメッセージを出して、区画の変更の保存を受け付けないことがあるのだ。私の環境の場合、ブート区画とDOS拡張区画(論理ドライブが入っている)を削除したら、この警告が消えた。因果関係がいまひとつはっきりしないが、やはりWindows 7の区画管理は特殊なことをやっているような気がする。実害はほとんどないが、何とも気持ちが悪い。
Windows 7はWindows Me区画を乗っ取って、勝手にブートセクタを書き換えてしまうが、元のブートセクタの内容を消し去ってしまうわけではない。実は、BOOTSECT.BAKというファイルに変換して保存している。逆に言えば、このBOOTSECT.BAKにはWindows Meを起動する手順が書かれているわけだから、これをブート情報としてBCDに組み込めば、Windows Meが起動できる。BCDEDITというコマンドを使ってBCDに新しいエントリを作成し、そこにWindows Meのブート情報を組み込めば良い。これが、以下の状態からWindows Meを起動可能にする唯一の方法であり、ある意味、最も正統的なマルチブート方法である。
1) Windows Me区画 :8GB ←Windows 7のブートマネージャに乗っ取られる 2) Windows 7本体の区画 :32GB
ただし、このBCDEDITは完全なコマンドライン命令で、FDISKのようなテキストベースのメニューすらないようだ。おまけに、管理者権限でコマンドプロンプト窓を開かないと起動すら拒否される。知らないユーザーが手探りで作業するのはほとんど不可能。前述のホームページを参照のこと。
Virtual PCとは、ソフトウェア・エミュレーションで仮想的なPC環境を構築して、そこで本物のOSを動かすもの。環境はエミュレーションなのでパフォーマンスは劣るが、動いているOSは本物なので、基本的に互換性の問題は出ない。互換環境を構築するOSを「ホストOS」と呼び、互換環境内で動作するOSを「ゲストOS」と呼ぶ。ここでは「ホストOS=Windows 7/ゲストOS=Windows Me」という構成を考えている。
現在入手可能なVirtual PCにはVirtual PC 2004SP1、Virtual PC 2007、Windows Virtual PCの3種類がある。このうち、Windows 7をホストとして正式サポートするのはWindows Virtual PCのみだが、これはWindows Meをゲストとして正式サポートしていない。Windows Meを正式サポートしているのは、2004SP1までである。もちろん、正式サポートをしてないからと言って、「動かない」というわけではないようだが、いきなりサポート外OSから始めるのも厳しいような気がする。
では、2004SP1の正式ホストはと言うと…実はWindows XP Professionalくらいしかない(u_u;) XP Pro.を持っていなければそれまでだが、持っていたら、Windows 7とXPでデュアルブート環境を構築し(これはXP→7の順でインストールすれば自動的に構築できるはず)、XPにVPC2004SP1をインストール、そこにWindows Meを組み込む。なんか、目茶苦茶遠回りな方法ではあるが、「正式サポート」にこだわると、こうした迂回方法しかないようだ。
他の方法としては、Windows 7のWindows Virtual PCにWindows Meを(無理矢理)組み込んでみるとか、2004SP1で作成したWindows MeのVHDファイルをWindows 7でVHDブートしてみるとか、いろいろ実験のネタは尽きない。ただ、そこまで行くと多分にお趣味な世界なワケで、「Windows 7/Windows Meの共存」と言う本来の目的からはずれてくる。
【追記】その後、WindowsXp Pro+VirtualPC 2004SP1でWindows Meを組み込んでみた。互換性(?)は非常に良好な印象を受けた。環境にシビアなゲームの類もけっこう動く。しかし、パフォーマンスはそれなりのもので、やはりネイティブの快適さはない。マシンはPentiumM 740(1.73GHz)で、通常のPentium換算ならば3GHz超の性能。これでこの程度のパフォーマンスでは少々苦しい。頻繁に使うのであれば、やはりネイティブのWindows Meが使えるようにすべきだろう。なお、このマシンはメモリが2GBで、そのままではWindows Meがインストール不可能だった(Windows Meにはメモリ制限機能があるので、たぶん、System.iniあたりをいじれば何とかなると思うが…)。 |
一般に、1台のハードディスクには最大4つの区画を作成できる。区画には、基本区画と拡張区画があり、基本区画からはブート可能だが、拡張区画からはブートできない(実際には拡張区画からのブートをサポートしているOSも少なくなく、基本区画限定のDOS/Windows系の方が特殊かも知れないが)。一方、基本区画は1区画=1ドライブだが、拡張区画には複数のドライブを作成できる。
したがって、データ用に拡張区画を作成したとしても、Windowsがブート可能な基本区画は最大3つまで作成可能と言うことになる。ただし、Windows 7はブート区画と本体区画の2区画を占有するので(一つにまとめることも可能だが)、実際にはあと一つしかブートできない。ということで、80GBのHDDを次のようにパーティショニングしたとしよう(Windows 7のあとにWindows Meをインストール)。
1) Windows Me区画 :8GB ←Windows Meはここからブート 2) Windows 7のブート区画:100MB ←Windows 7はここからブート 3) Windows 7本体の区画 :32GB 4) 拡張区画 :40GB ←データ用の論理ドライブを作成ブートする区画は1)と2)だが、問題はそれをどうやって切り替えるかということ。これは、Windows 7ならば[ディスクの管理](またはDISKPART)、Windows MeならばFDISKを使えばよい。それぞれのOSで他方のOSの区画をアクティブに設定して、リブートすればよい。アクティブ区画は排他的で一つしか設定できないので、設定された方の区画がブートする。これも、BIOSレベルのでの一種のブートマネージャ機能と言えなくもない。操作が面倒と言えば面倒だが、多分、コマンドラインでのバッチファイル化は可能だろう(試してはないが…)。
-) MBMブートマネージャ :---- 1) Windows Me : 8GB 無傷 2) Windows 7 :32GB BCDブートマネージャ+本体 3) 拡張区画 :40GB データ領域システム構成のポイント
外付けHDDには、基本的に「USB/SCSI/eSATA/IEE1394」の4種類がある。このうち、Windows 7のインストール時に明確に拒絶されるのはUSBとIEE1394。これに対して、SCSIとeSATAは基本的に内蔵/外付の区別がないので(ないことはないけど…eSATAはホットスワップできるし)、インストールもブートも可能なはず。eSATAに関してはちょっと曖昧な部分があって、成功例が報告されている一方、不可能な場合もあるようだ。ということで、どんな環境でも必ず、とは言えないがeSATAは試す価値がありそうだ。むしろ、問題はWindows MeがeSATAをサポートしているかどうか? 一応、内蔵SATAでは動作報告があるので、大丈夫だとは思うが、不確定要素は残っている。
【追記】Windows MeのSATAサポートは微妙。基本的に、IDE互換モードにすればWindows MeでもSATAは使用可能だが、IDEコントローラが正常認識されるかどうかは別問題。場合によっては、強制的にMS-DOS互換モード(リアルモード)ドライバが使用され、パフォーマンスが極端に落ちることがある(書き込みで0.8MB/s程度)。どうやら、チップセットとドライバに依存するようだ。少なくとも、Windows Me正式対応を謳っているマザーを使うべきだろう。 |
一方、USBの方だが、実はブートがまったく不可能というわけではないようだ。まず、デバイスとしてはそもそもブータブルで、OSによってはUSBストレージからのブートも可能。問題は、Windowsがそれらへのインストールを拒絶する点にあり、それは技術的に回避できないものでもないらしい。USB HDDからのブートを可能にする「BOOT革命」というソフトウェアも市販されている。もっとも、本体OSがWindows 7の場合には使用できないらしい。XP/VistaパソコンからUSB HDDにWindows 7をインストールすることは可能のようだが…。Windows 7のブート区画が悪さをしているのか?
なお、IDEのHDDにインストールしたあと、USB接続にしてブートできるかと言うと、Windows MeもWindows 7もブートプロセスでハングしてしまう。
|
本件とは直接関係はないかもしれないが(そんなこともないかな?)、仮想DVD機能付きのUSB HDDというものもあるらしい。これを使えば、USB HDDをDVDとして扱えるのでブートも可能になる。用途は限定されると思うけど…
| |
と言うことで、外付けeSATA HDDによるOS切替は非常に有望でポピュラーな方法とは思うが、どうしても設置場所、給電、騒音、コストなどの問題が付いてまわる。eSATAのSSDなら静音性や省電力はベストだが、100GB以上になると、ちょっと手が出ない。個人的には二の足を踏む。コストを考えるとHDDなのだが…
【追記1】かつてはSATAのリムーバブルラックは高価というイメージが強かったが、最近では非常に安価なものも出回っているようだ。私は軟件地図のワゴンでOpen Rafter 5というSATA 2ドライブのリムーバブルラックを980円で入手した。当然、もの凄く安い作りだが、特に問題はなさそうだ。SATAは構造的にIDEよりもシンプルで、リムーバブルラック向き。
|
【追記2】リムーバブルラックでも、SATAとレガシーOSの問題はついてまわる。たとえ、IDE互換モードで使用しても、十分なパフォーマンスが得られるかどうかは別問題。場合によっては、起動自体が困難なOSもあるだろう。しかし、SATAのマザーには、たいていIDEコネクタもついている。ならば、無理にSATAに統一する必要はない。《SATAとIDEの両方のリムーバブルラック》を搭載しておけば問題ない。
| |
HDDリムーバブルラックは、内蔵HDDを外部から交換可能にしたものなので、USB HDDのような問題は出ない。まさしく、マルチOSを実現するための機器である。特にIDEであれば、古いOSでも全く問題なく使用できる。IDEは速度的にSATAに劣るが、私の用途ではほとんど問題にならない。旧OSとの互換性が最優先。むしろ問題はコストや運用面にある。
私の場合、一番気になったのは、やはり騒音。HDDの回転音は非常に耳障りで、流体軸受けの静音性をウリモノにしているモデルでも、そのままではとても我慢できない。さりとてIDEのSSDは非常に割高(2010年5月現在ではSATAの値段にかなり近づいているが、最初は倍くらいした)。そこで、IDE/CF変換アダプタを使って、CFカードをHDD(SSD)代わりにしてみた。これは一応成功したのだが容量不足でWindows 7のシステムを構築するのは無理だった。少なくとも、私の持っているアダプタでは1枚8GBが上限だった。Windows Meの方は問題なく(でもないが)使用できている。
私の使用しているIDE/CFアダプタには2枚差しと1枚差しの2種類がある。2枚差しタイプは当然master/slaveの両方を使用するが、何と1枚差しタイプも両方を占拠する。使わない方も開けておかないとコンフリクトしてブートしない。 |
そこで考え付いたのが、2.5"HDDを静音化ボックスQuiet Drive 2.5に入れる方法。これならば、HDDをほぼ無音で使用できる。形状も3.5"HDDと同サイズになるので、そのままラックに入れられる。問題は、SSDに比べれば割安とは言え、SATA HDDに比べると大幅に割高だという点。さらに、Quiet Drive 2.5は3000〜3500円する高級品で、しかもレア品に近い(既に製造終了)。80GBで考えると、HDD(5000円)+QD2.5(3500円)=8500円くらいになる。確かに、64GBのSSDよりも安く、静音性もSSDと同レベルと言ってよいのだが、釈然としないものは残る。
で、最近、秋葉原のFaithで見つけたのが、SATA/IDE変換ケースと言うスグレモノ。3.5" IDEと同じ形状のケースの中に2.5"のSATAのデバイスを入れると、3.5"IDE HDDと全く同じように扱えるようになる。すなわち、この中に割安なSATA SSDを入れれば、無音3.5"IDE HDDの出来上がり。まるで、私のニーズを見透かしたような製品だ。もちろん、SATA HDDを入れれば更に割安となるが、遮音性を謳ったケースではないので、静音性は期待できそうにない。いずれにしろ、中に入れられるのがSATAデバイスというのがありがたい。現状でもIDEに比べて割安だし、将来的にもツブシが効く。
この種のアダプタとして有名なのは、システムトークスの「スゴイアダプタ2535」(SATA-TR2535 )。価格は4000円前後〜7000円台、あるいは1万以上なんてショップも。4000円でもかなり割高な気がするのに、1万以上なんてアホらしい。一方、Faithで売っていたのはNovacの「NV-SA400」。売り値は2470円。機能を考えれば、この辺りが妥当だろう。造りにどの程度の差があるかは判らないが…⇒NV-SA400は造りがチョー雑で、背面カバーを付けるとコネクタがはまらない(^_^;まあ、背面むき出しでも問題はないんだが…
|
この変換ケースが超便利と言っても、100GB超のSSDが高くて手が出ない状況に変わりはなく、eSATA SSDと比べて特段ありがたがるようなものではないのだが…。設置スペースを取らず、IDE互換性を残したまま、新しい可能性を探れるという意味で、非常に気に入っている。旧型PCのHDDをSATA SSDでリプレースできるのもかなり嬉しい。静音性の問題がシステムを縛ってきた過去を思えば、無音IDE HDDというのは、コストとは無関係に魅力的なわけだ。
| |
ところで、これまた最近、リムーバブルラックは抜き差ししなくてもブートドライブを切り替えられる、ということに気がついた。IDEの両方のチャンネルともリムーバブルラックにして、それぞれOSの入ったHDD/SSDを入れておく。こうすれば、ラックの電源スイッチのオン/オフでブートドライブが切り替わる。Primaryの電源をオフにすれば、Secondaryからブートする。ドライブレターもずれない。これは、リムーバブルラックと言うよりも、次に述べるHDD電源スイッチに近い使い方とも言えるが。⇒ただし、PrimaryとSecondayのディスクの組み合わせによっては、この方法が使えないこともある(BIOSでDisableしてもダメ)。どうも、原因の一つはMBMらしいが…Secondary HDDにMBMが組み込んであると、Primary HDDの電源が入ってなくても、ブート区画を探しに行ってコケているようだ。
もう一つ言っておくと、このリムーバブルラック・システムは、OSのインストール実験や、買ってきたHDDチェックの際にはメチャクチャ便利。OSのインストール実験でハマっても、必要なときに即座に元のシステムに戻れる。実験が終るまでPCが使えない、なんてことはないので、安心してハマることができる。 |
もう一つ厄介なのは、IDEの場合、master/slave切替が必要な点。IDEのHDDは、電源がオフでもケーブルが接続されていれば、master/slave設定を認識する。すなわち、2台ともmasterにしておくとコンフリクトが起き、電源だけで切り替えるという方法は取れない(Primary/Secondaryなら大丈夫かも知れないが)。したがって、電源の切替と同時にmaster/slave切替も必要になる。こうした問題はSATAでは起きない。
この種の切替器を出しているのは、3RとANTEC。3Rの方はmaster/slave切替も可能で、しかも稼働中は切替がロックされるという安全設計で、価格はちょっと高い。ANTECの方は単純な電源切替機能だけで、IDE/SATA両対応を謳うが、master/slave問題があるのでIDEでは自由度が低いだろう。また、安全装置もついていないようだ。その代わり、少し安い。
私が行ったショップでは両方扱っていたが、3Rの方は背面切替タイプしか置いてなかった(前面切替式も発売はされているようだ)。ANTECの方は前面切替式だったので、こちらを買った。IDEシステムでは3Rの方がよいのだが、当初想定していた使い方では、master/slave切替は不要で、単に電源をオフにできさえすればよかったので、ANTECの方でも十分間に合う。
しかし、結局今回は電源切替器のシステムは採用しなかった。理由は3.5"と2.5"のHDDの消費電力の違い。そもそも、電源切替器のメリットは3.5" HDDが有効利用できる点にあった(2.5"ならQD2.5に入れてラックで交換する方が便利)。しかし、2.5" IDEのHDDがわりと安く入手できた上に、2.5"の消費電力は3.5"HDDの数分の一だということに気がついた。ランニングコストの面でも、発熱対策の面でも、2.5"の方が相当に有利なのである。2.5"が希望の価格で入手できないのならいざ知らず、入手できたのだから、あえて3.5"の有効利用にこだわる必要性はなくなった。
※
で、結局私がどんなシステムにしたかと言うと;