Docker for Windowsを使うためにHyper-Vを有効にしたらVirtualBoxが使えなくなった。
Hyper-V上で仮想環境を設定したときに色々戸惑ったのでメモ。

概要

Windowsの仮想化システムHyper-V上にkali linuxをインストールする。
今回はkali linuxのインストール手順だが、CentOSやDebianでも同じ方法でインストールできる。

kali linuxとは

Debianベースのペネトレーションテスト向け機能が豊富なディストリビューション。
セキュリティの脆弱性診断などに使う。

事前準備

Hyper-Vの有効化

「Hyper-V 有効化」などで調べればたくさん記事が出てくるので省略。

kali linuxのダウンロード

Offensive securityにHyper-V用のイメージ(.vhdx)があるのでそこから直接ダウンロードすると作業が少なくてすむ。
圧縮されているので事前に解凍しておくこと。

作業内容

1. Hyper-Vマネージャーを起動し、新規仮想マシンを作成する。

  • 名前と場所の指定:kali linux・・・お好みで
  • 世代の指定:第1世代
  • メモリの割り当て:1024MB・・・これ以上であれば大丈夫だと思う
  • ネットワークの構築:接続しない・・・あとで設定
  • 仮想ハードディスクの接続・・・既存の仮想ハードディスクを使用する 事前にダウンロードしていたファイルの中に「Kali-Linux-xxxxxx-hyperv-amd64.vhdx」ファイルがあるので指定する。
    ※xxxxは日付が入る。
    amd64となっているが関係なさそう。IntelのCPUでも動きました。

2. 仮想マシンの確認

  • Hyper-Vマネージャー上から作成した「kali linux」を選択し、起動。
  • 起動し終わったら接続ボタンを押すとkaliのウインドウが出てくる。
  • ユーザ名:root 、パスワード:toor (kaliのデフォルト) でログインできることを確認。

3. ネットワーク設定

  • Hyper-Vマネージャーに戻り、仮想スイッチマネージャーを開く。
  • 「外部」を選択して仮想スイッチの作成
  • 名前:switch for kali などわかりやすい名前をつける
  • 接続の種類:外部ネットワーク
    ※注意:ここでは通信してる物理NICを指定する。無線で利用している場合は無線側のNICを指定しないと通信できない。
    ☑:管理オペレーティングシステムにこのネットワークアダプタの共有を許可する
  • OKを押す。
  • kaliの設定→ネットワークアダプター→仮想スイッチで作成した「switch for kali」を選択。
  • kaliにログインし、ping 8.8.8.8などで外部に通信ができるか試す。
    ※kali側でreboot等は不要。

以上でインストール&ネットワーク設定まで完了です。

その他

上記のkali linuxのイメージでは言語設定やキーボードの種類がUSになっているので、
別途日本語の設定が必要になります。
また画面サイズなどがVirtualBoxの用に柔軟に変更できないので、
kali linux側のgrubを変えて再起動する必要があります。
他にもっと良い方法がありそうだけど、調べた感じ他に方法がない?

# vi /etc/default/grub
# update-grub
# reboot
<省略>
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1920x1080"
<省略>