タグ「VirtualBox」が付けられているもの


VirtualBoxのEFI有効な仮想マシンにインストールしたLinuxを一発で起動する 〜その後〜

さて、四苦八苦していた VirtualBox で EFI を有効にした仮想マシン上にインストールした Debian を一発で起動させる件。
前のエントリーで書いた通りではあるんですが。もっと簡単に解決できるのが判りまして…。

起動してきたら、次のような操作を、 root 権限で行います。

[From VirtualBoxのEFI有効な仮想マシンにインストールしたLinuxを一発で起動する - Soukaku's HENA-CHOKO Blog]

/boot/efi/EFI の下にブートローダを配置することには変わりがないのだけど、その方法はもっとシンプルでした。

なんのことはない、インストールの最終段階のブートローダの設定のところ。
以下の画面のメッセージの「 EFI リムーバブルメディアに GRUB インストールを強行しますか?」で "いいえ" を、ずっと選択していたわけなんでですが、ここを "はい" で抜けると…。

VirtualBoxのEFI有効な仮想マシンにインストールしたLinuxを一発で起動する

さて、うまいくかない、と思っていた VirtualBox 上の EFI 有効な仮想マシンでの jessie の起動の件ですが、

#結局、 jessie が、 VirtualBox の EFI 有効な仮想マシンで正しく起動しない件は、解消できずにいたり。

[From jessie と EFI/UEFI と VirtualBox と… - Soukaku's HENA-CHOKO Blog]

うまくいく方法が見つかったというか、どうも調べ足りなかったらしく、既に方法があったので、落ち穂拾い的エントリーを書いておく。

仮想マシンでEFIを有効化

そもそも、VirtualBox の場合、 EFI を有効化した仮想マシンの NVRAM にインストールした OS (この場合は、Debian )が用意する EFI 用のブートローダの在り処が記録されないという不具合?があるようで、 NVRAM にブートローダ情報がない場合に強制的に読みに行く場所に指定した名前でブートローダを置けば解消する、と。

1. NVRAMが読み込めない、又は読み込めてもNVRAMにOSの登録がない場合は、ESPの EFI/boot/bootx64.efi ファイルを読みに行く。
ubuntuのインストールでは作成されないディレクトリであり、当然ながら bootx64.efi ファイルも無い。

[From Ubuntu日本語フォーラム / ubuntuでのUEFIについて]

#目を通した記憶はあるんですよね、この情報…。う〜ん…。

jessie と EFI/UEFI と VirtualBox と…

さて、先のエントリーをアップしたことを Twitter に流した時に

というようなことを合わせて書いていたんですが、その後何度か "EFI を有効"にした状態の仮想マシンに対して、 jessie のインストールを試行してみた限りでは、特段問題も起きておらず、GRUB ブートローダも正常にインストールでき、jessie 自体の起動も問題ないようです。
VertualBox 自体も、Mac 版の 4.3.6 、Windows 版の 5.0.0 beta2 それぞれで jessie をインストールしてチェックしてみましたけど、大丈夫でした。

ダメだった時は、ブートローダのインストールの直前に、何故かインストールメティアが認識されなくなるという事象も起きていたので、インストールそのものも挙動がおかしくなっていた、というのもあったりするので何が悪かったのかは、既に闇の中…。

" EFI を有効" にした仮想マシンと、そうではない場合の差分は?

EFI なマシンに jessie インストールした際のパーティショニングの確認画面

ということで、" EFI を有効"にしていない仮想マシンと" EFI を有効"にした仮想マシン、それぞれに jessie をインストールした時の手順の差分ですが、具体的には

  • ディスクのパーティション設定時に、EFI System Partition を作成するか、しないか
  • ブートローダのインストール先の選択の有無

の二点ぐらいでしょうか。(あとは、 d-i 起動時のメニュー画面での、UEFI の記述の有無ぐらい。)

EFI System Partition ( ESP )に関しては、インストールガイドの第 6 章に記述されているように、EFI でのブートローダを格納する領域として、FAT32 形式のパーティションを作成する必要がある、と…。

If you have booted in EFI mode then within the guided partitioning setup there will be an additional partition, formatted as a FAT32 bootable filesystem, for the EFI boot loader. This partition is known as an EFI System Partition (ESP). There is also an additional menu item in the formatting menu to manually set up a partition as an ESP.

[From 6.3. それぞれのコンポーネントの使用法]

d-i では対応しているので、ガイドに従ってパーティションを作成するときには、 ESP を確保するようになっているのですけど、手動でパーティションを設定する時には忘れないようにしないと、ハマる要因になりそうです。

VirutalBox に Windows 8.1 Preview を入れようとしてプチハマリ

Windows 8.1 Preview が出たということなので、ISO ファイルをダウンロードしてきて、いざ VirtualBox の仮想マシンにインストール、とやってみるとるとエラーが出て再起動しろと。
64 ビット版の ISO だからと思って、32 ビット版ダウンロードしてきて、そちらでインストールすると、ちゃんと出来そうで、インストーラの最初の言語やキーボード選択の画面が表示される。

ちょっとググってみたところ

使用しているコンピューターの CPU が CMPXCHG16b をサポートしていない場合は、あきらめて 32 bit 版をインストールしましょう。

[From VirtualBox に Windows 8.1 Preview をインストールしてみる(64 bit 版): あるSEのつぶやき]

というのを発見。
ということは、VirtualBox の仮想マシンでも、それが有効に出来れば、インストール出来るわけだ。

Debian GNU/Linux(lenny)をインストールしてみる:仮想化ソフト特有の注意点

物理的なマシンだったら。気にしなくていいことなのだけど、仮想化ソフト上の仮想マシン、標準的なPCををエミュレートしているとはいえ、完璧というわけではなく、大抵仮想マシン向けのドライバだったりユーティティが用意されていたりする。それをインストールすることで、管理が楽にできるようになるといったメリットもあるので、それもインストールもしておきましょう。

すでに、テスト用の仮想マシンでsshdが起動しているので、ホストマシンのターミナルソフトで、

[soukaku@Messiah|~]$ ssh soukaku@172.16.0.202
The authenticity of host '172.16.0.202 (172.16.0.202)' can't be established.
RSA key fingerprint is f0:70:1e:6e:58:d7:44:db:8f:98:67:f6:82:c7:a7:29.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.0.202' (RSA) to the list of known hosts.
soukaku@172.16.0.202's password:
Linux debian 2.6.26-2-686 #1 SMP Thu Nov 25 01:53:57 UTC 2010 i686

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sat Jan 22 17:28:39 2011 from 172.16.0.101
soukaku@debian:~$ su -
パスワード:
debian:~#

のようにログインが出来るようになっているはずなので、これ以降はリモート接続での作業を中心にしていきます。

VirtualBoxで遊ぶ

いろいろやっている最中なのだけど、今のところはこんな感じで。

変なスクリーンショット

Mac用の仮想化ソフトというとVMware FusionParallels Desktopが定番だと思うんだけど、とりあえずうちではVirtualBoxを使ってます。なんといっても"フリー"っていうのが魅力的。
Windowsには、VMware vSphere Clientいれて、ESXiサーバ弄るのに使ったりするんですけどね。

ESXiの方も、いちおー出来上がって、そこにopenfilerを入れてTimeMachine用にiSCSIターゲット上げたりして、遊びはじめてます。そっちはそっちでそのうちにでも。

個人的には、目からウロコのVMWare Playerの使い方

Mac miniが来て、いろいろやりたかったことをやっている最中なんだけど、(直接関係しないんだけど)やりたことの一つである仮想環境の作り直し(Hyper-V → VMWare ESXi)を、ちまちまとやっていたり。
Hyper-Vは操作するためのクライアントに対する要求が多すぎるし、ちょっとしたコトでHyper-VサーバとHyper-Vクライアントの間の通信がうまくできなくなっちゃうというのが多くて、そのあたりをクリアするのがとっても面倒という印象しかないんだよね。
#そんなわけだから、仮想マシンつくって遊ぶということも、自由にできなかったのだな。

ESXiは会社でも便利に使っていることもあって、とっとと移行したかったのですよ。気軽にやるなら、Mac miniにVirtualBoxでも色々できるけど、それはそれとして。

で、サイトから落としてきたESXiのISOイメージをDVDに焼いて、Express5800/S70SDに刺したUSBメモリにESXiをインストールしようとしていたのだけど、インストーラがうまく上がってくれない。いろいろ調べてみたら、

別のPCにVMware Playerを入れてそこでインストールする。

VMware ESXi 4.1のインストーラーがエラーを吐く件 - どんごどんご

という、目からウロコな解決方法を書いていてくれた人がいるではありませんか。
ということで、そのページを参考に仮想環境用のS70SDに一時的にWindows 2008 Serverを入れて、その上でVMWare Playerを動かして、ESXiをUSBメモリ化するところまでは成功。
一応、NICを認識は織り込み済みとしてESXiが起動するところまでは確認したので、NICを認識されるための悪戦苦闘をこれから始めるです。