Windows で仮想マシンを作る(VirtualBox)

TeraTermのインストール

仮想マシンを操作するための「ターミナルエミュレータ」として、WindowsではTeraTermを使用します。

  1. TeraTermのインストールファイルをダウンロードするために、下記にアクセスします。
    https://forest.watch.impress.co.jp/library/software/utf8teraterm/

  2. 「TeraTerm」の方の「窓の杜からダウンロード」をクリックします。

  3. ダウンロードが始まります。2022年3月時点では、下記のファイル名でダウンロードされます。

  4. ダウンロードされた「teraterm-4.106.exe」をダブルクリックし、TeraTermをインストールします。画面指示に従ってインストールを行います。

  5. デスクトップにショートカットが作成されます。

VirtualBoxのインストール

  1. VirutalBoxのホームページにアクセスします。https://www.virtualbox.org/

  2. ホームページで左側に表示されている「Downloads」をクリックします。

  3. VirtualBox X.X.XX platform packages と表示されている箇所の下の「Windows hosts」をクリックします。その時の最新版のインストールファイルをダウンロードすることができます。
    2023年4月時点は、VirtualBox-7.0.6-155176-Win.exe

  4. VirtualBox X.X.XX Oracle VM VirtualBox Extension Packと表示されいてる箇所の下の「All supported platforms」をクリックします。拡張期のインストールファイルをダウンロードすることができます。
    2023年4月時点は、Oracle_VM_VirtualBox_Extension_Pack-7.0.6a-155176.vbox-extpack

  5. 「3」でダウンロードした、末尾がWin.exeで終わるファイルをダブルクリックし、VirtualBoxをインストールします。

  6. VirtualBoxをインストール後、「4」でダウンロードしておいた拡張ファイルをダブルクリックし、VirtualBox拡張機能をインストールします。

ISOイメージファイルのダウンロード

  1. Ubuntu Serverのホームページにアクセスします。2023年4月現在、Ubutnu 20.04 が安定しています。https://releases.ubuntu.com/focal/

  2. 「Server install image」の「64-bit PC (AMD64) server install image」をクリックします。
    2023年4月現在は、ubuntu-20.04.6-live-server-amd64.iso と表示されています。これをダウンロードします。

  3. 数秒待つと、isoイメージファイルのダウンロードが開始されます。

ホストネットワーク

  1. Windowsのスタートメニューで、VirtualBoxをクリックする。またはデスクトップにあるVirtualBoxのショートカットをダブルクリックして、VirtualBoxを起動します。

  2. 「Oracle VM VirtualBox マネージャー」が表示されます。

  3. 「ファイル」>>「ツール」>>「Network Manager」の順にクリックします。

  4. 「作成」をクリックします。

  5. 「このアプリがデバイスに変更を加えることを許可しますか」と表示されるので、「はい」をクリックします。

  6. 「VirtualBox Host-Only Ethernet Adapter #2」 が作成されました。IPv4アドレスを控えておきます。「DHCP」が無効になっていることが重要です。例として、192.168.128.1 になっています。

  7. 「ツール」の右隣にある箇条書きのように表示されている三本線をクリックし、その後「ようこそ」の順にクリックします。

仮想マシンの作成

  1. 「Oracle VM VirtualBox マネージャー」で画面内の「新規」をクリックします。

  2. 「ガイド付きモード」と表示されている場合は、「ガイド付きモード」をクリックします。

  3. 「名前」を入力します。仮想マシン名です。例として、Ubuntu2004vm1 と入力します。最新のUbuntu 22.04をインストールしたい場合は、Ubuntu2204vm1 とでもしましょう。
    「ISO Image」では、ダウンロードしておいたisoファイルを選びます。Ubuntu 20.04の仮想マシンを作成する場合は、 https://releases.ubuntu.com/focal/ にアクセスし「64-bit PC (AMD64) server install image」をからダウンロードしたisoファイルを指定します。
    「Skip Unattended Installation」のチェックボックスにチェックを入れ、「次へ」をクリックします。

  4. 「メインメモリー」の最小値は、2048MBです。「Processors」の最小値は、1CPUです。とくに変更することはないので、「次へ」をクリックします。

  5. 「ディスクサイズ」を「64.00GB」に変更し、「次へ」をクリックします。なお、仮想マシンを使ってプライベートクラウドを構築したい場合は、仮想マシンのハードディスクを、192GB以上確保する必要があります。仮想マシンの目的とあなたのパソコンのスペックに応じてサイズを決めましょう。

  6. 仮想マシン作成の確認画面表示されます。「完了」をクリックします。修正する場合は「戻る」をクリックしましょう。

  7. 仮想マシンが作成されました。仮想マシンを選択した状態になると、下図のように青く表示されます。この状態で「設定」をクリックします。

  8. 仮想マシンの「設定」画面が起動します。

  9. 「ネットワーク」の「アダプター2」タブを選び、「ネットワークアダプターを有効化」にチェックを入れます。また、「割り当て」を「未割り当て」をクリックし、「ホストオンリーアダプタ」に変更します。

  10. 「名前」を、「VirtualBox Host-Only Ethernet Adapter」をクリックし、先ほど作成した「VirtualBox Host-Only Ethernet Adapter #2」に変更します。

  11. 「アダプター1」タブを選び、「Advanced」をクリックします。その後、「ポートフォワーディング」をクリックします。

  12. 「ポートフォワーディングルール」の画面が表示されます。右端の「+」をクリックし、ルールを追加します。下図のようにルールを作成します。下図では、Windowsパソコンで、localhostの2222番ポートを接続先として指定した場合に、仮想マシンでSSH Serverが起動している場合に22番ポートを介してSSHで操作できることを示しています。

  13. 作成後、「OK」をクリックします。

  14. 仮想マシンの「設定」画面で「OK」をクリックし、「設定」画面を閉じます。「ネットワーク」に「アダプター2」が追加されていることがわかります。

  15. 下図のように仮想マシンを選んだ状態で「起動」をクリックします。

  16. 右側のサイドバーで「X」をクリックすると、サイドバーを非表示にすることができます。

  17. 言語選択で、「English」を選び、Enterキーを押す。

  18. インストール作業中のアップデート適用の有無について、「Continue without updating」を選び、Enterキーを押す。

  19. 「Keyboard configuration」の画面。マウスは使えない。キーボードの矢印キーを操作して進めていく。「Layout」の「English」をクリックして、「Japanese」に変更する。その後、「Done」に移動し、Enterキーを押す。

  20. 「Network connections」が表示される。仮想マシンのアダプター2 [ enp0s8 eh - ]に移動し、Enterキーを押します。

  21. 「Edit IPv4」に移動し、Enterキーを押します。

  22. 「IPv4 Method」の「Automatic(DHCP)」でEnterキーを押し、「Manual」に切り替えます。

  23. 下図のように入力します。例えば、作成済みのVirtualBox ホストオンリーアダプターで、ホストネットワークマネージャーで作成した際に表示されたIPv4 アドレスが、192.168.128.1 であれば、「Subnet」は、「192.168.128.0/24」となります。
    この時、この仮想マシンに割り当てるIPアドレスは、192.168.128.のように24bit目まで同じであれば良いので任意で良いのですが、ここでは「192.168.128.10」とします。

    上記の値を例です。実際にはホストオンリーネットワークで作成したIPアドレスは各自で値が異なることがあります。各自の値に読み直して入力しましょう。入力後、「Save」に移動し、Enterキーを押します。

  24. 仮想マシンのアダプター2(enp0s8)に、マニュアル操作で指定したIPアドレスが表示されます。「Done」に移動し、Enterキーを押します。

  25. 「Configure proxy」が表示される。そのままの設定を使用する。「Done」に移動し、Enterキーを押す。

  26. 「Configure Ubuntu archive mirror」が表示される。そのままの設定を使用する。「Done」に移動し、Enterキーを押す。

  27. 「Guided storage configuration」が表示される。そのままの設定を使用する。「Done」に移動し、Enterキーを押す。

  28. 「Storage Configuration」が表示されます。パーティション設定が必要です。「USED DEVICES」に表示されている「ubuntu-lv」まで移動し、Enterキーを押します。「Delete」に移動し、Enterキーを押します。

  29. 確認画面が表示されます。「Delete」の位置でEnterキーを押します。

  30. 「AVAILABLE DEVICES」に表示されている「free space」に移動し、Enterキーを押します。

  31. 「Create Logical Volume」を選び、Enterキーを押します。

  32. 「Adding logical volume to ubuntu-vg」が表示されます。Sizeはfree spaceとして残っている容量を割り当てますので空白とし、Mount先は、各ユーザーの作業データを取り扱う / とします。「Create」まで移動し、Enterキーを押します。

  33. 「Storage Configuration」が表示されます。パーティション操作を行いました。「Done」に移動し、Enterキーを押します。
    自分でパーティションを考えることができるようになれば、仮想マシン作成時のストレージ容量を調整し、自分でパーティション構成を設定すると良いでしょう。パーティション操作のスキルは、アプリを動かすための基盤構築に役立ちます。/home のパーティションを別途作っても良いでしょう。
    また、プライベートクラウドを構築したい場合は、仮想マシンのハードディスクを、192GB以上確保した上で、MOUNT POINTが「/」への割当容量を、少なくとも100~128GB を割り当てるようします。

  34. 確認画面が表示されます。「Continue」に移動し、Enterキーを押します。

  35. 「Profile setup」が表示されます。ここでは、user1 と利用者で、サーバー名(ホスト名)を ubuntu1vm、ユーザー名をuser1、パスワードは伏せられますが、例として、zxcvfr45 としています。サーバー名やユーザー名、パスワードは任意なので、この説明通りにしなくても良いです。ただし、入力した値は忘れないようにしてください。
    また、サーバー名は、パソコン内にある他の仮想マシンと重複しないようにしましょう。
    下図のように入力後、「Done」に移動し、Enterキーを押します。

  36. 「Enable Ubuntu Advantage」が表示された場合は「Done」に移動し、Enterキーを押します。

  37. 「SSH Setup」が表示されます。

    [ ] Install OpenSSH Server に移動し、スペースキーを押します。[X] Install OpenSSH Server に表示が変わります。これで、OpenSSH Server をインストールする指示となります。「Done」に移動し、Enterキーを押します。

  38. 「Featured Server Snaps」が表示されます。なにも変えずに、「Done」に移動し、Enterキーを押します。今回はなにも選びませんが、必要なものがあれば、ここで該当項目を移動し、スペースキーを押して選択状態にすることで、この後の仮想マシンを構成する各ソフトウェアのインストールで、一緒にインストールしてくれます。

  39. しばらく待つと、「Install Complete!」が表示されます。「Reboot Now」と表示されるまで待ちます。時間がない場合は、「Cancel upadte and reboot」をクリックしましょう。

  40. 表示されたメッセージに従い、Enterキーを押します。

  41. 仮想マシンが再起動します。下図のように表示されるまで、しばらく待ちます。カーソルで点滅するようになります。

TeraTerm経由で仮想マシンにSSH接続

TeraTermを起動し、仮想マシンにSSH接続を行います。仮想マシンの設定で、「ネットワーク」の「アダプター2(enp0s8)」のIPアドレスとして、「192.168.128.10」としましたので、「192.168.128.10」にSSH接続を行います。

  1. TeraTermを起動します。デスクトップにショートカットを作っている場合は、ショートカットから起動するのが良いでしょう。ショートカットがない場合は、WindowsのスタートメニューからTeraTermを探して起動します。

  2. ホストに、仮想マシンのIPアドレスを入力し、「OK」をクリックします。

  3. 「セキュリティ警告」が表示されます。「続行」をクリックします。これは初回接続時に表示されます。

  4. 「SSH認証」が表示されます。今回の仮想マシンは、ユーザー名とパスワードで認証を行います。仮想マシン作成時に設定したユーザー名とパスワードを入力します。例 ユーザー名:user1 / パスワード:zxcvfr45

  5. 「OK」をクリックします。

  6. 仮想マシンに接続することができました。

仮想マシンを最新版にアップデート

次のコマンドを実行します。パスワードを求められることがあります。その場合は、SSH接続に用いたユーザー名のパスワードを入力し、Enterキーを押します。

sudo apt-get update -y && sudo apt-get upgrade -y

演習や開発作業を補助するために最低限必要なソフトウェアのインストール

次のコマンドを実行します。パスワードを求められることがあります。その場合は、SSH接続に用いたユーザー名のパスワードを入力し、Enterキーを押します。

sudo apt-get install -y git gcc curl make avahi-daemon dkms language-pack-ja

avahi-daemonを入れたことで、仮想マシンのセットアップ時に「Profile setup」の「Your server’s name」で指定したホスト名に、.local をつけることで、SSH接続ができるようになります。

avahi-daemon導入後に、TeraTermで、ホスト名.local で接続する場合

TeraTermのホストに、IPアドレスの代わりに、ホスト名.local (例 ubuntu1vm.local ) とすることで、仮想マシンに接続することができます。

タイムゾーンを日本時間に変更

仮想マシンを構築すると、時間がグリニッジ標準時になっています。

たとえば、次のコマンドを実行します。

date

実行結果例

日本時間に修正するため、次のコマンドを実行します。パスワードを求められることがあります。その場合は、SSH接続に用いたユーザー名のパスワードを入力し、Enterキーを押します。

動作確認のために、date コマンドを再び実行します。

実行結果例

仮想マシンの再起動と終了方法

仮想マシンといいますか、UbuntuやCentOSなどLinux全般共通の操作です。

終了の場合は、次のコマンドを実行します。

再起動の場合は、次のコマンドを実行します。

仮想マシンのバックアップと復元

VirtualBoxの画面で、「ファイル」>>「仮想アプライアンスのエクスポート」を実行することで、仮想マシンをファイルとして書き出すことができ、バックアップとなります。

「Virtual machines」の画面が表示されます。エクスポート(バックアップ)したい仮想マシンを選びます。「次へ」をクリックします。

「Format settings」の画面が表示されます。「次へ」をクリックします。

「仮想アプライアンスの設定」画面が表示されます。「完了」をクリックすることで、ドキュメントディレクトリに、.ova形式のファイルで保存されます。

エクスポートした仮想マシンを復元する場合は、「ファイル」>>「仮想アプライアンスのインポート」を実行し、取り込みたい仮想マシンのファイルを選び、復元することができます。

仮想マシンの複製(クローン)

作成済みの仮想マシンを複製し、ホスト名とIPアドレスを変更して別の仮想マシンとして使いたい場合の手順について説明します。

複製対象となる仮想マシンが起動している場合は、終了させます。

仮想マシンを選んだ状態で右クリックし、「クローン」をクリックします。

「新しい仮想マシンの名前とパス」の画面が表示されます。元になった仮想マシンがubuntu2004vm1でしたので、「名前」を、ubuntu2004vm2 としましょう。変更後、「次へ」をクリックします。

「クローンのタイプ」の画面が表示されます。「すべてのクローン」を選び、「完了」をクリックします。

下図のように、複製された状態となります。

複製した仮想マシンのホスト名とIPアドレスの変更

仮想マシンを複製しただけでは、ホスト名とIPアドレスは、複製元の仮想マシンと同じ状態で、ホスト名とIPアドレスはユニークなものでなければいけないため、ホスト名とIPアドレスを手動で変更します。まずは複製した仮想マシン(例 Ubuntu2004vm2)を起動します。下図のように表示された時にEnterキーを押すことで、ログインができるようになります。

画面内でログインを求められますので、複製元になった仮想マシンのユーザー名とパスワードでログインします。ホスト名とIPアドレス変更前のため、SSH接続はまだ行いません。仮想マシンの画面に直接コマンドを打ち込みます。

ホスト名の変更

hostsファイルの変更

次のコマンドを実行します。

変更前

変更後

書き換え後、Macの「control + xキー」を押して保存します。

hostnameファイルの変更

次のコマンドを実行します。

変更前

変更後

書き換え後、Macの「control + xキー」を押して保存します。

IPアドレスの変更

複製元の仮想マシンのIPアドレスが「192.168.128.10」となっている場合、末尾の「10」の部分を「20」に変更し、複製した仮想マシンのIPアドレスを「192.168.128.20」 としてみましょう。IPアドレスの設定は人それぞれ異なりますので、自分のパソコンで動くVirtualBoxのネットワークについて把握しておくことが重要です。

次のコマンドを実行します。

変更前

変更後

書き換え後、Macの「control + xキー」を押して保存します。

仮想マシンの再起動

次のコマンドを実行し、仮想マシンを再起動します。

仮想マシンの画面内で、IPアドレス確認コマンドを実行し、変更されているか確認しましょう。

実行結果の例 >> 「enp0s8」のIPアドレスが、変更したIPアドレスになっていることがわかる。

ホスト名とIPアドレスの変更が確認できたので、ターミナルアプリからSSH接続ができるようになった。

デスクトップ画面(GUI)を追加したい場合

仮想マシンにGUIを追加する手順 (Ubuntu) をご覧ください。