はじめに
結城智久(@TomohisaYuuki)です。
Virtual Boxを使えば簡単に仮想環境を構築することができます。
Virtual BoxはGUI操作ができますが、コマンド操作でVMが作成できないか気になったので調べて手順をまとめました。
環境
Virtual Boxのインストール
以下のコマンドをTerminalに打ってHomebrew経由でインストールできます。
brew cask install virtualbox
CentOSのディスクイメージを取得
CentOS公式サイトから取得します。
www.centos.org
「CentOS Linux」の「V(yyyy)」タブの「ISO」カラムから「x86-64」をクリック。

以下からいずれかのリンクを選択。

必要なイメージファイルを選択してダウンロード。

ファイルの種類は以下の通りです。
- 〜dvd1.iso:インストールに必要なパッケージが全部入ったISOイメージ。
- 〜boot.iso:インストールに必要なパッケージをネットからダウンロードしてインストールするためのISOイメージ。
- 〜minimal.iso:必要最低限のパッケージだけが含まれているISOイメージ。インストール後にyumコマンド等であとから自分で必要なパッケージを揃える必要がある。
VM作成+CentOSインストール
流れは以下のとおりです。
- VirtualBox上にVMを作成
- メモリ割り当て
- ハードディスクの作成と割り当て
- 光学ドライブの割り当てとディスクイメージのマウント
- その他の設定
- VM起動・CentOSインストール
1.Virtual Box上にVMを作成
最初にVirtualBoxでVMを作成します。
ついでに作成したVMをVirtual BoxのGUIからも確認できるように設定しておきます。
VBoxManage createvm --name CentOS-8.2.2004-x86_64 --groups /Linux --ostype RedHat_64 --register
コマンド | オプション | 意味 |
createvm | 新しいVMの設定ファイルを作成。 | |
--name | VMの名称を設定。 | |
--groups | OSのグループを設定。CentOSの場合はLinux。 | |
--ostype | OSの種類を設定。CentOSの場合はRedHat_64。 | |
--register | VM設定ファイルの内容をVirtual Boxに登録してGUIでも見られるようにする。 |
2.メモリ割り当て
VMを作成しただけでは動作させることができないので、リソースを割り当てていきます。
まずは仮想メモリを割り当てます。今回は1GB(1024MB)にしますが、以下2点に注意してください。
- 端末のメモリ容量より大きな値を指定しない
- VM起動中はVMと端末でリソースを分け合うため、端末OS分のメモリ容量を考えた値を指定する(端末のメモリが16GBでVMに1GB割り当てた場合、端末OSが使用できるメモリ容量は残りの15GB分のみ)
VBoxManage modifyvm CentOS-8.2.2004-x86_64 --memory 1024
コマンド | オプション | 意味 |
modifyvm | 作成済みVMのプロパティを変更する。変更対象はオプションで指定。 | |
—memory | 割り当てメモリサイズをMB単位で指定。 |
3.ハードディスクの作成と割り当て
続いてハードディスクを割り当てます。
ハードディスクはVMに追加したストレージコントローラーに作成した仮想HDを接続することで割り当てます。
今回はVirtual Boxが提供しているvdi形式で容量20GBの仮想HDを作成し、VMに追加したSATA形式のストレージコントローラーに接続することで割り当てました。
# 仮想HDの作成 VBoxManage createvdi --filename CentOS-8.2.2004-x86_64.vdi --size 20000 # ストレージコントローラの追加 VBoxManage storagectl CentOS-8.2.2004-x86_64 --name SATA --add sata --portcount 4 --bootable on # 仮想ハードディスクの割り当て VBoxManage storageattach CentOS-8.2.2004-x86_64 --storagectl SATA --port 1 --type hdd --medium CentOS-8.2.2004-x86_64.vdi
コマンド | オプション | 意味 |
createvdi | 仮想HDをvdi形式で作成する。 | |
--filename | 仮想HDのファイル名を指定する。 | |
--size | 仮想HDのサイズをMB単位で指定する。 | |
storagectl | ストレージコントローラの操作を行う。操作対象はオプションで指定。 | |
--name | ストレージコントローラの名称を指定。 | |
--add | ストレージコントローラが接続するシステムバスの形式を指定。 | |
--portcount | ストレージコントローラがサポートするポート数を指定。 | |
--bootable | ブート可能か指定。 | |
storageattach | 作成済みのストレージコントローラに仮想HDを接続する。 | |
--stiragectl | 接続するストレージコントローラを指定。 | |
--port | 接続するストレージコントローラのポート番号を指定。 | |
--type | 接続する仮想HDの形式を指定。 | |
--medium | 接続する仮想HDの名称を指定。 |
4. 光学ドライブの割り当てとディスクイメージのマウント
インストールメディアを読み込む必要があるため、光学ドライブも割り当てます。
「3.ハードディスクの作成と割り当て」で追加したSATA形式のストレージコントローラーの空きポートに仮想光学ドライブを接続します。
ついでにインストールメディアのマウントも行っておきます。
VBoxManage storageattach CentOS-8.2.2004-x86_64 --storagectl SATA --port 2 --type dvddrive --medium ~/CentOS-8.2.2004-x86_64-dvd1.iso
5.その他の設定
念の為以下の内容を設定しておきます。
VMのブート順は設定必須です。
グラフィックコントローラーはデフォルト値「vboxvga」だと表示がおかしくなったため「vmsvga」を設定しています。
VBoxManage modifyvm CentOS-8.2.2004-x86_64 --vram 16 --graphicscontroller vmsvga --cpus 1 --boot1 dvd --boot2 disk --acpi on --ioapic on
コマンド | オプション | 意味 |
modifyvm | 作成済みVMのプロパティを変更する。変更対象はオプションで指定。 | |
--vram | 割り当てるビデオメモリーサイズをMB単位で指定。 | |
--cpus | 割り当てる仮想CPU数を指定。 | |
--graphicscontroller | VMのグラフィックコントローラーを指定。指定できるのはnone/vboxvga/vmsvga/vboxsvga | |
--boot1〜4 | VMのブート順を指定。指定できるのはnone/floppy/dvd/disk/net | |
--acpi | ACPIをサポートするか指定。 | |
--ioapic | IOAPICをサポートするか指定。 |
6.VMの起動・CentOSインストール
以下のコマンドを打つとVMが起動します。
VBoxManage startvm CentOS-8.2.2004-x86_64
コマンド | オプション | 意味 |
startvm | 指定したVMを起動する。 |
VMの画面が表示され、インストールメディアが読み込まれて以下の画面が表示されます。
「Install CentOS Linux 8」を選択します。

インストール言語を選択します。
「日本語」を選択して「続行」をクリック。

インストール概要では以下を設定します。
- ネットワークとホスト名:Ethernet (enp0s3) をオンにする
- 時刻と日付:「アジア」から「東京」を選択する
- ソフトウェアの選択:「サーバー(GUI 使用)」を選択する
- インストール先:既に選択されているので、「完了」をクリック
全ての設定を完了したら、「インストールの開始」をクリック。

インストールが開始されます。
インストールされているうちに「rootパスワード」と「ユーザの作成」を行っておきます。

完了したら「再起動」はクリックせず、以下のコマンドを実行してから再起動します。

# VMをシャットダウン VBoxManage controlvm CentOS-8.2.2004-x86_64 poweroff # 光学ドライブを空に VBoxManage storageattach CentOS-8.2.2004-x86_64 --storagectl SATA --port 2 --type dvddrive --medium emptydrive # ブート順変更 VBoxManage modifyvm CentOS-8.2.2004-x86_64 --boot1 disk --boot2 dvd # VM起動 VBoxManage startvm CentOS-8.2.2004-x86_64
再起動すると以下の画面が表示されるので、クリックしてライセンスに同意します。
(場合によってはVMを起動してもエラーで落ちることがあるので、正常に起動するまでVMの再起動や、Mac本体の再起動を行ってください)


ログイン画面が表示されます。
これでインストール完了です。
