Win7-partition-manage
update 2010-03-23

概要
上記の処理はWin7のシステムpartitionやブートpartitionを操作するので、Linux OS起動によるツールも使用して行なう。

ここでは「Win7インストール用DVDまたはシステム修復CD(以下Win7DVDと記述)」、および「LinuxMint(以下Mintと記述)」を使用した。
Mintでなくても使い慣れたLinuxOS、またはpartition操作の専用freeソフトを使用しても構わない。
partitionのコピーには「Partition Wizard」を使うと簡単である。(後述の「作業メモ」参照)

※記述した作業手順は一例であるので、必ずしも記述通りに行なう必要はない。
※実際に作業した際のメモなので、余計な作業も含まれている。


[A] デュアルboot環境のOS(XPまたはVista)を消してWin7だけの環境にする。

作業前のHDDの状態
XP(またはVista)とWin7のデュアルboot環境になっている状態である。
Win7をbootするブートコード(bootmgr, Bootフォルダ)はpartition1に在る。
システムpartitionはpartition1、ブートpartitionはpartition2である。
part01.png

作業後のHDDの状態
Win7だけの環境になる。(Bootフォルダとbootmgrはpartition2に作成される)
システムpartition、ブートpartitionともpartition2である。
part02.png

作業手順
1. Mint起動する。
ddコマンドにてMBRをmbrsave.imgとしてsaveする。
dd if=/dev/sda of=/tmp/mbrsave.img bs=512 count=1
gpartedにてpartition1のbootフラグをオフにする。
※この作業は必須ではない。
※bootフラグをオフにしたので、この段階ではWin7はboot不可になる。

2. Win7DVD起動する。
コマンドプロンプトにてdiskpartを起動し、partition2をactiveにする。
detail partition コマンドを使用して partitionとドライブレターの関係を把握しておく。(この例ではpartition2のドライブレターはDであった)
コマンド入力にてbcdbootコマンドを実行する。(「スタートアップ修復」と同じ機能である)
bcdboot d:\windows /l ja-JP /s d:
※partition2(ドライブD)のwindowsフォルダ情報をもとにドライブDに日本語のbootデータを作成する、という意味である。
※この段階でPC起動するとpartition2のWin7が起動する。

3. partition1を削除する。
partition1はシステムpartitionでもなく、ブートpartitionでもない状態になっているので、Win7起動状態で「ディスクの管理(diskmgmt.msc)」にて削除できる。



[B] Win7のpartitionを移動する。

partitionコピー後の留意事項
partitionコピー中のHDDの状態
※コピー先の容量(サイズ)がコピー元のサイズより大きい環境を作成した状態でpartitionコピーを行なう。
part03.png

コピー後の状態
この段階ではWin7をインストールしたドライブはpartition2(ドライブC)としてレジストリに記録されている。
したがってpartition2を削除してはいけない。
part031.png

作業後のHDDの状態
partition1のWin7以外の領域を全て削除すれば「未割り当て領域」にすることができるので、新しい領域での環境を作成することができる。
システムpartition、ブートpartitionはどちらもpartition1になっている。
part04.png

作業手順
1. Mint起動する。
gpartedにてpartition2のbootフラグをオフにする。

2. 「EaseUS Todo Backup」でPC起動する。
コピー元:partition2、コピー先:partition1 でpartitionコピーを行なう。

3. Win7DVD起動する。
コマンドプロンプトにてdiskpartを起動し、partition1をactiveにする。
detail partition コマンドを使用して partitionとドライブレターの関係を把握しておく。(この例ではpartition1のドライブレターはCであった)
コマンド入力にてbcdbootコマンドを実行する。(「スタートアップ修復」と同じ機能である)
bcdboot c:\windows /l ja-JP /s c:
※この段階でPC起動するとデュアル環境でWin7がbootする。
手作業でboot環境を変更した状態のままなので、ドライブレターが正常な環境ではない。
partition1のWin7で起動しても「ディスクの管理」で確認するとpartition1はドライブDとなった状態であり、partition2がドライブCとなったままである。
この状態のままでpartition2を削除してはいけない。
※誤って削除するとWin7は起動するが「デスクトップを更新しています」で失敗し、スタートメニューのタスクバーが表示されず、何も操作できない環境になってしまう。
何も操作できなくなった場合は「Win7DVD」起動にてコマンドプロンプトで regedit.exe を実行すればレジストリ操作画面が表示できるので、レジストリ変更を行なえばいい。
したがって、事前に下記のようにレジストリを修正しておく必要がある。

4. レジストリ変更。
レジストリ キー:
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
名前:
\DosDevices\C: となっている名前を削除する。
\DosDevices\D: となっている名前を \DosDevices\C: と変更する。
\DosDevices\C: とはWin7をインストールしたドライブという意味である。
この段階でpartition1はWin7をインストールしたドライブとして扱われることになる。

5. partition2を削除する。
上記のレジストリ変更によりpartition2はWin7システムに影響しない普通のドライブになっているので、Win7の「ディスクの管理」で削除できる。
※この段階でPC再起動するとデュアルboot状態は解消され、Win7が正常に起動する。

6. 必要に応じてWin7以外のpartitionを整理する。
Win7以外のpartitionをすべて削除すればpartition1以外を「未割り当て領域」にすることができる。



作業メモ

フリーソフトのpartition操作ツール
Partition Wizard
http://www.partitionwizard.com/partition-wizard-bootable-cd.html

end of list