2012年2月6日月曜日

Virtual Boxで仮想HDDイメージサイズの拡張とUbuntuディストリビューションのアップデート

久しぶりにVirtualBoxを立ち上げたらアップデートが出てました。 VirtualBox本体のアップデートをした後、バーチャルのUbuntuを立ち上げたらこちらはディストリビューションのアップデートがあるとか。 面倒くさいと思いつつ、この機会にアップデートしてみました。 するとHDDの空き容量が足りないとのメッセージが。 「最近Ubuntu使ってないんだよなぁ」とちょっと迷って、惰性で仮想HDDイメージサイズの拡張 → ディストリビューションのアップデートをやりました。

手順は間違っていたっぽいけど最終的にOKな状況になりました。 そしてやはり面倒くさかった...

作業内容はこんな↓感じでした。

実機のHDDはまだまだ余裕があるので、仮想HDDイメージの新規作成 → 中身のコピーで容量を増やす方針に。 コマンドプロンプトでVBoxManageを使って処理しました。 8GBから10GBへの拡張です。

まずはVirtualBoxを立ち上げていない状態で、元の仮想HDDイメージのvdiファイルを「.back.vdi」にリネーム。 ここが間違っていたっぽいけど結果OKなところです。 で、リネーム前のファイル名でvdiファイルを作成

"%VirtualBoxのインストールフォルダ%\VBoxManage" createhd -filename ファイル名.vdi --size 増やした後のサイズ --format vdi --variant fixed

容量fixedで作ってます。 で、作成後にエラーメッセージが出るので確認。

VBoxManage.exe: error: Failed to create hard disk. Error message: Cannot register the hard disk 'ファイル名.vdi' {idダラダラ} because a hard disk 'ファイル名.vdi' with UUID {idダラダラ} already exists

「同じファイル名のvdiがあるから登録できないよ」とのお達し。 まぁ、解決策は後で考えるとして、ファイル自体はできているので中身のコピーです。

"%VirtualBoxのインストールフォルダ%\VBoxManage" clonehd ファイル名.back.vdi ファイル名.vdi --existing

で、チマチマ調べてたら仮想マシンの設定ファイルを修正すればHDDの差し替えができることが判明。 Windows7だと「C:\Users\ユーザー名\VirtualBox VMs\仮想マシン名\仮想マシン名.vbox」がその設定ファイルです。 ユーザーフォルダにVirtualBox関係のフォルダは2つあるけど「VMs」の方に各バーチャルマシンの設定があります。 アレ? これデフォルト設定だっけ? 「VMs」フォルダのパスは設定次第で変わるかもしれません。

まぁいいや。 vboxファイルの中身はxmlファイルになっています。 テキストエディタで開いて仮想HDDのidを置換で修正しました。 変更箇所は2つでした。

VirtualBoxを立ち上げて、仮想マシンにUbuntuのインストールディスクイメージをセットしてから起動。 「Ubuntuを試す」をクリックして試用状態でパーティション編集ツールを使います。 ツールの起動はシステム/システム管理メニューから。 インストールディスクイメージのバージョンによってツールのメニュー表示は多少違うようですが、それっぽいのを選べばOK。 仮想HDDイメージ内のパーティションは基本領域とスワップ領域しかなかったので、特に考えることも無く

  1. スワップ領域削除。
  2. ディスクイメージサイズを増やした分だけ基本領域を拡大。
  3. スワップ領域作成。

をしました。 いや、パーティションエディタの操作が良く分からなくてホントはちょっと迷ったんですが、まぁ、できてしまえばやっぱり特に考えることもなかったのかなと...

で、やっとUbuntuのアップデート。 アップデートマネージャさんに「ファイルのダウンロードに700日以上かかりますよ?」などと言われてビックリしたけど、実際は1時間かからずにダウンロードはできました。 よく見てなかったのでダウンロードにかかった正確な時間は不明。

アップデート中は画面が崩れたけど大きな問題はなし。 ただ、grubブートローダのidが不正と怒られました。 やはりこの仮想HDDイメージ拡張法はダメなやり方だった模様。 grubは普通にインストールしなおせばOKでしたけどね。

これでディストリビューションのアップデートは終了。 そして仮想マシン再起動。

って11.04から変わりすぎ。 メジャーバージョンナンバーが変わってないので油断してました。 アップデートマネージャはどこだ? ディストリビューションのアップデート後は一応チェックしておかなくてはなりません。 Dashホームの検索から「Update」を入力して探すようです。 大事なツールのはずなのにちょっと分かりにくい場所に移動してますね。 アップデートマネージャのアイコンは、左のランチャに登録しておいた方が良さそうです。 ドラッグ&ドロップ、っと。

アップデート中に無効にされたJapanese Teamのリポジトリの適用は今回は割愛で。 Ubuntu自体の使用頻度が低いので、リポジトリの適用は何かあってからでいいでしょう。 最後にVirtualBoxのアップデートに伴うGuest Additionsのアップデートをして終了です。

アレ? なんでUbuntu立ち上げようとしたんだっけ?

そうそう、「Linux系OSでファイルの作成日時が記録されていない」っていうのを昨日初めて知って確認しようと立ち上げたんでした。 javaのFileクラスに作成日時のプロパティが無いと知って、それがきっかけです。 漫然と使っていたから気付かなかったんですよね。 アップデート前に「ホントに無いねぇ」って確認したんでした。 今日のアップデートにかかった時間はいったい...