エンジョイAsobi

スマホとWindowsとLinuxを遊ぶ。

Ubuntu Windows

Windows 8.1上でHyper-Vを試す ~ネットワークがつながらない~

投稿日:2014年2月17日 更新日:

前回、Hyper-V上の仮想マシンにUbuntuをインストールしたところまで書きました。

インストールが完了して、さっそく仮想マシンにSSHからログインしてあれこれ設定しようとしました。しかし、

SSHが接続できない…。

あれ?と思って仮想マシン接続から入ってルーターへpingを打ってみたけど通じず。ホストマシンへも通じず。
ifconfig見るとDHCPのアドレスはとれているので、少なくとも起動直後にDHCP DiscoverとOfferは通ったはずよね。pingが通らないのはなぜ?と。
ホストマシンのネットワーク設定を見てもおかしいところはなく、ひとしきり悩んでしまいました。

25eth0_trouble
でdmesgを確認してみたら、あれ?カーネルのダンプが記録されている。NETDEV WATCHDOG?Ubuntu側の問題ぽい。ということで今度はUbuntu側の設定を確認してみたけれどやっぱりおかしなところは見つからず。

ここに至ってやっとGoogle先生に訊いてみたら、見つけましたよ。Hyper-V上でLinux動かすときは比較的メジャーな問題?

Ubuntuのirqbalanceサービスを止めればよいらしい。

仮想マシン接続からログインして/etc/default/irqbalanceを編集しました。

#Configuration for the irqbalance daemon 
#Should irqbalance be enabled? 
ENABLED="1" 
#Balance the IRQs only once? 
ONESHOT="0"

このうち、ENABLED="1" を ENABLED="0"に書き換えてから reboot。

再起動が終わるとネットワークが使えるようになっていました。

irqbalanceはSMPシステムで割り込み処理を複数のCPUに振り分けるサービスです。仮想マシンの構成にレガシーネットワークアダプターを選択するとtulipというデバイスのドライバーが組み込まれるのですが、このtulipドライバーとirqbalanceサービスの相性が悪いらしい。

つまり仮想マシンに複数の仮想プロセッサを割り当てなければこんなことにはならなかったわけですが、そこは譲れないしね。

あとレガシーネットワークアダプターを選んだのも敗因と言えば敗因ですね。

いや!負けじゃない。Hyper-Vがおかしい。

VMWareでもVirtualboxでも、仮想ハードウェアが古すぎてハマったことなんて無かったよ。

まあともあれ、無事SSH接続できるようになったので、あれこれ設定を完了させました。

-Ubuntu, Windows

関連記事

Windows 8.1上でHyper-Vを試す ~Ubuntuの仮想マシンを作る(2)~

前回、空の仮想マシンを作るところまで書きました。 (なんか長かった…)。 続いてUbuntuを仮想マシンにインストールします。 Ubuntuのインストールを開始するには、まずHyper-Vマネージャー …

Windowsバッチファイルの処理を一時停止させる sleep コマンド

先日Windowsのバッチファイルを使っていて、不便だなと感じたことがありました。 ある実験をしていて、Windows PCから自動的に繰り返し繰り返し操作を加えていたのですが、ある操作と操作の間にポ …

Hyper-V 上の Ubuntu で非レガシーなネットワークアダプターを使えた

以前 Hyper-V上にUbuntuの仮想マシンを作りましたが、ネットワークアダプターにはレガシーネットワークアダプターを選択しました。Ubuntuがレガシーでない方のドライバーを持っているのか確証が …

Ubuntu 14.04 64bitで32bitアプリを使う

新たにVMを作ってUbuntu 12.04から14.04に乗り換えたわけですが、セットアップしていて最初に困ったのは、12.04で使っていた32bitアプリを14.04上で動かそうとしたとき。 Ubu …

Hyper-VでUbuntu 14.04を試す(2)

前回の続きです。 作成した仮想マシンにUbuntu 14.04のサーバー版をインストールするところまで。スクリーンショットでどうぞ。 なぜかこのときキーボードの自動検出に失敗したんですよね…。 しよう …