HDD 換装の失敗と対策
最近、HDD の空き容量が心許なくなってきたので換装を行いました。
換装前の状態
- ST3320620AS
- システム用の HDD (使用領域 210/298 GB)
- ST3500320AS
- データ用の HDD (使用領域 347/465 GB)
換装後の予定
- ST3500320AS
- データ用だったものをシステム用へ
- ST31000333AS
- 新規購入してデータ用へ
- ST3320620AS
- システム用だったものを物置へ
(OS: MS Windows Vista x86)
それで、久しぶり*1に秋葉原に行って参りました。お目当ての ST31000333AS は、運良く TSUKUMO eX. さんの特価価格 9,980 で買うことができました。
で、ついでにショップを散策して帰宅、ここまでは非常に良かったのですが・・・
ステップ 1 - データ用の HDD を購入したものへ
手持ちのツールに Acronis Disk Director Suite 10.0 があったので、それで単純にコピーさせました。二時間ほどで無事完了しました。
ステップ 2 - システム用の HDD を旧データ用のものへ
これまた、Acronis Disk Director Suite 10.0 で単純にコピーさせました。完了した後に BIOS のブートデバイスを新システム用の HDD に変えて終わり・・・・かと思いきや、起動しない。何故?
ステップ 3 - 試行錯誤
仕方がないので BIOS のブートデバイスを旧システム用の HDD に戻して再起動をかける。無事起動した・・・ように見えて、新システム用の HDD がシステムディスク(E:)として起動している。旧システム用の HDD は、ドライブレターは C: となっているが通常ディスク。なんなんだコレは???
BIOS を再度確認してみても間違いなくブートデバイスは、旧システム HDD に設定されてる。新システム HDD に設定するとブートすらしない。旧システム HDD に設定して、新システム HDD を物理的に抜くとブートしない。
いろいろ試した結果
ブートデバイス設定 | 非ブートのシステム HDD の接続 | 結果 |
---|---|---|
旧システム | 接続(新) | 起動 |
旧システム | 切断(新) | ブートしない |
新システム | 接続(旧) | ブートしない |
新システム | 切断(旧) | ブートしない |
この結果から、
とか考えて、とりあえず Vista のインストーラーから新システムのブートローダーを修復してみることに。
〜ここにはとても書けないようなミスで非常に時間をロスしましたが省略します〜
bootrec.exe /fixboot bootrec.exe /fixmbr bootsect.exe /nt60 all
以上のコマンドでとりあえず新システム HDD をブートデバイスにして起動することが可能になりました。万歳!
注意事項としては、スタートアップ修復すると新システムのブートに旧システムのエントリを追加してくれる。いろいろ模索する際に役に立ったが混乱するので注意しておく。
ステップ 4 - ドライブレターの修正
起動することは起動しますが、何故かシステムドライブは E: のまま、どうにかして C: に戻したい。
〜またまた、ここにはとても書けないようなミスで非常に非常に時間をロスしましたが省略します〜
が、非常に重要なことを学んだので一点だけ書いておく。
bcdedit での /set 〜 〜 partition=X: は、現在の X: ドライブの Windows のレジストリで指定されている GUID (デバイス名)を指定するものであり、後でその X: ドライブのレターを Y: に変えたところで bcdedit における参照は変化しない。
何のことか、書いた自分も実はよくわかっていないが、同様の状態に陥った方がいれば参考になるかもしれない。
ーメモ完
で、最終的な解決策は、
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices でドライブレターの割り当てを強制的に手動で変更させる。bcdedit との設定が崩れないように注意すること。
以上で解決しました。
ステップ 5 - これを書く
結局、丸一日かかってこんな時間になりました。疲れました。が、いろいろと勉強になりました。もう二度とやりたくありませんが、また同じような機会に同じ目に遭いそうなので自分の中でまとめ直して日記として残して置くことにしました。
結局の所、Acronis Disk Director Suite 10.0 を使ってコピーするとドライブレターが指定されてしまうということが問題なのかもしれません。あとは MS さんがブートの設定を boot.ini から BCD というバイナリに変えてくださったおかげです。あれは分かりづらいったらありゃしない。