ほとんど自分用メモだが、ネタが無いのでいいよね…
俺と同じような迷える子羊がこれを見つけて参考にするかも知れないし。
・構成
1台目のHDD (SATA) | Windows2000 | VineLinux |
---|---|---|
2台目のHDD (IDE) | Windows7 |
この構成で、LinuxのGrubを使ってトリプルブートする。
(最初はWindowsのブートプログラムを使おうとしていたが、Linuxは起動できないらしく、断念)
手順1.まずWindows2000のCDから回復コンソールで起動してfixbootコマンドでWindows2000のパーティションのブートセクタを整える。
手順2.次にVineLinuxのCDからlinux rescueで起動してchroot /mnt/sysimageしてからgrub-install /dev/sdaする
これでMBRがGrubに変更された。
問題のWindows7なのだが、2つのHDDを接続した状態だと、何をやっても上手くいかない。
bootrec /fixbootするとWindows2000のパーティションのブートセクタが上書きされてしまうし (Windows2000とWindows7のデュアルブート選択になる)
bootrec /fixmbrするとGrubが上書きされてしまい、Windows2000のパーティションのブートにジャンプするようになる。
(両方とも実行すると、Windows2000とWindows7のデュアルブート選択のみとなり、Linuxが起動できない)
(fixbootだけの実行ならば、GrubからWindows2000のパーティションでブートするとWindows2000とWindows7のデュアルブートになるので、一応トリプルブート可能だが、余計な動作が増える)
BIOSでHDDの認識順序を入れ替えても上手く行かなかった…が、これはbootrecでは修復できない箇所があるからのようだ。手順3へ。
手順3.そこで1台目のHDDを物理的に外すことにする。
そしてWindows7のDVDからコマンドプロンプトでbootrec /fixbootとbootrec /fixmbrしてやっても… 駄目だった。
Windows7単体で起動できない!
困り果てた俺は、Windows7のDVDを起動し直し、スタートアップ問題の修復とやらを実行してみた。
すると、Windows7単体で起動できた。
どうやらbootrecだけでは修復できない箇所があったらしい。
こうしてWin7単体で起動できるようになったので、あとは手順1と手順2を実行することでトリプルブートが可能になったのであった。
・未確認の手順
手順3で1台目のHDDを物理的に外さず、BIOSでHDDの認識順序を入れ替えてWindows7のDVDでスタートアップ問題の修復をすれば、HDDを物理的に外さなくてもトリプルブートできるかも知れない。
最後に、grub.confで変更した箇所を載せておく。
default=2 timeout=3 title Vine Linux (Current kernel) いじってないので省略する title Vine Linux (Previous kernel) いじってないので省略する title Windows 2000 rootnoverify (hd0,0) makeactive chainloader +1 title Windows 7 rootnoverify (hd1,0) makeactive chainloader +1
↑別ディスクのWindowsを起動するためにはmap (hd0,0) (hd1,0)とmap (hd1,0) (hd0,0)をしなきゃいけないと書いてあるサイトが多かったが、自分はmapは必要なかった。
あと、あまり関係ないが試用期限が切れる前に使っていたWindows8では、高速起動とやらが設定されていると、Grubから起動しようとすると、フリーズする。
(再起動の場合は高速起動しないらしいので大丈夫。↑でフリーズした後も大丈夫。二度と起動しないなんてことはない)
厄介なので高速起動 (高速スタートアップという名前だった気がする) をオフにした。
電源オプション→詳細設定に項目がある。
OSがWindows8だけだったら、確かに起動が早くなるので便利だが…
Windows2種類のデュアルブートだと、以前のWindowsを起動しようとすると一回再起動されてしまい、余計に時間がかかる。
自分でこの通りにやってみたんだが、うまくトリプルブート出来ないな
せっかくメモしたのに駄目か…? 再度やってみる
メインPCでWin2000とWin7のデュアルブートで使っていたらハードディスクが壊れた!
・構成
HDD-A (SATA) | Windows2000 |
---|---|
HDD-B (接続形式忘れた) | Windows7 |
HDD-Bでディスクエラーが出まくってchkdskでも修復できなくなって死亡。
HDD-Bはネットで購入したものなので、今までヨドバシで買っていたHDDよりも質が悪いものだったのかな…とか予想して、サブPCからHDD-Cを取り出した。
・新構成
HDD-A (SATA) | Windows2000 |
---|---|
HDD-C (IDE) | Windows7 |
しかし!再び起きてしまった。
そこそこ多いディスクエラーがHDD-Cで出てしまった。
さらにHDD-Aでもディスクエラーが!
ということは、何らかの相性だと考えるのが妥当だと思った。
SATAとIDEの相性も疑ったが、多分やってる人は結構いるだろうし、検索しても出てこないので違うと思った。
なので、Win2000とWin7の相性だと考えた!
前々からWin2000とWin7の相性は疑っていたので、しっくりきた。
今度はHDDが死亡してしまう前に対策を打った。
デュアルブートをやめて、HDDの接続を1つだけにすることにした。
・現在(2014年11月4日)の構成
HDD-Aだけを接続 (SATA) | Windows2000 |
---|
もしくは、HDD-Cだけを接続 (IDE) | Windows7 |
---|
現在はHDD-AとHDD-Cの切り替えは、PCを開けて手動でコードを抜いたり差したりして切り替えている。
(データの線と電源の線の両方とも抜く)
今のところHDD-Aではディスクエラーは全く起きていない。
HDD-Cでは定期的にディスクエラーが起きる感じだが、chkdskで簡単に直る。
(前にディスクエラーが起きたのが原因かなと思う。新品HDDだったら起きないと思う)
(というかシングルブートでディスクエラーが起きたらディスク屋かWin7のせいだw)
(ディスクエラーが定期的に起きている気がするのは、スケジュールデフラグが関係しているんじゃないかと疑っている。実はchkdskで同じ場所を修復してたりして…)
とりあえず安定しているぞ!
まぁWin2000とWin7をデュアルブートしようなんて奇特な考えの人は少ないと思うが、一応ネットの海に情報として残しておこう…
下に行くほど新しいコメントです
1 | 投稿者: stanch | 投稿日時: 2021年5月31日 (月) 11:19:31 |
もう今更な気もするが、どうも試用版Win7がHDDをぶっ壊しているらしい。 現在Win2000が超安定して動いているHDDにWin7を入れたら、すぐにディスク破損の警告が・・・ 大変なことにならないうちに、そのHDDをフォーマットしてWin2000を入れなおしたら、現在まで全く問題は発生しなくなったのだ。 さらに、新しい第三のHDDにWin7を入れたら、やはりエラーまくりなのだ。 もうWin7だって断定しちゃってもいいよね。 新しく導入する予定のWin10では、このようなことにならないことを祈る・・・ (1年ぐらい前から、導入するする詐欺になっちゃってるけど) |