VirtualBoxでminikubeやvagrantが起動しなくなった場合の対処（VERR_INTNET_FLT_IF_NOT_FOUND）

# はじめに
Windows 10 Proにて普通にOracle VirtualBoxを利用していたところ、いつの間にかVMが起動しなくなってしまった状況になりました。
基本的に、Stack Overflowの下記コメントに記載の内容で対処できました。

[virtualbox - Failed to open/create the internal network Vagrant on Windows10 - Stack Overflow](https://stackoverflow.com/a/33733454)

ただ、VirtualBoxを利用するソフトウェアである、minikubeやVagrantのエラーメッセージから上記にたどり着くまでにてこずったので、左記ソフトウェアのエラーメッセージも併せて記録に残しておきたいと思います。

# TL;DR
- NDIS6 host network filter driverには不具合があるのは有名な話である模様
- 「VirtualBox NDIS6 Bridged Networking driver」を無効にし、対象のEthernet AdapterをDisable/Enableする

# 検証した環境
- ホストOS:
    - Windows 10 Pro 10.0.17763 Build 17763
    - Hyper-V無効
    - Oracle VirtualBox: 6.0.6 r130049
- エラーを確認したソフトウェア
    - Vagrant 2.2.2
    - minikube v1.0.1

# 対処方法
下記記事のコメント通りに対応したら無事、Vagrant/minikubeが起動することを確認できました。

[virtualbox - Failed to open/create the internal network Vagrant on Windows10 - Stack Overflow](https://stackoverflow.com/a/33733454)


なお、ほかの方のコメントで「-msiparams NETWORKTYPE=NDIS5」オプションを付けてVirtualBoxを再インストールすることでも対処できるという話もありましたので、試してみましたが、私の環境ではうまく動作しませんでした。

```:インストーラに引数を付けて実行
> VirtualBox-6.0.6-130049-Win.exe -msiparams NETWORKTYPE=NDIS5
```

状況としては、インストール直後に作成される「VirtualBox Host-Only Ethernet Adapter」（192.168.56.1/24がアサインされるもの）が生成されず、またvagrant upやminikube startを実行しても、Ethernet Adapterが作成されませんでした。


# 各ソフトウェアで出力されるエラー
それぞれどのようなエラーが出力されたか、参考情報として載せておきます。

## Vagrant
```
$ vagrant up
Bringing machine 'stdsv5' up with 'virtualbox' provider...
==> stdsv5: Importing base box 'gbailey/amzn2'...
==> stdsv5: Matching MAC address for NAT networking...
==> stdsv5: Checking if box 'gbailey/amzn2' is up to date...
==> stdsv5: Setting the name of the VM: vagrant_amazonlinux2_stdsv5_1557044119670_49445
==> stdsv5: Clearing any previously set network interfaces...
==> stdsv5: Preparing network interfaces based on configuration...
    stdsv5: Adapter 1: nat
    stdsv5: Adapter 2: hostonly
==> stdsv5: Forwarding ports...
    stdsv5: 22 (guest) => 2222 (host) (adapter 1)
==> stdsv5: Running 'pre-boot' VM customizations...
==> stdsv5: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "18f9cf87-0d3b-4ea4-9540-a78462ab4615", "--type", "headless"]

Stderr: VBoxManage.exe: error: Failed to open/create the internal network 'HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter #2' (VERR_INTNET_FLT_IF_NOT_FOUND).
VBoxManage.exe: error: Failed to attach the network LUN (VERR_INTNET_FLT_IF_NOT_FOUND)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole

```


## minikube

```
>minikube start
o   minikube v1.0.1 on windows (amd64)
$   Downloading Kubernetes v1.14.1 images in the background ...
>   Creating virtualbox VM (CPUs=2, Memory=2048MB, Disk=20000MB) ...

!   Unable to start VM: create: creating: Unable to start the VM: C:\Program Files\Oracle\VirtualBox\VBoxManage.exe startvm minikube --type headless failed:
VBoxManage.exe: error: Failed to open/create the internal network 'HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter #3' (VERR_INTNET_FLT_IF_NOT_FOUND).
VBoxManage.exe: error: Failed to attach the network LUN (VERR_INTNET_FLT_IF_NOT_FOUND)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole

Details: 00:00:03.700110 Power up failed (vrc=VERR_INTNET_FLT_IF_NOT_FOUND, rc=E_FAIL (0X80004005))

*   Sorry that minikube crashed. If this was unexpected, we would love to hear from you:
-   https://github.com/kubernetes/minikube/issues/new
```

# Furthermore
そういえばDocker Toolboxもインストール時にNDIS6ドライバを使わないように指定する項目がありました。これも恐らく同じ原因なのでしょう。

Install Docker Toolbox on Windows | Docker Documentation
https://docs.docker.com/toolbox/toolbox_install_windows/#looking-for-troubleshooting-help

> **Looking for troubleshooting help?**
Typically, the above steps work out-of-the-box, but some scenarios can cause problems. If your docker run hello-world didn’t work and resulted in errors, check out Troubleshooting for quick fixes to common problems.
> 
> A Windows specific problem you might encounter relates to the NDIS6 host network filter driver, which is known to cause issues on some Windows versions. For Windows Vista systems and newer, VirtualBox installs NDIS6 driver by default. Issues can range from system slowdowns to networking problems for the virtual machine (VM). If you notice problems, re-run the Docker Toolbox installer, and select the option to install VirtualBox with the NDIS5 driver.