Monday, February 9, 2015

1台のPCにWindows8環境を複数作成

5年前の古いPCにSSDを導入して高速化します。

単にデータの保存先としてSSDを使うことでも保存や読み込みが速くなるのですが、OSをSSDに入れなおしてHDDの代わりにすれば全体の速度が上がります。

家の引っ越しと同じで一気に移すのは大変なので、従来のHDDのWindows8.1環境はいつでも使えるようにしておいて、SSDに新しい環境を作って、必要なアプリや設定だけ引っ越しします。
定期的に引っ越しをした方が要らないものがなくなって重たくなるのを防げます。
Windows10に備える意味でも、この機会に環境再構築を行います。
Windows10の時はまたクリーンインストールするかもしれませんが…。

手元にあるのはWindows8のアップグレード版です。
車の下取りと同じで、通常版より価格が安いものです。

なのでWindowsがあることをインストーラに分からせてやらないと、インストールができない仕組みになっています。

ということでHDDとSSDを繋げてインストールしてみました。
新しいディスクに新規で指定すると自動でやってくれて、起動時に2つあるWindows8のどちらを起動するか聞いてくるようになります。

同じ名前になります
bcdeditで名前を変更
両方同じ名前なので、どっちがHDDでどっちがSSDかわかりませんが、bcdeditというツールを使うと名前を変えられます。

とりあえず切り替える環境ができたのですが、起動時に必ずHDDを読んでいる感じがします。
この選択画面を出すWindowsBootManagerというプログラムは、EFIシステムパーティション(ESP)に格納されるらしいのですが、このESPがHDDにしかありません。どうやらWindows8.1のインストーラは、インストール時に他のディスクのパーティションにWindows用のESPが既に存在する場合はESPを作らないようです。まぁ2つあっても動くのは片方なので、要らないものは作らないという意味では妥当な仕様ではあります。

この状態だと、マザーボードの設定でSSDを起動最優先にしてあっても、PC起動→SSDを検索→ESPなし→HDDを検索→ESP発見→HDD内のWindowsBootManager起動→HDDかSSDを画面で選択→ようやくSSD内のWindows起動という、非常に無駄なステップを踏むことになります。

また、HDDを取り外してしまうとESPがなくなるため、起動できない状態となってしまうのです。

ということで入れ直しです。HDDを取り外し、SSDだけにして再インストール。
これだと元のWindowsがない状態なので、インストールができないかと思った
のですが、アップグレード用のプロダクトキーで問題なく認証できてしまいました。

インストールが終わったら、再度HDDを繋ぎます。
これでSSDとHDDの両方にWindowsBootManagerが入った状態になります。



通常の起動時は、
PC起動→SSDを検索→ESP発見→SSD内のWindows起動
旧環境を起動したい場合
PC起動→F10キーでBootMenuh表示→HDD起動選択→旧Windows起動。
という無駄のない起動が可能になりました。