Ubuntu 20.04, 18.04 仮想マシンを作る(VirtualBox, Vagrant を使用)(Windows 上,Ubuntu 上)

Oracle VM VirtualBox は,オープンソースの仮想化ソフトウェアです.

本ガイドでは,Windows または Ubuntu 環境で,VirtualBox と Vagrant を使って Ubuntu 仮想マシンを構築する手順を説明します.Vagrant は,仮想マシンの作成・起動・停止・破棄をコマンドで管理するツールです(Vagrantfile という設定ファイルに構成を記述します).

注意(2026年6月時点): Ubuntu 18.04 LTS は標準サポートが2023年4月に,Ubuntu 20.04 LTS は2025年5月に終了しています(いずれも有償の Ubuntu Pro でのみセキュリティ更新が継続します)。本ガイドはこれらのバージョンを対象とした手順ですが,新規に学習用環境を作る場合は,標準サポート中の新しい LTS(例:Ubuntu 24.04 LTS)の利用も検討してください.

目次

サイト内の関連ページ

関連する外部ページ

VirtualBox 公式サイト: https://www.virtualbox.org/

前準備

VirtualBox のインストール

Vagrant のインストール

Vagrant を使った Ubuntu 20.04 仮想マシンの構築手順

以下は Ubuntu での操作画面ですが,Windows 環境でも同じ手順で実行できます.

Vagrant box の選択

Vagrant box(仮想マシンの元になるイメージ)は,以下の Web サイトで検索できます.かつての vagrantcloud.com は,HashiCorp Cloud Platform(HCP)に移行しました.

https://portal.cloud.hashicorp.com/vagrant/discover

Vagrant box を使用した Ubuntu 仮想マシンのインストール

Windows および Ubuntu 環境で共通の手順です.

  1. 作業用ディレクトリの準備

    作業用ディレクトリは,後で見分けやすい名前にします.

    mkdir menv
    cd menv
    
  2. Vagrantfile の取得

    ここで指定する generic/ubuntu2004 が,使用する box の名前です.

    vagrant init generic/ubuntu2004
    
  3. Vagrantfile の確認

    仮想マシンの設定(メモリ割り当て,共有ディレクトリなど)をカスタマイズする場合は,このファイルを編集します.

  4. 仮想マシンの構築

    --provider=virtualbox は,仮想化に VirtualBox を使うことを指定するオプションです.

    vagrant up --provider=virtualbox
    
  5. 動作確認のためのログインテスト

    アクセス情報:

    ユーザ名: vagrant

    パスワード: vagrant

    ポート番号: 2222 (このポート番号は「vagrant up --provider=virtualbox」実行時の出力で確認できます)

    以下のコマンドでログインします(SSH で仮想マシンに接続します):

    ssh -p 2222 vagrant@localhost
    

    初回接続時は「yes」を入力し(接続先を信頼するかの確認),その後パスワード「vagrant」を入力します.

    パスワード入力時は,画面に文字が表示されません(入力内容を見せないための仕様です).

    ログイン確認後は exit コマンドで終了します.

    exit
    
  6. 仮想マシンのシャットダウン
    vagrant halt
    
    基本操作:vagrant up で起動,vagrant halt で終了します

Vagrant を使った Ubuntu 18.04 仮想マシンの構築手順

以下は Ubuntu での操作画面ですが,Windows 環境でも同じ手順で実行できます.

Vagrant box の選択

Vagrant box は,以下の Web サイトで検索できます.

https://portal.cloud.hashicorp.com/vagrant/discover

Vagrant box を使用した Ubuntu 仮想マシンのインストール

Windows および Ubuntu 環境で共通の手順です.

  1. 作業用ディレクトリの準備

    作業用ディレクトリは,後で見分けやすい名前にします.

    mkdir penv
    cd penv
    
  2. Vagrantfile の取得

    ここで指定する generic/ubuntu1804 が,使用する box の名前です.

    vagrant init generic/ubuntu1804
    
  3. Vagrantfile の確認

    仮想マシンの設定(メモリ割り当て,共有ディレクトリなど)をカスタマイズする場合は,このファイルを編集します.

  4. 仮想マシンの構築と起動

    --provider=virtualbox は,仮想化に VirtualBox を使うことを指定するオプションです.

    vagrant up --provider=virtualbox
    
  5. 動作確認のためのログインテスト

    アクセス情報:

    ユーザ名: vagrant

    パスワード: vagrant

    ポート番号: 2201 (このポート番号は「vagrant up --provider=virtualbox」実行時の出力で確認できます)

    以下のコマンドでログインします(SSH で仮想マシンに接続します):

    ssh -p 2201 vagrant@localhost
    

    初回接続時は「yes」を入力し(接続先を信頼するかの確認),その後パスワード「vagrant」を入力します.

    パスワード入力時は,画面に文字が表示されません(入力内容を見せないための仕様です).

    ログイン確認後は exit コマンドで終了します.

    exit
    
  6. 仮想マシンのシャットダウン
    vagrant halt
    
基本操作:vagrant up で起動,vagrant halt で終了します

Windows 環境での Ubuntu デスクトップアプリケーションの利用方法

Vagrant 仮想マシンへの Ubuntu デスクトップ環境のインストール

  1. 仮想マシンへのログイン
    ssh -p 2222 vagrant@localhost
    
  2. パッケージ取得元を日本のミラーサーバーに変更し,ダウンロードを高速化します

    1 行目は,米国のミラー(us.archive.ubuntu.com)を日本のミラー(jp.archive.ubuntu.com)に置き換えます.2 行目は,ホスト名を指定しないミラー(archive.ubuntu.com)も日本のミラーに置き換えます.

    sudo sed -i 's/\/\/us.archive.ubuntu.com/\/\/jp.archive.ubuntu.com/g' /etc/apt/sources.list
    sudo sed -i 's/\/\/archive.ubuntu.com/\/\/jp.archive.ubuntu.com/g' /etc/apt/sources.list
    sudo apt -y update
    

    (以下省略)
  3. デスクトップ環境構築のための tasksel のインストール

    tasksel は,関連するパッケージをまとめて導入するツールです.

    sudo apt update
    sudo apt -y install tasksel
    
  4. tasksel を使用した Ubuntu デスクトップ環境のインストール

    1 行目で導入できるタスクの一覧を表示し,2 行目で ubuntu-desktop(デスクトップ環境一式)を導入します.

    sudo tasksel --list-tasks
    sudo tasksel install ubuntu-desktop
    
  5. リモートからの X11 接続の設定

    /etc/ssh/sshd_config ファイルで「X11UseLocalhost no」を設定します(X11 は,画面表示を別のコンピュータに転送する仕組みです).この設定により,リモートからの X11 転送を受け付けられるようになります.

    設定変更を反映するため,sshd サービスを再起動します.

    sudo service ssh restart
    

Windows から Ubuntu デスクトップアプリケーションを利用する方法

  1. MobaXterm クライアントのインストール

    MobaXterm は,X11 サーバ機能を内蔵した Windows 用の SSH クライアントです(仮想マシン側の GUI アプリを Windows 上に表示できます).

    Windows への MobaXterm インストール手順: 別ページで解説

  2. MobaXterm を使用した Ubuntu 仮想マシンへの接続
    ssh -p 2222 vagrant@localhost
    
  3. グラフィカルアプリケーションの動作確認

    下図は Firefox ブラウザを起動した例です.