16
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Windows10でAmazonマシンイメージ(AMI)のVagrant boxを起動する

Last updated at Posted at 2017-09-29

はじめに

Windows10でVagrantを使用してAMIの仮想端末を作るのにハマったので共有します。
Windows10と書きましたが、Windows全部だと思います。

環境

  • Windows10
  • Vagrant ver.2.0.0
  • Virtual box ver.5.1.28

コマンド


# vagrant init mvbcoding/awslinux
# vagrant up

実行結果


running `vagrant init`.
PS C:\my_program\vagrant\ami> vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'mvbcoding/awslinux' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Loading metadata for box 'mvbcoding/awslinux'
    default: URL: https://vagrantcloud.com/mvbcoding/awslinux
==> default: Adding box 'mvbcoding/awslinux' (v2017.03.0.20170401) for provider: virtualbox
    default: Downloading: https://vagrantcloud.com/mvbcoding/boxes/awslinux/versions/2017.03.0.20170401/providers/virtualbox.box
    default: Progress: 100% (Rate: 5530k/s, Estimated time remaining: --:--:--)
==> default: Successfully added box 'mvbcoding/awslinux' (v2017.03.0.20170401) for 'virtualbox'!
==> default: Importing base box 'mvbcoding/awslinux'...
Progress: 90%There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["import", "\\\\?\\C:\\Users\\sh-ogawa\\.vagrant.d\\boxes\\mvbcoding-VAGRANTSLASH-awslinux\\2017.03.0.20170401\\virtualbox\\box.ovf", "--vsys", "0", "--vmname", "amzn-ami-hvm-201703020170401-x86_64-gp2-201704051103-guest-72463CQOefdxv_default_1491390639577_72670_1506659512908_35877", "--vsys",
"0", "--unit", "7", "--disk", "C:\\Users\\sh-ogawa\\virtualbox_vm\\amzn-ami-hvm-201703020170401-x86_64-gp2-201704051103-guest-72463CQOefdxv_default_1491390639577_72670_1506659512908_35877\\box-disk001.vmdk"]

Stderr: 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Interpreting \\?\C:\Users\sh-ogawa\.vagrant.d\boxes\mvbcoding-VAGRANTSLASH-awslinux\2017.03.0.20170401\virtualbox\box.ovf...
OK.
0%...
Progress state: VBOX_E_FILE_ERROR
VBoxManage.exe: error: Appliance import failed
VBoxManage.exe: error: Could not create the imported medium 'C:\Users\sh-ogawa\virtualbox_vm\amzn-ami-hvm-201703020170401-x86_64-gp2-201704051103-guest-72463CQOefdxv_default_1491390639577_72670_1506659512908_35877\box-disk001.vmdk'.
VBoxManage.exe: error: VMDK: could not create new file 'C:\Users\sh-ogawa\virtualbox_vm\amzn-ami-hvm-201703020170401-x86_64-gp2-201704051103-guest-72463CQOefdxv_default_1491390639577_72670_1506659512908_35877\box-disk001.vmdk' (VERR_ALREADY_EXISTS)
VBoxManage.exe: error: Details: code VBOX_E_FILE_ERROR (0x80bb0004), component ApplianceWrap, interface IAppliance
VBoxManage.exe: error: Context: "enum RTEXITCODE __cdecl handleImportAppliance(struct HandlerArg *)" at line 886 of file VBoxManageAppliance.cpp

何かエラーになった。
「VERR_ALREADY_EXISTS」とか言ってるけど、該当のファイルあるんだけど・・・

ログ見てると、フォルダ名がやたら長いことが気になったので、削ってみることに・・・

box.ovfファイルを編集する

以下にあるのでエディタで開いて編集する。

C:\Users\sh-ogawa\.vagrant.d\boxes\mvbcoding-VAGRANTSLASH-awslinux\2017.03.0.20170401\virtualbox
※sh-ogawaはWindowsのログインユーザー

ファイルを開くと

amzn-ami-hvm-

からはじまる長大な記述が3か所あるので削る。
記事中のものだと、

amzn-ami-hvm-201703020170401-x86_64-gp2-201704051103-guest-72463CQOefdxv_default_1491390639577_72670

guestよりも後の文字を全て消せば事足りるはずです。
足らなかったら、もっと削除してしまってOK。

再チャレンジ


# vagrant up

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'mvbcoding/awslinux'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'mvbcoding/awslinux' is up to date...
==> default: Setting the name of the VM: tests_default_1506660373002_76666
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => C:/my_program/vagrant/ami/tests

今度は間違いなく立ち上がった。

終わりに

Vagrant Cloud上で配られているAMIをWindowsで使う場合は、フォルダ名が長すぎるため、
box.ovfファイルをいぢくる必要がある💢

実はネットワーク周りのエラーも出たのですが、既に再現できず。
「RTR3InitEx failed with rc=-1912」というエラーがvirtualboxのログに書かれているので、その場合は

  1. Virtual boxをアンインストール
  2. Windows再起動
  3. コントロール パネル\ネットワークとインターネット\ネットワーク接続で、VirtualBoxnアダプターが削除されていることを確認
  4. Virtual boxをインストール
    で直りました。

これは恐らく、はじめ意味が判らなくて、とりあえずVagrantとVirtual boxの最新バージョンを入れなおしたので、
おかしくなったのかな~と思っています。

16
14
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?