tmori3y2のブログ

主にWindowsのプログラムなど

Androidアレコレ一週間〜Hyper-V, x86, Nexus 7

Nested Hyper-VVisual Studio Emulator for Android

tmori3y2.hatenablog.com

出来ないと思っていたけど、Visual Studio Emulator for AndroidHyper-Vで動かしているWindows 10で起動するために

入れ子になった仮想化

をやってみた。

Power Shellのエラーは

about_Execution_Policies

を見て対処。

OSなしの仮想マシンは取り敢えず起動できる状態になった。

Visual Studio Emulator for Androidを初回起動すると仮想マシンが作成されて起動するのは、Hyper-Vマネージャでも確認できるが、すぐに再起動を繰り返す。

Hyper-Vマネージャから単独で起動しても、起動シーケンスの途中で再起動を繰り返す。

ポートやセキュリティソフトをチェックしたが変わらず、1日半格闘して、Android nested Hyper-V rebootで検索すると、みんな上手くいってなかった。残念・・・

次にAndroid-x86

ytabuchi.hatenablog.com

これは、何度かやったがインストールに癖がある。

  • Android-x86.orgからイメージをダウンロード
    • lolipopはマウスやタッチがNG
    • kitcatも古いのはダメ
    • Windowsじゃ無いのでBIOS起動
    • たぶん、Android-x86-4.4-r5.isoがベター
  • 仮想マシンの作成
    • 仮想マシン: 第一世代
    • メモリ: 1GB
    • 動的メモリ: オフ
    • 仮想ハードディスク(VHD): 16GB (固定容量)
    • 容量可変だとフォーマットでエラーが出る
    • Windowsでフォーマットするとアクティブディスクにならないので未初期化のままにする
      • アクティブでなくてもインストールは完了するが再起動せずgrubのプロンプトが出る
    • Hyper-Vの非Windows OSのサポートは無いに等しいので兎に角新しい機能は使わない
  • インストール
    • 基本的には参照リンクの内容の通りで良い
    • パーティションの編集でやるのはNew->Primary->Butable->Write->Quitのみ
    • 特にフォーマット形式はいじらない
    • バイス(sda1)のフォーマットはext3にする
    • NFTS/FAT32には絶対にしない
    • インストール後は再起動する
      • カスタマイズ後に起動しないと痛いため
  • 初期設定(2016/09/06更新)
    • Googleアカウントによるログインは起動出来るのを確認してから
    • スリープモードに注意
      • スリープなしにしても起動時のロック画面で15~30秒放置すると、画面が操作できなくなる
    • Google日本語入力のインストールと日本語キーボードの設定
      • デフォルトキーボードで選択
      • 物理キーボードをOffにしないとHyper-Vでは文字化けして日本語入力できない
  • カスタマイズ(2016/09/06更新)
    • 起動時にgrubの画面で小文字のaを押す
    • vga=の数字を消して、vga=askとする
    • サポートされている解像度のリストが出る
    • 32bit colorは実際には表示できないことが多い
    • プロンプトにビデオモードを入力すると、一時的にそのモードで起動できる
    • ブート時のビデオモードを変更する場合は、ビデオモードの数字が16進数なのでプログラマ電卓で10進数を計算しておく
    • 起動時にgrubの画面でdebugモードを選択
    • プロンプトで以下を入力
      • mount -o remount,rw /mnt
      • vi /mnt/grub/menu.lst
    • viでブートメニューの先頭にカーソル移動
    • 大文字のAで編集モードに入り、行末へ移動
    • vga=がなければ追加
    • プログラマ電卓で計算したビデオモードを設定
    • ESCで編集モードを終了
    • :wqで上書き(:のレイアウトが変わっている場合に注意)
      • /mntのRWモードでのマウントが上手くいかず解像度の変更が出来ていないケースが何度もあった
      • menu.lstの上書きが出来ているか開きなおして確認した方が良い

自分は、ディスクの初期化が上手く出来ていないのに中々気付かずに、カスタマイズをして、次に使う時に起動せずに、何度もインストールし直した。

そんなこんなでいろいろあったが、今はDell Inspiron 13のタブレットモードで、タッチパネル操作で快適に使用出来ている。

この仮想環境はXperia Z3とGoogle Nexus 7のバックアップを兼ねているのだが、実はNexusが、Wifiの調子が悪かったり、Bluetoothテザリングのスピードが出なかったり、小学4年生になる息子に奪われていたりと、いろいろ問題があった。

新しいPCを購入してガチャガチャしている時期に、とうとうGoogle Playがクラッシュするようになり、仮想環境の構築がほぼ終わったので、いろいろいじってみた。

結論から言うと、

Google接続サービス

これが原因だったみたい。

WiFiを自動で切り替えたりするサービスのようだが、そういえば急にWiFiに接続できなくなったりすることがしばしばあったのも、このサービスが原因だったのかもしれない。

この手のシステム系の復旧方法は、

「アプリケーションの管理で無効化する」

実際には、アップデートを削除して初期状態に戻るので、あとは有効化してアップデートをやり直せば大体が上手く動くようになる。

Androidにいろいろ振り回された1週間だったな・・・