Windows上のUbuntu(Virtual Box)で、apt-get updateが実行できなかったことを解決した

# はじめに
VirtualBox（on Windows）でのLinux開発環境から飛び立ち、
最近はノートパソコン（Linuxマシン）で開発を行っています。

しかし ふと使い慣れたWindowsの環境が恋しくなり、VirtualBoxに戻ってきました。
そしてVirtualBox内のUbuntuでJavaをインストールしようとしたところ、エラーが返ってきました。（エラー文は後述）

`apt install openjdk-14-jdk-headless` はおろか、
`sudo apt-get update` すらエラーが返ってくる始末です。
`sudo apt update` も同様です。

Javaのインストール用のコマンドなら普段入力することはないため、
スペルミスやその他の原因が何かあるのだろうと予想します。

ところが、`sudo apt update` という日常的に入力するコマンドまで弾かれるということで、
何か根本的なものが問題になっているのではと考えました。

この問題を解決するために奮闘したのが、今回の記事です。


なお、私のケースでは解決に結びつかなかったものも含め、
同様の現象が発生する人たちに向けて、**参照した資料すべてのURLを [#参考](#参考) に記載しました。**

# この記事で伝えたいことを簡単にまとめると？

WindowsでVirtualBoxを起動するときは、Hyper-V（ハイパーバイザー）を切っておかないと正常に動作しないから、気をつけよう。
特にWSLやDockerのような他の仮想化技術に触れたあとにVirtualBoxに帰ってくると、起こりがちだと思う。

# 実行環境
- Windows 10
- Virtual Box 6.1
- Ubuntu 20.04(on Virtual Box)

# エラー内容

あまりにも長いので、重複していそうなところは ある程度省略しています。

> Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [109 kB]
> Get:2 http://jp.archive.ubuntu.com/ubuntu focal InRelease [265 kB]       
> Get:3 http://jp.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
> Get:4 http://jp.archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB]
> Get:5 http://jp.archive.ubuntu.com/ubuntu focal/main i386 Packages [718 kB]
> Get:6 http://jp.archive.ubuntu.com/ubuntu focal/main amd64 Packages [970 kB]
> Err:6 http://jp.archive.ubuntu.com/ubuntu focal/main amd64 Packages
>   Hash Sum mismatch
>   Hashes of expected file:
>    - Filesize:970408 [weak]
> 
> ～中略～
> 
> E: Failed to fetch http://jp.archive.ubuntu.com/ubuntu/dists/focal/main/binary-amd64/by-hash/SHA256/7757921ff8feed9c3934a0c9936d441ba4a238bee3ea6c8c1df5cbcd43fc9861  Hash Sum mismatch
>    Hashes of expected file:
>     - Filesize:970408 [weak]
> 
> ～中略～
> 
> E: Some index files failed to download. They have been ignored, or old ones used instead.


# 解決方法
『Windowsの機能の有効化または無効化』から、『Windows ハイパーバイザー プラットフォーム』のチェックを外し、Windowsマシンごと再起動する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549712/2a3b8378-dc44-6cc5-1627-a59c2260b3e9.png)


> また、Windows独自の仮想化機能であるHyper-vが有効になっている場合、VT-xやAMD-vを使うことができませんので、無効化する必要があります。この設定はコントロールパネルから操作することができます。
[OracleVM VirtualBoxのインストール手順＜Windows向け＞](https://sukkiri.jp/technologies/virtualizers/virtualbox/virtualbox-win_install.html)

# 参考
- [OracleVM VirtualBoxのインストール手順＜Windows向け＞](https://sukkiri.jp/technologies/virtualizers/virtualbox/virtualbox-win_install.html)
- [WSL2とHyper-Vの関係](https://qiita.com/matarillo/items/ca1eecf8f9a3cd76f9ce)
- [Windows 10 での Hyper-V の有効化 | Microsoft Docs](https://docs.microsoft.com/ja-jp/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v)
- [apt-get更新「ハッシュ合計の不一致」を修正するにはどうすればよいですか](https://qastack.jp/unix/116641/how-do-you-fix-apt-get-update-hash-sum-mismatch)
- [「apt-get update」は常にフェッチに失敗しました](https://qastack.jp/ubuntu/711794/apt-get-update-always-failed-to-fetch)
- [Ubuntu日本語フォーラム / ソフトウェアアップデートできません。](https://forums.ubuntulinux.jp/viewtopic.php?id=14415)
- [apt-get update 時にHash Sum mismatch エラーが出力される場合の対処](https://qiita.com/TsutomuNakamura/items/93e4a4ea0e587160fcaf)
- [Ubuntuのapt-get updateで「File has unexpected size」エラー解消](https://qiita.com/nakano-shingo/items/b57557ec490096294cb4)
- [Ubuntuのapt-get updateで「ハッシュサムが適合しません」と出た時の対処法](https://www.nemotos.net/?p=1428)
- [Ubuntu apt-get install にて Failed to fetch が発生する場合](https://keruuweb.com/ubuntu-apt-get-install-%E3%81%AB%E3%81%A6-failed-to-fetch-%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88/)
- [Ubuntu 18.04 sudo apt-get updateコマンド が Failed to fetchエラーになった時の解決法](https://qiita.com/miriwo/items/bc2c0f18ee7d6f337ed0)