2008/10/16(木)Linuxを使ってWindows環境を丸コピー
Windowsを使ってWindowsを丸移植
Windowsを80GBから1TBのHDDに移植(交換)する作業が必要になりました。よくやる手は、
- 新HDDの新しい区画(第1パーティション)を作成し、同じバージョンのWindowsを新規インストール。
- 全く関係ないHDDからWindowsを起動して、旧HDDのCドライブのファイルすべてを、新HDDのCドライブに丸コピー。*1
- 元のマシン(旧HDDが付いていたマシン)に新HDDのみを取り付け、起動。
注意点。
- 新HDDの区画を旧HDDのOS上から決して認識させないこと。
- 新HDDから初めて起動するとき、絶対に旧HDDを接続しないこと。
- 新HDDがCドライブとして認識されるよう注意する。余計なドライブ類やUSBドライブなどがドライブレターとして先に認識されるようなら必ずオフにしておく。
今回もこの方法と行きたかったのですが、両方ともSATAのためできませんでした。原理的には問題ないのですが、家の環境では「SATAで稼働中のWindowsは1台しかない*2」ので無理でした。
Linuxを使ってWindowsを丸移植
- 旧HDD /dev/sda
- 新HDD /dev/sdb
fdiskで旧HDDのパーティーションを確認。
/dev/sda1 1 2123 NTFS
新しいHDDに全く同じサイズのパーティーションを作成。
/dev/sdb1 1 2123 NTFS
ddコマンドで丸コピー。
# dd bs=64M if=/dev/sda1 of=/dev/sdb1
それで、新HDDを差して再起動。……起動しない。もちろん最初に書いた注意点は守ったのに。
ミスの詳細
そういえばMBRを書き込んでなかったと思って、Windows回復コンソールから
C:\>fixmbr
としてもダメ(HDDのブートセクタの復旧というやつです)。その後、色々試しても起動せず、FDからmbmを起動すれば一発解決だったのですが、FDドライブが付いてない。○時間経過。どうにもこうにも困り果てたところで、ふとLinuxを起動して、fdiskを叩いたところで原因発見。
デバイス Boot Start End /dev/sda1 1 2123 Linux
区画番号がLinuxのままだった(汗)
fdiskから、「t」→「7」でNTFSに変更し、Windowsはアクティブ区画からじゃないと起動しないので、「a」→「1」でこの区画をアクティブ(ブートするパーティーション)として設定。
デバイス Boot Start End /dev/sda1 * 1 2123 NTFS
無事、Windowsが起動したのでした。疲れた……(汗)
なぜ回復コンソールにfdiskが入ってないのか、小一時間問いつめたくなった。