Debian wheezy に VirtualBox をインストールしてCUIコマンドだけでゲストOSイメージ作成をしようとして失敗

Debian wheezy に VirtualBox をインストールしてCUIコマンドだけでゲストOSイメージ作成をしようとして失敗

参考資料


-VirtualBox - Debian Wiki
--https://wiki.debian.org/VirtualBox

-Oracle VM VirtualBox バージョン 4.1.12 のコマンドライン操作
--http://www.kkaneko.com/rinkou/virtualbox/virtualboxusage.html

-VBoxManage modifyvmコマンド | VirtualBox Mania
--http://vboxmania.net/content/vboxmanage-modifyvm%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89

-VBoxManage createhdコマンド | VirtualBox Mania
--http://vboxmania.net/content/vboxmanage-createhd%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89

-VBoxManage createvmコマンド | VirtualBox Mania
--http://vboxmania.net/content/vboxmanage-createvm%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89

-Linux - VirtualboxのゲストOSをコマンドラインから操作 - Qiita
--http://qiita.com/tukiyo3/items/5ecea7f95cb961f07194

-VBoxManageを使ってVagrant Boxを作成する方法(第1回)〜VBoxManageを使って仮想マシンを作成する | 情シスハック
--http://success.tracpath.com/blog/2013/12/11/vboxmanage%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6vagrant-box%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E7%AC%AC%EF%BC%91%E5%9B%9E%EF%BD%9Evboxmanage%E3%82%92%E4%BD%BF%E3%81%A3/

-Oracle VM VirtualBox User Manual
--http://www.virtualbox.org/manual/

-Debian -- 最小の CD を使って、ネットワークインストールする
--https://www.debian.org/CD/netinst/index.ja.html

-VirtualBox | saito's memo
--http://memo.saitodev.com/home/virtualbox/

-How to create and start VirtualBox VM without GUI - Linux FAQ
--http://xmodulo.com/how-to-create-and-start-virtualbox-vm-without-gui.html


Debian に VirtualBox をインストール


VirtualBox 本体をインストール。

# uname -mrsv
Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64

# uname -r|sed 's,[^-]*-[^-]*-,,'
amd64

# apt-get install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') virtualbox
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
dkms libaudio2 libgsoap2 libmng1 libpython2.7 libqt4-network libqt4-opengl
libqt4-xml libqtcore4 libqtdbus4 libqtgui4 libvncserver0
linux-headers-3.2.0-4-amd64 linux-headers-3.2.0-4-common linux-kbuild-3.2
virtualbox-dkms virtualbox-qt
提案パッケージ:
nas libicu48 qt4-qtconfig libvncserver0-dbg virtualbox-guest-additions-iso
vde2
以下のパッケージが新たにインストールされます:
dkms libaudio2 libgsoap2 libmng1 libpython2.7 libqt4-network libqt4-opengl
libqt4-xml libqtcore4 libqtdbus4 libqtgui4 libvncserver0
linux-headers-3.2.0-4-amd64 linux-headers-3.2.0-4-common linux-headers-amd64
linux-kbuild-3.2 virtualbox virtualbox-dkms virtualbox-qt
アップグレード: 0 個、新規インストール: 19 個、削除: 0 個、保留: 0 個。
31.7 MB のアーカイブを取得する必要があります。
この操作後に追加で 122 MB のディスク容量が消費されます。
続行しますか [Y/n]? y
(中略)
virtualbox (4.1.18-dfsg-2+deb7u3) を設定しています ...
[ ok ] Stopping VirtualBox kernel modules.
[....] Starting VirtualBox kernel modules[....] No suitable module for running k[FAIL found ... failed!
failed!
invoke-rc.d: initscript virtualbox, action "restart" failed.
dkms (2.2.0.3-1.2) を設定しています ...
virtualbox-dkms (4.1.18-dfsg-2+deb7u3) を設定しています ...
Loading new virtualbox-4.1.18 DKMS files...
(中略)
DKMS: install completed.
[ ok ] Stopping VirtualBox kernel modules.
[ ok ] Starting VirtualBox kernel modules.

バージョンを確認。

$ VBoxHeadless -V
Oracle VM VirtualBox Headless Interface 4.1.18_Debian
(C) 2008-2014 Oracle Corporation
All rights reserved.

4.1.18_Debianr78361

バージョン 4.1.18 に合った Extension Pack を Download_Old_Builds_4_1 – Oracle VM VirtualBox https://www.virtualbox.org/wiki/Download_Old_Builds_4_1 から探してインストール。

# wget -c http://download.virtualbox.org/virtualbox/4.1.18/Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack

# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully installed "Oracle VM VirtualBox Extension Pack".

# VBoxManage list extpacks
Extension Packs: 1
Pack no. 0: Oracle VM VirtualBox Extension Pack
Version: 4.1.18
Revision: 78361
Description: USB 2.0 Host Controller, VirtualBox RDP, PXE ROM with E1000 support.
VRDE Module: VBoxVRDP
Usable: true
Why unusable:

作成可能なゲストOSイメージ一覧


VBoxManage list ostypes で作成可能なゲストOSイメージのリストを表示できる。Windows, Mac, FreeBSD などたくさん。

$ VBoxManage list ostypes | grep '^ID.*\(Linux\|Debian\)';
ID: Linux22
ID: Linux24
ID: Linux24_64
ID: Linux26
ID: Linux26_64
ID: ArchLinux
ID: ArchLinux_64
ID: Debian
ID: Debian_64
ID: Linux


仮想マシンを作成



$ VBoxManage createvm
Usage:

VBoxManage createvm --name <name>
[--ostype <ostype>]
[--register]
[--basefolder <path>]
[--uuid <uuid>]


$ VBoxManage createvm --name mydebian --ostype Debian_64 --basefolder /home/hoge/vm/
Virtual machine 'mydebian' is created.
UUID: 9fbd36af-def3-4ad1-9d03-0b5aeec21140
Settings file: '/home/hoge/vm/mydebian/mydebian.vbox'

$ ls -lR /home/hoge/vm
/home/hoge/vm:
合計 4
drwx------ 2 hoge hoge 4096 9月 26 21:23 mydebian

/home/hoge/vm/mydebian:
合計 8
-rw------- 1 hoge hoge 5747 9月 26 21:22 mydebian.vbox



$ VBoxManage registervm
Usage:

VBoxManage registervm <filename>



$ VBoxManage registervm /home/hoge/vm/mydebian/mydebian.vbox


$ VBoxManage list vms
"mydebian" {9fbd36af-def3-4ad1-9d03-0b5aeec21140}




仮想マシンの設定


ネットワークインターフェースを調べる

$ VBoxManage list bridgedifs
Name: eth0
GUID: 12345678-0000-4000-8000-a12345b67890
Dhcp: Disabled
IPAddress: 192.168.24.10
NetworkMask: 255.255.255.0
IPV6Address: 0000:0000:0000:0000:abcd:cafe:babe:aaaa
IPV6NetworkMaskPrefixLength: 64
HardwareAddress: ca:fe:ba:be:00:00
MediumType: Ethernet
Status: Up
VBoxNetworkName: HostInterfaceNetworking-eth0

メモリ512MB

$ VBoxManage modifyvm mydebian --memory 512 --acpi on --hwvirtex on --hwvirtexexcl on --nestedpaging on --largepages on --vtxvpid on --nic1 bridged --bridgeadapter1 eth0 --usb on --usbehci off


仮想ハードディスクの作成


$ VBoxManage createhd
Usage:

VBoxManage createhd --filename <filename>
--size <megabytes>|--sizebyte <bytes>
[--format VDI|VMDK|VHD] (default: VDI)
[--variant Standard,Fixed,Split2G,Stream,ESX]



$ VBoxManage createhd --filename /home/hoge/vm/mydebian/hdd.vdi --size 1000
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Disk image created. UUID: 1a3a5430-4e4a-4697-9f76-c407b1512078






ストレージコントローラーを作成



$ VBoxManage storagectl
Usage:

VBoxManage storagectl <uuid|vmname>
--name <name>
[--add ide|sata|scsi|floppy|sas]
[--controller LSILogic|LSILogicSAS|BusLogic|
IntelAHCI|PIIX3|PIIX4|ICH6|I82078]
[--sataideemulation<1-4> <1-30>]
[--sataportcount <1-30>]
[--hostiocache on|off]
[--bootable on|off]
[--remove]


VBoxManage storagectl mydebian --name mydebian_sata --add sata --bootable on





仮想ハードディスクを仮想マシンに割り当てる


$ VBoxManage storageattach mydebian --storagectl mydebian_sata --port 1 --type hdd --medium /home/hoge/vm/mydebian/hdd.vdi




インストール用isoイメージをダウンロードする


wget -c http://cdimage.debian.org/debian-cd/7.6.0/amd64/iso-cd/debian-7.6.0-amd64-netinst.iso


仮想DVDドライブを割り当てる


$ VBoxManage storageattach mydebian --storagectl mydebian_sata --port 2 --type dvddrive --medium /home/hoge/vm/debian-7.6.0-amd64-netinst.iso






仮想マシンを起動する




$ VBoxManage startvm mydebian --type headless
Waiting for VM "mydebian" to power on...
VM "mydebian" has been successfully started.




仮想マシンの電源をOFFにする(電ブチ)


VBoxManage controlvm mydebian poweroff





$ VBoxHeadless -startvm mydebian
Oracle VM VirtualBox Headless Interface 4.1.18_Debian
(C) 2008-2014 Oracle Corporation
All rights reserved.










$ VBoxHeadless --startvm mydebian &
[1] 27781
$ Oracle VM VirtualBox Headless Interface 4.1.18_Debian
(C) 2008-2014 Oracle Corporation
All rights reserved.


How to create and start VirtualBox VM without GUI - Linux FAQ
http://xmodulo.com/how-to-create-and-start-virtualbox-vm-without-gui.html






$ VBoxHeadless --startvm mydebian &
[1] 2269
$ Oracle VM VirtualBox Headless Interface 4.1.18_Debian
(C) 2008-2014 Oracle Corporation
All rights reserved.

VRDE server is listening on port 3389.



# aptitude install rdesktop





rdesktop -a 16 localhost














VirtualBox の「拡張機能パッケージ」をアップデートできない場合に、予め削除しておくフォルダ | すぐに忘れる脳みそのためのメモ
http://jutememo.blogspot.jp/2013/10/virtualbox.html

> これに対処するには、アンインストーラーで VirtualBox を削除してもダメ。
>
> C:\Program Files\Oracle\VirtualBox\ExtensionPacks\Oracle_VM_VirtualBox_Extension_Pack-_-uninst
>
> を削除すると、拡張機能パッケージをアップデートできるようになる。



VirtualBox 本体と異なるバージョンの Extension Pack をインストールして失敗。アンインストールもできない。。。

# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.3.16-95972.vbox-extpack
0%...
Progress state: NS_ERROR_FAILURE
VBoxManage: error: Failed to install "/root/Oracle_VM_VirtualBox_Extension_Pack-4.3.16-95972.vbox-extpack": VBoxExtPackRegister returned VERR_VERSION_MISMATCH, pReg=0000000000000000 ErrInfo='Helper version mismatch - expected 0x10002 got 0x10000'

# VBoxManage list extpacks
Extension Packs: 1
Pack no. 0: Oracle VM VirtualBox Extension Pack
Version: 4.3.16
Revision: 95972
Description: USB 2.0 Host Controller, Host Webcam, VirtualBox RDP, PXE ROM with E1000 support.
VRDE Module: VBoxVRDP
Usable: false
Why unusable: VBoxExtPackRegister returned VERR_VERSION_MISMATCH, pReg=0000000000000000 ErrInfo='Helper version mismatch - expected 0x10002 got 0x10000'

# VBoxManage extpack uninstall VBoxVRDP
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully uninstalled "VBoxVRDP".

# VBoxManage extpack cleanup
Successfully performed extension pack cleanup

# VBoxManage list extpacks
Extension Packs: 1
Pack no. 0: Oracle VM VirtualBox Extension Pack
Version: 4.3.16
Revision: 95972
Description: USB 2.0 Host Controller, Host Webcam, VirtualBox RDP, PXE ROM with E1000 support.
VRDE Module: VBoxVRDP
Usable: false
Why unusable: VBoxExtPackRegister returned VERR_VERSION_MISMATCH, pReg=0000000000000000 ErrInfo='Helper version mismatch - expected 0x10002 got 0x10000'


/usr/lib/virtualbox/ExtensionPacks の中身を消したら削除できた。 # VBoxManage list extpacks で0件に。


$ VBoxManage list extpacks
Extension Packs: 0


$ wget -c http://downloads.sourceforge.net/project/virtualboximage/Debian%20GNU_Linux/6.0/debian_6.0.6.vdi.7z