- ベストアンサー
7とXPのマルチブートについて
- 現在、aspire one D250というネットブックを使用しておりますが、元からのOS(7starter)では使い勝手が悪いと感じるようになったので、現在、XPをF6回避ツールを利用してインストールしたものを使用しております。
- XPと7starterをマルチブート可能と知り、あれこれ試しているのですが、うまく出来ません。
- XPのみをバックアップしたイメージで復活(パーティションC)するとXPは正常に起動します。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
>XPのboot.iniファイルのpartition{ }の書き換えが奏功したのか、XPのpartitionをactiveにしてもエラーが出ずにXP単独起動に至っております。 もう1歩でデュアルブート完成です。 ディスクの管理で先頭パーティション(システム予約の100MB)をアクティブにして再起動してください。 結果がどのようになったかを報告して頂ければ幸いです。
その他の回答 (6)
- 8ive22ty
- ベストアンサー率52% (770/1479)
No.5の続きです。 > ただ、BOOTDETCT.comのファイルは見当たらず、かわりにNTDETECT.comを置きました。 環境によってBOOTDETECT.comではない場合もありますので、 NTDETECT.comでも構いません。 No.1にある「Real-mode Boot sector」というXPをbootするメニューを使わないで No.5の「D.Win7をインストールしたあとでXPをインストールする」 に書いてあるようにWin7の標準ツールである bcdedit を使って、 Win7のブートメニューでXPをbootできるようにするには bcdedit.exe コマンドで bootエントリを追加する。 bcdedit /create {ntldr} /d "Windows XP" bcdedit /set {ntldr} device partition=c: bcdedit /set {ntldr} path \ntldr bcdedit /displayorder {ntldr} /addlast のようにブートマネージャに追加してはどうでしょうか。 上記のとおりに追加したとすれば、 ブートマネージャを表示すると(bcdeditを実行すると) 下記のようになっているはずです。 Windows レガシ OS ローダー -------------------------------- identifier {ntldr} device partition=C: path \ntldr description Windows XP 以上でWin7のbootメニューに項目が追加されていますので、このメニューを選択してbootするとどうでしょうか。
お礼
8ive22tyさん これまで色々ご教授して頂きありがとうございました。 今回bunjiiさんのご回答がヒントになり、無事マルチブートが完成したことをご報告致します。 今考えてみると、7とXPをリカバリしたのち、XPのリカバリしたpatitionでの単独起動が重要なポイントだったと思います。 ですが、なぜそれでうまくいったのかは、今のところ不明で、結果オーライといった感じです。
補足
8ive22tyさん 教えて頂いた方法で、Real-mode Boot sectorからlegacy os loader以下の設定にに変更できましたが、 今回は「0xc000000f」のエラーメッセージが出て起動すらしませんでした。 結局easyBCDでXPのエントリーを消去し、再度easyBCDでエントリー(Real-mode Boot sector)したのですが、 No4の方(bunjiiさん)のお返事を参考にして、easeus partition master でXPのpartitionをactiveにすると、電源投入時ブート選択メニューは出ず、そのままXPが最後まで起動できました。 ですが、マルチブートまでは至っておらず、現在boot.iniファイルの書き換えや、7starterの所定の位置にboot.ini、ntldr、NTDETECTOR.comファイルを置いた状態で詰まってます。
- 8ive22ty
- ベストアンサー率52% (770/1479)
No.3の続きです。 次のことを確認、および試してみてください。 1. Win7のブート情報(bootmgrファイル、Bootフォルダ)のあるpartitionを確認します。 通常はWin7をインストールしたpartitionにあるはずですが、「システムで予約済み」領域に有ることも普通です。 ここではbootmgrファイルの有るpartitionをsystem partitionと呼びます。 2. system partitionにXPのブート情報が有ることを確認します。 XPのブート情報とは次のファイルです。 ntldr boot.ini BOOTDETECT.com system partitionにXPのブート情報が無い場合はXPをインストールしたpartitionからコピーして作成します。 3. No.3の返答によればpartition4 にXPが有るようですので、system partitionにコピーしたboot.iniの[operating systems]のpartition()は partition(4)とします。 4. この作業後にXPがブートするかどうか確認してください。 --- 以上と同じような状態が下記サイトの 「D.Win7をインストールしたあとでXPをインストールする」 にありますので「図」のみを参考にしてください。 つまり、Win7のブート情報(bootmgrファイル、Bootフォルダ)の有るpartitionに ntldr boot.ini BOOTDETECT.com があることを参考にしてください。 なお、bootfont.binは必須ではありません。 要するに、この「図」のような環境を作ればXPが起動できるということを理解してください。 ---install と bootloader http://ftlabo.sakura.ne.jp/win/install-bootloader/install-bootloader.html
補足
8ive22tyさん Win7のbootmgrファイルにntldr、boot.ini、BOOTDETECT.comのファイルはありませんでしたので、 XPからコピーしました。 ただ、BOOTDETCT.comのファイルは見当たらず、かわりにNTDETECT.comを置きました。 boot.iniファイルもpartition{ }の部分を4に変えてみました。 ですが、やはり、起動が「ようこそ」の直前で止まってしまいます。 ---install と bootloaderのHPを拝見しました。 基本的な事はよく理解できました。 今回、同じように設定したつもりでも、起動が止まってしまいます。 他に何か原因があるのでしょうか?
- bunjii
- ベストアンサー率43% (3589/8249)
>でも、なんとか出来ないものか、もう少し頑張ってみたいです。 Windows OSの起動シーケンスを熟知しないとあなたの希望通りにならないと思います。 ブートシーケンスはXPまでとVista以降では基本的に異なります。 イメージバックアップしたXPではboot.iniの記述が以下のようになっていると思います。 [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\Windows [operating systems] multi(0)disk(0)rdisk(0)partition(1)\Windows="Microsoft Windows XP ******" /noexecute=option /fastdetect EasyBCDでエントリーを追加するとシステム予約パーティションにブートローダーがインストールされ、boot.iniは以下のようになるようです。 [boot loader] timeout=15 default=multi(0)disk(0)rdisk(0)partition(3)\Windows [operating systems] multi(0)disk(0)rdisk(0)partition(3)\Windows=”Windows XP on E:\ " /fastdetect 両者の違いで決定的な要素は partition の位置が異なることです。 この部分を修正しただけでデュアルブートにならないのは他にも原因があります。 あなたの応用力では無理なように感じます。 私のテスト環境ではXPを復元した後でアクティブパーティションを変更し、XPの単独起動を確認してからEasyBCDでエントリーを追加してデュアルブートが完成しました。 かなり面倒な作業です。
補足
bunnjiiさん お返事が遅くなり申し訳ありません。 XPのpartitionをactiveにするのは以前にも試したことがあったのですが、 その時はブート選択メニューも出ずに再リカバリしました。 今回の「相談箱」でXPと7のブート構成を勉強させて頂いておりますが、 XPのboot.iniファイルのpartition{ }の書き換えが奏功したのか、XPのpartitionをactiveにしてもエラーが出ずにXP単独起動に至っております。 今後のマルチブート化への大きなヒントになったと考えております。 ありがとうございました。
- 8ive22ty
- ベストアンサー率52% (770/1479)
No.1の続きです。 返答の情報を見ると、 windows boot managerは何も問題ありません。 (system partition, boot partition, XP のbootloader呼び出しともにノーマルな状態です) boot.ini は multi(0)disk(0)rdisk(0)partition(1)となっている partition(1)の部分のみを multi(0)disk(0)rdisk(0)partition(2)と変更して試してください。 ---以下は余談ですが、 1. boot.iniは単なるテキストファイルですのでWin7のメモ帳で編集できます。(XPを起動する必要はありません) 2. Win7やXPに限らずインストール済みのOSはよほどのことが無い限り、起動に問題が発生しても修復できるものです。(壊れていない限り、わざわざ再インストールする必要はありません) bootするデバイスとpartitionを正しく設定すればOKです。 3. Win7 bootマネージャ情報はコマンド入力で bcdedit と入力するだけで表示できます。 EasyBCDなどのツールに頼ると応用が活かせないようです。 基本はWin7、WinXPに標準で備わっているツールを使えば応用が効きます。
補足
8ive22tyさん boot.iniのpartiton()の番号を2に書き換えても、いつものところで起動が止まってしまいました。 元々の7starterのままでは、リカバリ領域が隠しpartiton(?)にありますので、 easyBCDで各partitionを見てみると、 partition 1(0*27- GiB) partition 2(NTFS- MiB) partition 3(C:\as NTFS- GiB) partition 4(D:\as NTFS- GiB) <XPのリカバリした領域> となっておりました。 そこでboot.iniのpartition()を4に書き換えたのですが、 結局同じところで起動が止まってしまいます。
- bunjii
- ベストアンサー率43% (3589/8249)
>他のパーティション(D)にインストール出来たXPのイメージを復活させ、 それでは起動できないでしょう。 XPを再インストールした後に7のみ起動に復元してからEasyBCDでXPのエントリーを追加してください。
補足
bunjiiさん ご回答ありがとうございます。 でも、なんとか出来ないものか、もう少し頑張ってみたいです。
- 8ive22ty
- ベストアンサー率52% (770/1479)
> このとき、7starterを選択すると7は起動できるのですが、 > XPを選択すると起動は始まるものの、「ようこそ」の直前で起動が止まってしまうのです。 bootローダ(bootmgr および ntldr)は正常ですが xp boot.ini が不適切なのではないか、 と思います。 上記の環境での下記の2つの情報を教えてください。 そのまま貼り付ける理由は省略や脚色やタイプミスを防ぐためです。 1. 7starterの「Windows ブート マネージャー」を表示してそのまま貼り付けて教えてください。 (テキストファイルにリダイレクト出力してコピー/貼り付けでも構いません) 2. xp boot.ini の内容をそのまま貼り付けて教えてください。
補足
8ive22tyさん ご回答ありがとうございます。 1.ですが、貼り付け方がよくわからないので、easyBCDのview settingsを詳記します。 windows boot manager -------------------- identifier {9dea862c-5cdd-4e70-acc1-f32b344d4795} device partition=\Device\HarddiskVolume2 description Windows Boot Manager locale ja-JP inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e} default {3b0a05a0-a3ea-11de-861d-d0fd9d302b12} resumeobject {3b0a059f-a3ea-11de-861d-d0fd9d302b12} displayorder {3b0a05a0-a3ea-11de-861d-d0fd9d302b12} {3b0a05a3-a3ea-11de-861d-d0fd9d302b12} toolsdisplayorder {b2721d73-1db4-4c62-bf78-c548a880142b} timeout 30 Windows Boot Loader ------------------- identifier {3b0a05a0-a3ea-11de-861d-d0fd9d302b12} device partition=C: path Windows 7 locale ja-JP inherit {6efb52df-1766-41db-a6b3-0ee5eff72db7} recoverysequence {3b0a05a1-a3ea-11de-861d-d0fd9d302b12} recoveryenabled Yes osdevice partition=C: systemroot \Windows resumeobject {3b0a059f-a3ea-11de-861d-d0fd9d302b12} nx optin Real-mode Boot sector -------------------- identfier {3b0a05a3-a3ea-11de-861d-d0fd9d302b12} device partition=C: path \nst\ntldr description Microsoft Windows XP 以上、1.の内容です。 2.のxp boot.iniの内容ですが、 [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" 以上、2.の内容です。 私もxp boot.ini辺りが問題なのでは、と考えていました。
お礼
XP側から7starterのシステム予約部分のpatitionをactiveにして再起動しました。 すると7starterが自動的に起動したので、easyBCDにてXPのエントリーを追加し(Real-mode Boot Sector)、再起動しました。 今度はブート選択メニューが表れXPを選択すると、ちゃんと最後まで起動出来ました! 各OSのブート情報はまだ確認出来ていませんので、 今までの失敗と何が違うのか、これから検証してみようと思いますが、 なにはともあれ、無事マルチブートが完成しました。 8ive22tyさんからも色々とご教授して頂きましたことを、心から感謝致します。 ありがとうございました。 今回、各partitionのactive化有無が分かれ道だったようです。 このことを示唆してくれたbunjiiさんのご回答をベストアンサーとしたいと思います。 8ive22tyさん、bunjiiさん、お二方のおかげでWindowsのブートについて大変勉強になりました。 あらためて、お二方にお礼申しあげます。ありがとうございました。