2013年1月31日木曜日

[Mac] Virtualboxで Windows 7 から 8 へアップグレード

Windows 8の優待価格が本日(2013年1月31日)までなので、駆け込みで購入しました。
Mac上Virtualboxにて、Windows 7からのアップグレードを進めていたら、「容量が足りません。16GB必要です。」と。
Virtualboxにそんなにサイズ用意してねーよ、ということでストレージを増やすことにしました。
以前、Virtualbox 3でのストレージサイズの変更方法を書きましたが、Virtualbox 4では比較的カンタンにできるようになっていました。ただ、結論から言うと私の環境ではその通りにはできませんでした。なので3で用いた方法と同じようにしたのですが、それ以降でもいくつか手こずった点があったので流れをメモしておきます。また、この方法ではあまり良い結末とはなりませんでした。あくまでネガティブサンプルとして残しておきます。

おおまかな流れを書くと、

  1. ターミナルを使ってカンタンにVirtualboxのストレージを増加できる!?→できない。。。
  2. ClonezillaとGpartedを利用しストレージ増加
  3. Win 8のインストール中にトラックパッド触るとブルースクリーンエラー!→なんとかインストール完了
  4. インストール後もブルースクリーンエラー多発→Win 8を「リフレッシュ」
  5. Win 7で入れていたアプリケーション消失。。。
  6. ま、いっか。とりあえず動いてるし。
て感じです。似たような流れの方はご参考までに。

なお、ターミナルを用いたVirtualbox 4のリサイズ方法には条件があるそうです。
「調べてみると、どうやら "--resize" オプションが有効なのは可変サイズ (Dynamically expanding storage) の VDI または VHD 形式で、今回失敗した固定サイズ (Fixed-size storage) ではダメらしい。また (上限を小さくする) 縮小もできない。 」
VirtualBox: 仮想ディスクのサイズを拡張する (VDI) - Natz's Digital 漂流記
固定サイズにしている場合は、上記ブログに方法が載っています。感謝です。

さて、私も実際にサイズ変更をしてみました。
詳細はここ(英語サイト)に載っています。

が、、、、私は冒頭に書いたとおり、この方法ではうまくいきませんでした。もともとclonezillaとgpartedと使って今の環境を築いたのが理由なのか。よくわかりませんが、結局は前回と同様の方法で行いました。

とりあえず、以下から英語サイトのカンタンな説明です。
この方法ではなく、何らかの方法でリサイズが出来た方は、後半の「アップグレード前の設定変更」へお進みください。

Virtualbox 4 のストレージリサイズ方法

  1. バックアップ(オプション)
    何かあってからでは遅いので、心配な方はバックアップをとります。
    ターミナルで以下を入力します。
    VboxManage clonehd <path to your original drive> <path of the copy>
    おそらくすぐコピーが終わるはずです。
  2. リサイズする
    ターミナルで以下を入力します。
    VBoxManage modifyhd <path to your vdi> --resize <new size in Megabyte>
    ここで、新しいサイズはMB単位で入力します。なお増設予定のGBがストレージ上で何MBになるかは以下をクリックして確認できます(必要に応じて数字を変えてください)。 40GB to megabytes
    入力できたら実行し、これもすぐに終わるはずです。
  3. 確認
    Virtualboxを起動し、サイズが増えていることを確認します。
    このままではWindowsが新しいストレージサイズを認識していないので、Windowsを起動してから以下を行います。
  4. OSに新しいストレージサイズを認識させる
    Windows起動後、スタートメニューをクリックして、出てきた「コンピューター」を右クリックし、「管理」を選択します(※この時、管理者権限でログインしていることが必要です)。「ディスク管理」を開きます。現在使用しているドライブを右クリックして「拡張」を選び、あとは出てくる表示したがって操作を進めれば完了です。
  5. 一旦Windowsを終了します。
あとはWindows 8をインストールするだけです。
ただし、ここでアップグレード前に注意点があります。

アップグレード前の設定変更

  • Virtualboxの設定を変えてから8をインストール
    • 「設定」の「一般」で「バージョン」を「Windows 8(環境によっては64bit)」を選択
      • 私は「Windows 8」を選択しました。
    • ちなみに「高度」の設定はこんな感じ
    • 「設定」の「システム>マザーボード」で「IO APICを有効化」にチェックを入れる。
      • メインメモリーを1024MBに設定(これはご自由に設定してください)。
    • 同じく「システム>プロセッサー」で「PAE/NXを有効化」にチェックを入れる(※特に、この項目はデフォルトではチェックオフになっているかもしれません)
    • 同じく「システム>アクセラレーション」で「VT-x/AMD-Vを有効化」と「ネステッドページングを有効化」にチェックを入れる
    • 「ディスプレイ」の「ビデオメモリー」を128MBに設定。これは私の環境では64MBでは画面の挙動がおかしかったからです。
  • (おそらく特殊な状況ですが)インストール中にトラックパッドを触らない
    なぜか私のMBAでは、インストール中にトラックパッドを触るとブルースクリーンエラーとなり、インストールが止まってしまいました。エラー表示は"IRQL_DRIVER_NOT_LESS_OR_EQUAL"
    ググってみるとドライバがバグってて、メモリの割り当てがナントカカントカ。。。はい、わかりません。インストール中にこれが表示されると、すべて中断され、インストール前の状態、つまりWindows 7に戻ってしまいます。結局、キーボードで操作はできるので、インストール後最初の設定はトラックパッドを触らず、キーボードのみで行いました。環境依存的ではあると思いますが、インストールが途中で失敗する方は気をつけてみても良いかもしれません。
  • インストール後にGuest Additionをインストール

アップグレード後の経緯 

で、無事アップグレード完了…と思いきや、やはり8をインストール出来た後でも、トラックパッドを触ると落ちてブルースクリーンエラーが表示されてしまいます。
とりあえず何度かブルースクリーンエラーを繰り返していると、 トラブルシューティングが出来る選択肢が現れ、「リフレッシュする」を選びました。
しばらく時間がかかり、再起動したら…トラックパッド触っても落ちない!
と思ってたら、Windows 7で入れていたアプリケーションがすべて消えており、ほぼクリーンインストールしたような初期状態に。
うーん、Windowsはほとんど使っておらず特に重要性の高いアプリケーションも入れてなかったので、まぁいいんですが…。あまり良い結末ではないですね。
Virtualboxで7から8にアップグレードする方法を詳述したブログがほとんど英語ばかりなので読むのが面倒でテキトーにやってしまいましたが、Virtualboxがこういう状況にも対応するまで待つほうがいいのか、私が特殊な状況だったのか。どうなんでしょうね。

以上です。