tkzwhr's notes

tkzwhrの技術、中国語などのメモです。

Hyper-VにManjaro Linuxをインストールするのが大変だったのでメモ

2020.08.20 追記
今となっては素直にWSL2をインストールしたほうがあらゆる面で有利です。


プライベートPCに開発環境を作るに際して、

  • 慣れているLinuxのエコシステムを使いたい(bashとか、power shellは好きじゃない)
  • Macは開発環境としては良いが性能に比べ費用が割高
  • Win上に直接開発環境を作りたくない、仮想化したい
    • できればWinを中継したくない(WSLは使いたくない、WSL2は良いけど使えるようになるまでまだ1年くらいかかりそう)
    • ただし仮想環境上でGUIIDEを立ち上げると動作が重いのでIDEはWinのものを使いたい

という、わがまま要件を満たすため、スーパーバイザ型の仮想環境であるHyper-V上に、最近トレンドなArch系ディストロのManjaro Linuxを動かすことにした。

実際インストールしようとしたら結構わからなかったので、備忘メモを残しておく。

前提

  • Windows 10 Pro (Version 1903)
  • Manjaro Architect 18.1.0

Hyper-V仮想マシンを構築

下記の設定で仮想マシンを作成した。

  • 仮想マシンの世代
    • 第2世代
  • 起動メモリ
    • 2048 MB (ホストPCの1/8)
    • 動的メモリを確保する
      • 2048 - 4096 MB
  • 仮想プロセッサの数
    • 4 (ホストPCの1/2)
  • ネットワークアダプタ
    • Default Switch
  • セキュアブート
    • 無効

Install CDの起動

構成をかなりカスタマイズ可能なバージョンとなっているArchitectをダウンロードする。

SCSIコントローラーにDVDドライブを追加し、 仮想ドライブにダウンロードしたisoをセットして起動する。

Welcome to Manjaroが表示されたら Boot: Manjaro.x86_64 architect を選択してEnterを押す。 CUIが起動したら画面の指示通りuserとpasswordを入れてログインする。

ログインしたら ping www.google.com してネットワークの接続を確認しておく。 問題なければsetupでインストーラを起動する。

info | ネットワークがつながらないときは | ネットワークアダプタvEthernet (Default Switch) を無効->有効にしたら直るかもしれない。 | だめならWindowsを再起動する。

セットアップ

Setup Languageに日本語はないため、とりあえずEnglishですすめる。 Main Menuで行う必要があるのは、

  • 1 Prepare Installation
  • 2 Install Desktop System

の2つ。

まずは 1 Prepare Installation から、インストールのための各種設定をしていく。

パーティションの作成とマウント

3 Partition Disk からパーティションを作成する。 使用するツールは基本的に Automatic Partition したらEnter連打で問題ない。

終わったら次は 8 Mount Partitions からマウントする。

  • ROOT partition
    • /dev/sda2
      • ext4でフォーマット
  • SWAP partition
    • Swapfile
      • 2048 MB
  • additional partition
    • Done
  • UEFI Partition
    • /dev/sda1
      • mountpointは /boot/efi

ミラーサイトの選択

パッケージのダウンロードに使用するサイトを選定する。

9 Configure Installer Mirrorlist を選択し、 3 Rank Mirrors by Speed を選択する。 Enter連打してるとスピード測定が始まるが、少し時間がかかるのでコーヒーブレイク。

終わったらJapanになっているものをSpaceで選択して、ひたすら下矢印キーを押して一番下のOKを選択する。

デスクトップシステムの選択

Main Menuまで戻って 2 Install Desktop System に進む。 1 Install Manjaro Desktop から必要なものを選択してインストールする。

  • Inatall Base
    • linux419
  • Install Desktop Environments
  • Extra Package
    • No
  • Full or minimal?
    • 2 minimal

必要なものはあとから入れれば良いので最小構成にした。 ここが一番時間がかかるので、再度コーヒーブレイク。

  • Install Display Driver
    • 3 Select Display Driver

ブートローダのインストール

2 Install Bootloader から必要なものを選択してインストールする。

  • Install UEFI Bootloader
    • 1 grub
    • Set bootloader as default?
      • Yes

インストールの最終処理

3 Configure Base で残りの設定を行う。

1から7まですべて行う必要がある。

  • Generate FSTAB
    • Device UUID

ここまで終わったらインストーラを終了し、 ディスクを取り出して仮想マシンを再起動する。

再起動するとキャレットが点滅したままになる場合の対処

再起動するとキャレットが点滅したままになることがある。 調べたところ、Hyper-v用のビデオドライバが必要らしいのでインストールする。

[Ctrl]-[Alt]-[F2]を押すとCUIでログイン画面が出てくるので、インストールの最終処理で作ったユーザでログインする。

ログインしたらドライバのインストールを行う。

$ sudo pacman -Sy
$ sudo pacman -S xf86-video-fbdev
$ sudo systemctl start lightdm

これでGUIのログイン画面が起動する。 次回以降も正しくLightDMが起動するようになる。

日本語が正しく表示されない場合の対処

notoのcjkフォントが入っていないため、インストールする必要がある。

$ sudo pacman -S noto-fonts-cjk
$ cd /etc/fonts/conf.d
$ sudo ln -s ../conf.avail/70-noto-cjk.conf

ホストPCからLinuxに建てたサーバにアクセスできない場合の対処

ファイアウォールにブロックされている可能性がある。

iptablesより使いやすいufwをインストールして設定する。 下記はTCPの8000番を開放する例。

$ sudo pacman -S ufw
$ sudo systemctl disable iptables.service # iptablesとは併用できないため
$ sudo systemctl enable ufw.service
$ sudo ufw enable
$ sudo ufw allow 8000/tcp

参考