Hyper-V 上に Ubuntu を構築

今まで Windows ばかり触っており、Unix のことはさっぱりだったため、勉強を兼ねて Ubuntu を触ることにした。

環境の用意

Windows 10 の Hyper-V を用いて、仮想環境上で準備する。
Hyper-V を利用できるのは、Enterprise、Professional、Education のいずれかのエディションであるため、Home エディションの方は VirtualBox など他の仮想化ソフトを利用する。

Hyper-V のインストール方法
https://msdn.microsoft.com/ja-jp/virtualization/hyperv_on_windows/quick_start/walkthrough_install

次に Ubuntu のイメージをダウンロードする。
https://www.ubuntulinux.jp/download/ja-remix

最新版である 16.04 LTS を使用する。
ただし、最新版は情報が少なかったり、上に乗っかるアプリケーションが対応しておらずエラーが発生するなど、苦労する点が増えるためそれなりの覚悟が必要となる。
情報量、利用サーバー数、サポート期間も加味すると 14.04 の方が実用的かつ効率的に学習ができそうではあるが、そこは新しいもの好きなどの好みで決めた。

セットアップ

セットアップ手順はそれほど難しくなかったので省略するが、Hyper-V  の構成バージョン 7.0 だと第二世代仮想マシンとして構築する際にはセキュアブートを無効にする必要があるため、そこは注意。
https://blogs.msdn.microsoft.com/virtual_pc_guy/2014/06/09/ubuntu-14-04-in-a-generation-2-vm/

Windows Server 2016 では Secure Boot を有効できるようになるらしい。
https://technet.microsoft.com/en-us/windows-server-docs/compute/hyper-v/what-s-new-in-hyper-v-on-windows#BKMK_linux

ということで、2016年8月2日に落ちてきた Windows 10 Anniversary Update を適用した後に仮想マシンの構成バージョンを 8.0 に上げて、下記コマンドレットを実行することで Windows 10 でも Linux Secure Boot が動作することを確認できた。
Set-VMFirmware <仮想マシン名> -SecureBootTemplate MicrosoftUEFICertificateAuthority

あと、ホスト – ゲスト間のファイル コピーなど各種 Hyper-V 統合サービスをインストールするには端末で下記を実行。

apt-get update
apt-get install –install-recommends linux-virtual-lts-xenial
apt-get install –install-recommends linux-tools-virtual-lts-xenial linux-cloud-tools-virtual-lts-xenial

– 参考資料
Hyper-V 上での Ubuntu の情報
https://technet.microsoft.com/windows-server-docs/compute/hyper-v/supported-ubuntu-virtual-machines-on-hyper-v

ファイル コピー機能の利用についてはこちら
http://yamanxworld.blogspot.jp/2014/10/hyper-v-linux-rhel-7centos-7-copy-vmfile.html

各種デーモンが実行されているかどうかを確認する方法は下記を参考
https://msdn.microsoft.com/ja-jp/virtualization/hyperv_on_windows/user_guide/managing_ics
->  ps -ef | grep hv

ホストでコピーしたテキストをゲストで貼り付ける (クリップボードの共有) ことやスピーカーの入出力が仮想マシン上でできないことに気づく。Hyper-V では、ローカル リソースをホスト – ゲスト間で共有できる拡張セッションモードというのがあるが、Ubuntu では現時点でサポートしていない。代わりに RDP (リモート デスクトップ) 接続すればよいみたいだが、今回は検証しない。
Hyper-V の Unix 対応はかなり進んでおり、できないことは今のところないが、かゆいところまでは手が届いていないようだ。

コメントを残す