Mac(Intel系)で仮想マシンを作る(VirtualBox)

前提

Intel系CPU搭載のMacで、VirtualBox-7.0.6-155176-OSX.dmgを使って確認しました。

VirtualBoxのインストール

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

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

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

  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」でダウンロードした、末尾が.dmgで終わるファイルをダブルクリックします。

  6. 「VirtaulBox.pkg」をダブルクリックします。VirtualBoxのインストールを開始します。画面に従って進めてください。

  7. 「インストールが完了しました。」と表示されればOKです。

  8. 「閉じる」をクリックします。

  9. 「ゴミ箱に入れる」をクリックします。

  10. 「4」でダウンロードした、.vbox-extpackで終わるファイルをダブルクリックします。

  11. VirtualBox機能拡張パッケージをインストールします。「インストール」を押し、画面に従って、VirtualBox機能拡張パッケージをインストールします。

  12. インストールに成功しましたと表示されれば、問題ありません。

  13. アプリケーションフォルダに、VirtualBoxがあることを確認します。

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

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

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

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

ホストオンリーネットワーク

  1. アプリケーションフォルダ内のVirtualBox をダブルクリックして起動します。

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

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

  4. 「Host-only Networks」のタブを選び、「作成」をクリックします。

  5. 「HostNetwork1」などのようにネットワークアダプタが作成されます。また表示されている「IPv4アドレス/マスク」の値を控えておきます。

  6. 「適用」をクリックします。

  7. 「ようこそ」をクリックして。「ようこそ」の画面、つまりVirtualBoxの起動画面に戻ります。

仮想マシンの作成

  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. 「名前」を、仮想マシンの前に作成したホストオンリーネットワークのアダプタ名(例 HostNetwork1)を選択します。変更後、「OK」をクリックします。

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

  12. 「ポートフォワーディングルール」の画面が表示されます。右端の「+」をクリックし、ルールを追加します。下図のようにルールを作成します。下図では、Windowsパソコンで、localhostの22番ポートを接続先として指定した場合に、仮想マシンでSSH Serverが起動している場合に22番ポートを介してSSHで操作できることと、仮想マシンにNginx等のWebサーバーが起動している場合は、Macから、Webブラウザで、http://localhost で仮想マシン上のWebサーバーにアクセスできることを示しています。

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

  14. 「起動」をクリックします。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  39. 仮想マシンが再起動します。

ターミナルで仮想マシンにSSH接続

Macのアプリでターミナルを起動します。Macのアプリケーションフォルダ内の、ユーティリティフォルダに、「ターミナル」アプリがあります。Dockにセットしておくと良いでしょう。

  1. ターミナルを起動します。

  2. 次のコマンドを実行します。仮想マシンに登録したユーザー (例 user1 ) 名を用いて、仮想マシン作成時に使用した「アダプター2 (enp0s8)」に割り当てたIPアドレス (例 192.168.128.10) を使って接続します。

    ssh user1@IPアドレス -p 22
  3. 次のように表示されるので、末尾に yes と入力してEnterキーを押します。

    Are you sure you want to continue connecting (yes/no/[fingerprint])?
  4. パスワードを求められますので、接続しようとしているユーザーのパスワードを入力し、Enterキーを押します。

    user1@IPアドレス's password:
  5. 仮想マシンに接続することができました。

IPアドレスではなく、ホスト名を使って接続したい場合

マルチキャストDNSを使って、ローカルで名前解決を行う をご確認ください。

SSH接続の解除方法

exit コマンドを実行すると、SSH接続が解除され、仮想マシンから離脱することができます。

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

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

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

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

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

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

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

実行結果例

日本時間に修正するため、次のコマンドを実行します。パスワードを求められることがあります。その場合は、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」が、VirtualBoxのホストオンリーネットワークとなる。変更したIPアドレスになっていることがわかる。

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

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

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