XP と Windows7 でデュアルブートを構築し、
先にインストールしているXPを 物理的に同じ HDD( パーティ
ションを切っている状態 )上で、キレイに消すことが出来ました。
うーん、これは苦労した…
必要になるのは、
Windows7 のインストールDVDとフリーソフトの EASEUS Partition Manager です。
[追記]
こちらの方法は、F8メニューの英語化、F8 のコンピューターの回復が非表示になる
などのデメリットがあります。
上記のデメリットが無いバージョンかつ、本項目よりスマートな手順に関しては、
現在、作者に認められた一部の人、又は寄付をしてくださる方のみ公開します。
一度、統合を実行してしまうと、デメリットを回復する難易度が高くなるので、
それを理解して実行される事を勧めます。
完璧な手順を把握した方は問い合わせからお願いします。今後、完璧版の記事を
一般公開するかは現状未定ですので、気長にお待ちください。
デュアルブート状態。
Windows7 は後からインストールしているので、物理ドライブの後方に配置されて
いる。これがやっかい。
bootmgr が c:\( Windows 7上では Dドライブ ) に存在しているので、フォーマット
することが不可能。
後方に配置されているため、標準の「ボリュームの拡張」では対応できない。
Windows XP から見ると、物理ドライブの前方に確保されているので、D ドライブ
(XP上では Fドライブ )を削除するのは容易かつ bootmgr の点でも容易。
この環境で WindowsXP を削除し、Windows7 を一つのドライブとして統合するには
どうれば出来るのか、解決していきます。
まずデュアルブート選択時 F8 を押し、
「コンピューターの修復」を選択する。
そしてコマンドプロンプトを選択して起動。
Cドライブの bootmgr を Windows 7 のインストール先、Dドライブにコピーする。
xcopy c:\bootmgr d:\ /h /x /o
XP のインストール先 C ドライブに対してクイックフォーマットを行う。
これ以降、インストールDVDが無いと Windows が立ち上がらなくなります。
format c: /q /fs:ntfs
D ドライブをアクティブにする必要があるので、
diskpart
select volume C
remove
を行い、
select volume D
active
exit
を実行する。
この段階で今まで D ドライブだった Windows7 が次回には、C ドライブになります。
Windows7 のインストールDVDを用意し、パソコンに挿入した上で exit コマンドを
もう1回実行する。
続いて Windows の再起動を選択し、インストールDVDから回復オプションを実行する。
以下の問いには「しない」を必ず選択する。
再度コマンドプロンプトを起動させ、以下のコマンドを実行していく。
bootsect /nt60 ALL
bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd
これが問題なく完了したら、再起動してください。
最後のコマンドでうまくいかない場合は、c:\boot フォルダの中にある BCD ファイルを
リネームした上で実行すると良いかも。
コンピューターの管理でディスク状態を表示させ、Cのボリュームを手動で削除。
未割り当てとなったら成功。
これでこの部分は完全な未使用状態になりました。
ちなみに未使用状態になっても、標準の「ボリュームの拡張」では対応できません。
ここでフリーソフトの EASEUS Partition Manager というパーティション変更ツールを
利用します。
起動したら右クリックで resize を選択し、一つのパーティションに統合させます。
こんな感じに一つのハードディスクになる。
Apply を押して実行。
Windows 再起動後、自動に実行されます。
そして統合完了!
これにより、パーティションの後方に位置していた D ドライブの Windows7 は、一つの
ディスクに統合されます。
蛇足ですが、true image で Windows7 ドライブを C ドライブに復元しようと
試みたのですが、失敗しました。
「復元エラー」が必ず出て中止されてしまうようです。
これを行う事で bootmgr だけのために、
純正 C ドライブ( その PC では D 以降でしょうが ) を残す必要があり微妙に気持ち悪いという
心境も回復出来るかと思います。
10 コメント:
MSNスペースにも書き込みましたが、メインがこちらの様で、再度投稿させていただきます。
はじめましてTomoと申します。
私の環境と同じで、xpの削除大変に参考になりました。
1つ質問なのですが、私のpcの環境が、OS用とSoft用と2つのHDDあり下記のような構成です。
OS HDDが、 C:XP D:win7
Soft HDDが、H:XP-soft I:win7-soft
こちらで説明していただいている様に、XPを削除後 7をC ドライブに移した場合
XP と Windows7 でデュアルブート時にインストルしたsoftは、動くののでしょうか? それともsoftは、入れ直しなるのでしょうか?
Tomoさん
コメントありがとうございます。
>>「XP と Windows7 でデュアルブート時にインストールしたsoftは、動くか?」
の件ですが、WindowsXP の時にインストールしたソフトウェアに関しては、再インストールになります。
理由は単純で XP のレジストリ構成から、全て消される為です。
Windows7 でインストールしたソフトに関しては、Windows7 を起動して立ち上げた時に、Windows7 のパーティション文字が "C" ならば、問題はないかと思います。
注意ですが WindowsXP 上の話では有りません。
Windows7 を起動したとき、C のパーティションが割り当てられてるなら、可能です。
こちらの記事は実行される前に true image などで、
Cドライブ(XP) / Dドライブ(7)
のバックアップを取り、バックアップデータを復元できる事を確認してから実行した方が良いですよ。
後可能なら Hドライブ、Iドライブは作業中外せてる方が良いです。
早々のアドバイスありがとうございます。
うまく説明できなくて申し訳ないのですが、
確認なのですが、デュアルブート時にwin7のインストールしたsoftが、XP削除後 win7の起動ドライブが、CからDに変更になっても起動するとの理解でよろしいのでしょうか?
ーーーーーーーーーーーーーーーーーーーーーーーーーーー
XP と Windows7 でデュアルブート時D:win7→I:win7-softのレジストリ情報が
XPを削除してwin7をCドライブにした時 C:win7→I:win7-softにレジストリ情報が引き継がれてsoftは起動する
---------------------------
まず最初に、以下の問いについてご確認ください。
----------------------------------------
・WindowsXP を起動した場合のパーティション
Cドライブ: WindowsXP
Dドライブ: Windows7
・Windows7 を起動した場合のパーティション
Cドライブ:
Dドライブ:
・bios での起動パーティション
Cドライブ:
Dドライブ:
----------------------------------------
上の空欄はどうなってますか?
Windows7 を立ち上げた際、WindowsXP と完全な同一の
ドライブならば、ここに記載指定ある手順だけでは足りない
かもしれません。
Windows7 上で、すでにDドライブという認識の場合は、この手順は関係なく C ドライブに変更(リネーム)するのは、ほぼ不可能です。
通常、起動ドライブは(元は H,I やなんであれ、OSが読み込まれた後は)C ドライブという前提の下です。
詳しく説明していただきありがとうございます。
・Windows7 を起動した場合のパーティション
Cドライブ:Windows7
Dドライブ:WindowsXP
bios での起動パーティションの見方がわからないのですが、win7起動時ディスクの管理で下記のようになっています。
Cドライブ:win7、ブート、クラッシュ、プライマリパーティション
Dドライブ:XP,システム、アクティブ、ライマリパーティション
なるほど。
Windows7 起動後のパーティション文字、
システムドライブ(Win7インストール)は一般的な C ドライブになってますね。
これならCレジストリ・設定ファイルのドライブパスはCドライブなので、OS自体は起動します。
また他のデータドライブに関しては、
パーティション文字が前方・後方に変わったりすることは無い為、Windows7 でインストールしたソフトも認識します。
WindowsXP で入れたソフトの起動は出来ません。
この作業は「WindowsXP を完全に削除しよう!」という趣旨なので、単純に WindowsXP を消す(残骸は残る)なら、もっと単純な方法でも可能ですよ。
あとこの作業を行う場合は、以下の2点注意が必要です。
-------------------------------------------
・コマンド bootsect /nt60 ALL を C だけにする。
bootsect /nt60 C:
[概要]
本来はCドライブだけ良い為。また別ドライブにソフトウェアを入れてるので、念のため。
・Windows7 上で事前に、以下のコマンドを管理者で実行し保存しておく
bcdedit /enum > bootset.txt
[概要]
統合を行う事によって、F8を押したときのメニューのみ英語表記になります。
[例] セーフモード → SafeMode など
こちらは今後、日本語に戻すときに参考になります。
-------------------------------------------
もう一つ、ハードディスクは物理的に1台で良いですか?
OS が入っている HDD と言う意味です。
他のデータドライブに関しては、関係有りません。
ハードディスクが2台、別々にインストールしてるなら、これほどの手間は全く要りません。
>もう一つ、ハードディスクは物理的に1台で良いですか?
OS を入れる HDDは、1台でOKです。
>統合を行う事によって、F8を押したときのメニューのみ英語表記になります。
日本語に戻す方法もご教授頂きたいのですが?
日本語化については説明が手間なので、気が向いた時に記事としてまとめるかもしれません。
また、ここに記載した手順よりスマートな統合も可能ですが、特定の方にしか公開しません。ご了承ください。
メニュー日本語化について独自でやられる場合は bcdedit コマンド、rebuildbcd を把握されれば可能です。ネット上では解決されてる方は少ないですが、問題なく出来ます。
それでは。
winXPの削除は、こちらの記載通りに行いたいと思います。
たまにこちらによりますので、日本語化につては気長に待っています。
幾度もアドバイスありがとうございました。
Tomo
コメントを投稿