VirtualBoxを使ってみる
仮想マシンを簡単に作れる「VirtualBox」。オラクルが提供するありがたいソフトです。最近、Linuxの勉強をしたいと思い、VirtualBoxを手持ちのwindows機にインストールし、さまざまなLinuxディストリビューションを試すつもりでいました。
VirtualBoxのインストールはあっさり済み、仮想マシンの作成もwebで調べながら行ったので、難しくはなかったです。
仮想マシンに64bit版Linuxディストリビューションがインストールできない
さてそれではCentOSでもぶち込もうかとisoイメージをセットして、仮想マシンを起動したところ、インストールメニューは表示されるのですが、インストールを選んで先に進むと「カーネルがクラッシュしました」といった旨のエラーメッセージが表示されて止まってしまいます。
さてなぜ失敗するんだ。色々見ていたところ、「名前とオペレーションシテム」のダイアログでLinuxを設定すると(32bit)が付いているものしか選べないことに気が付きました。嫌がらせか。
CentOSの最新バージョン(2015/1現在ver7以降)は64bit版オンリーで32bit版のサポートをしていません。64bit版入れたいのだが。
インストールできない理由
「PAE/NXを有効にする」
いろいろ調べたところ設定>システム>プロセッサーにあるメニュー「PAE/NXを有効にする」にチェックを入れる必要があるという事がわかりました。
PAEとは物理アドレス拡張という機能の事で、早い話、32bit環境でも4GB以上のメモリを使えるようにするためのテクノロジー。
@MINOには良くはわからないがとにかく64bit版を入れたいのでチェックしてみました。
しかしこれにチェックを入れても、CentOS7を仮想マシンにインストールすることはできませんでした。
仮想化テクノロジーの存在
そこでまたいろいろ検索していると、仮想化テクノロジーという言葉に行きつきました。
仮想化技術というのはCPUの機能と密接にかかわっているようで、仮想化を実現するにはCPUがそれをサポートしていることが大切なようです(ハードの事はソフトの事以上に詳しくないので説明がおかしいかもしれない。気になる人は自分で調べていただきたい)
パソコン用のCPUの大手メーカーと言えばIntelとAMDだが、どちらも仮想化テクノロジーをCPUに搭載しています。IntelはIntel VT-x(Intel Virtualization Technology)、AMDはAMD-V(AMD Virtualization)という名称です。
インストールできない理由は仮想化テクノロジーの所為?
そしてどうやらその仮想化テクノロジーというのはBIOSでオンオフが出来るCPUの機能であるらしい事がわかりました。
そうか、仮想化テクノロジーをONにしたら64bit版がインストールできるのでしょうか?では早速BIOSで設定をば。
しかしBIOSをくまなく探せども、そのような設定項目が見つかりません。
PCによってBIOSも違うので一概には言えないですが、おおよそAdbanced>CPU Configurationの中に、IntelCPUであれば、「Intel(R) Virtualization Technology」という項目があるというではないですか。
いや無いぞ。どう考えても無い。何度探しても「Intel(R) Virtualization Technology」の項目は見つかりませんでした。
64bit版をインストールできなかった本当の理由
そこで今度は「Intel(R) Virtualization Technology」を出現させる何かがあると思い、いろいろ調べてみました。なにかハードウェアスイッチみたいのがあるのでしょうか。
そうこうしていると検索で価格COMのノートパソコンのレビューでユーザー同士が質疑応答しているページに出くわしました。
質問者は「どちらのパソコンがいいか」とCPUの違う二機種を挙げてアドバイスを求めており、それの解答に今回の答えが書かれていました。
曰く「…B980はVT-xなどをサポートしていないので、corei3搭載機を勧めます…」と。
B980とは「Intel® Pentium® Processor B980」の事だ。調べてみると@MINOのノートに入っているCPUもIntel® Pentium® Processor B980だった。
Intelのページを確認してみると、確かにインテル® バーチャライゼーション・テクノロジー (VT-x) のサポートは”NO”になっている。
つまり「Intel(R) Virtualization Technology」の項目が見つからないのではなくて、最初から存在しないのです。
あ、そうサポートしていないの。
うっすら目に涙が溜まるのを感じました。
仮想化テクノロジーのサポート
「Intel(R) Virtualization Technology」はすべてのCPUに搭載されている訳ではないようです。AMDのCPU搭載機でも同じようなことが言えるかと思います。
仮想化自体は一般のユーザーはあまり使わない機能で、無くても問題ない場合が多いですしね。@MINOや皆さんのように開発環境をこしらえたい人種が使いたいと思うのが大半であるようです。
だからローエンドクラスのCPUでは仮想化テクノロジーをサポートしていないものも存在するのです。そして@MINOのノートのCPUはまさにそれだったのです。
ノートを買うとき開発環境の構築のことなど考えてもいませんでした。その時はまだphpもjavascriptもjQueryも知らないようなウブさだったからです。
失業してるし金もないし彼女もいないし、とりあえず安く買えればいいやと思い、amazonにて4万円前半台で購入したのでした。
パソコンを買うときは気を付けて
気を付けてもらいたいのは、@MINOのパソコンに搭載されている「Intel® Pentium® Processor B980」は2015/01現在でも出荷されていることだ。
@MINOが今のノートを買ったのは2013の末だから、それほど前のことではない。現行の廉価版のノートなどにはB980や、それ以外の仮想化未サポートのCPUが乗っている可能性も十分あります。
もしVirtualBoxなどの仮想化マシン作成ツールをフルに使いたいならば、VT-xまたはAMD-VをサポートしているCPUが搭載されたパソコンを買うのが吉です。
@MINOはフリーランスとはいえ、ほぼ無職なので使えるパソコンがあるのに、さらにパソコンを買うのは苦行に近い。仮想マシンで64bit版のインストールは諦めなければならないようです。
まとめ
やれやれ貧乏人は開発環境の構築もさせてもらえないのでしょうか…。
はやりのVagrantを使えるようになって「しったか」したかったのに。
しかしとりあえずは32bit版のLinuxであれば仮想マシンにインストールできる点は救いではありました。頑張ろうと思います。