はじめに!
自分が実際にVMwareでArch Linuxインストールするとき、他サイトの記事だと分かりづらかったりしたので、まとめてみました。
分かりやすくまとめたので、初めての人はもちろん、途中で諦めてしまった人も再度挑戦していただければ幸いです。
VMwareの環境構築の方法の掲載していますので、分かる方は次に進んでください。
VMware Workstation Player は最新バージョンにしてください。
これをやらないと仮想環境が起動できませんでした。
向いてる人たち
- 最小パッケージからLinuxを構成してみたい!
- 最近はパッケージが複雑化し、なんか重たいと感じている
- 何となくオートよりもマニュアル派だ!
- UbuntuやCentOSに飽きた...
- 自作PCのカスタマイズは愛だ
- 私はVim派です。(俺はnano派なんだけど。
ふざけんな!!!って人も安心してください。入ってます。)
そもそもArchLinuxってなんぞや?
Linuxと名前にある通りLinuxディストリビューションの1つで、Linux の中でも特にカスタマイズ性に優れている魅力がありますが、選択肢を多くさせインストール手順を難しくするなど、基本的に初心者向けではなくコマンドや設定ファイルを触ることに慣れた人向けのディストリビューションです。
自分の環境
- OS: Windows10 Pro 64ビット (Version 2004)
- CPU: Intel Core i7-6700
- メモリ: 16GB
インストールするアプリなど
- VMWare Workstation 15 Player
- TeraTerm
前提条件
あくまで私の好みでパッケージがいろいろ入っています。随時追加、削除してください。
- ブートローダに grub を使います。
- GUIのインストール方法は記載していません。あくまでインストール完了までです。
今回は VMware を使うので、BIOS や UEFI の項目にある(ない場合もあります)
Intel Virtualization Technology (VT-x) の設定を有効化してください
分からない方は以下を参考にしてください。
あと、WMware Workstation Player はすでにインストールされているものとします。
入っていない方は以下を参考にしてください。
イメージファイルのダウンロード先
イメージファイル (mirror.archlinuxjp.org)
このisoを選択してダウンロード!
1. VMware で仮想環境の構築
ここの部分が分かる方は無視してください!
VMwareの インストールが完了したら、起動してください。
新規仮想マシンの作成(N)をクリック
インストーラディスクイメージファイルにさっきダウンロードしたArch Linuxのイメージを指定する
ゲストOSを「Linux」バージョンを「その他の Linux 5.x 以降のカーネル(64ビット)」にする
今回は、「Arch Linux」という名前にします。場所を指定したい場合は変更してください。
今回は、ディスクの容量を20Gに指定します。いっぱいお触りしたいときは増やしましょう。
よしっ!完了! じゃなくてこれで環境構築は終了ではありません。
ハードウェアをカスタマイズしましょう。
メモリ、プロセッサ数を増やしてください。
ネットワークアダプタを「ブリッジ」にしてください。できたら次に進んでください。
2. efiの設定
まだ起動しないでください!!!
Arch Linuxくんは無愛想なので まだ設定があります。
仮想環境があるディレクトリを開いてください。
拡張子が「.vmx」のファイルをメモ帳などで起動してください。
以下に追記して、保存はまだしないでください。約束です。
Ctrl + Shift + S を押してください
firmware = "efi"
必ず文字コードを「UTF-8」から絶対に「ANSI」にしてください。
文字化けして開けなくなります。
これで設定は完了です。
3. 仮想環境の起動と構築
それでは構築した仮想環境を起動しましょう。
ここで、この画面になっていたらefiの設定ができていません。上にある設定を行ってください。
この画面になっていればefiの設定ができているので、このまま進めてください。
なにもエラーがなく起動したらこの画面になります。
それではArch Linuxくんは無愛想なので 設定していきましょう。
キーマップの設定
おそらくほとんどの方が日本語キーボードを使用していると思います。(US配列の人、ごめんなさい)
ArchLinuxを始め、ほとんどのLinuxはUS配列のキーボードを使用しているため、まず日本語配列用のキーボードレイアウトに設定します。
# loadkeys jp106
ping で通信確認
大抵の場合、ネットワーク接続は確立されているはずですが、念のため確認します。
# ping -c 4 archlinux.jp
rootパスワードを設定
これは、SSHで一時的につなぐものだけなので、簡単なパスワードを推奨します。私は「a」にしました。
# passwd
SSHで接続
仮想マシンにコマンドを打っていくのはつらいのでSSH経由で操作します。sshdを起動して、ipアドレスを確認します。
SSHデーモンの開始
# systemctl start sshd
IPアドレスの確認
# ip a
確認すると私の環境では「ens33」で、IPアドレスは「192.168.1.36」でした。
時刻設定
公式マニュアルに最初に時刻設定を推奨しているので設定します
# timedatectl set-ntp true
4. パーティションの作成
ライブ環境によって認識されたディスクには /dev/sda や /dev/nvme0n1 などのようにブロックデバイスが割り当てられます。
デバイスを確認するには、lsblk または fdiskコマンドで確認してください。
efi起動なのでGPTでパーティショニングをしていきます。
このコマンドでgdiskが起動します。
# gdisk /dev/sda
まずは、 「 o 」でGPTのパーティションテーブルを作成します
この作業で既存パーティションは全て削除されます
Command (? for help):o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y
パーティションは、Arch Linuxのインストールガイドを参考にしています。
今回のパーティショニングは以下の通り設定します。
パーティション | 容量 |
---|---|
ESP (EFI Syeten Partition) | 512M |
swap パーティション | 1GB |
データパーティション | 残り容量全て |
ESPとはUEFIブートの際に推奨されているFAT32でフォーマットされているパーティションです。
swapとはパソコン使用時に複数のタスクを立ち上げメモリが不足した場合に、ディスクの一部の領域をメモリの代わりとして使う容量です。
残りの領域は全てデータ領域(root、homeディレクトリなど)として作成します。
Command (? for help):n
Permission number: 1
First sector : 何も押さずエンター
Last sector : +512M
Hex code or GUID : EF00
Command (? for help):n
Permission number: 2
First sector : 何も押さずエンター
Last sector : +1G
Hex code or GUID : 8200
Command (? for help):n
Permission number: 3
First sector : 何も押さずエンター
Last sector : 何も押さずエンター
Hex code or GUID : 8300
最後に W を指定してパーティションを切ります。
このままでは使用できないため、次に各パーティションをフォーマットします。
Command (? for help):W
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
The operation has completed successfully.
各パーティションをフォーマット
ESP パーティションのフォーマット
UEFI ブートパーティションは、FAT32でフォーマットする必要があるため mkfs.vfat コマンドを使用します。
# mkfs.vfat -F32 /dev/sda1
Linuxファイルシステム(ext4)のフォーマット
フォーマットを行うためのコマンドは、mkfs.ext4 コマンドを使用します。
# mkfs.ext4 /dev/sda3
スワップの作成と読み込み
Linuxでスワップ領域を作成するためには、mkswap コマンドを使用します
作成したスワップ領域を実際に使用するため、swapon コマンドで設定できます。
# mkswap /dev/sda2
# swapon /dev/sda2
ちゃんとフォーマットできたか確認
lsblk コマンドを使用して、フォーマットできたか確認します。
# lsblk
このようになっていればOKです。
パーティションのマウント
次に、フォーマットしたパーティションのマウントをします。
まずルートディレクトリをマウントします
# mount /dev/sda3 /mnt
ディレクトリを作り、ESPを /mnt/boot にマウントします
# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot
マウントが完了すればいよいよシステムのインストールをしていきます!あともう一息!
5. システムのインストール
ミラーリストの編集
ここからベースシステムのインストールをしますが、パッケージをダウンロードするためにサーバーに接続します。
各国にいくつかのミラーがあり、デフォルトのままではダウンロードが長時間かかることがあるので日本のサーバーを選択します。
ミラーリストは /etc/pacman.d/mirrorlist に保存されていて、先頭から優先してサーバを使うようになっているので、このファイルを編集します。
使いたいエディタを使って編集しましょう。
# nano /etc/pacman.d/mirrorlist
開けたら、このテキストをこの位置に追加してください。
Server = http://mirror.archlinuxjp.org/$repo/os/$arch
nano の場合
Ctrl + O で書き込み
Ctrl + X で終了
vim の場合
i で挿入モードに入る
Esc で挿入モードを終了
:wq で終了
ベースシステムのインストール
ミラーリストが編集できたら、次はベースシステムをインストールしていきます。
Linux ベースと以下のものをインストールします。適時追加や削除をしてください。
- vi
- vim
- nano
- wget
- man-db
- man-pages
# pacstrap /mnt base base-devel linux linux-firmware btrfs-progs intel-ucode vi vim nano dosfstools efibootmgr openssh dhcpcd netctl ccache zsh zsh-completions zsh-syntax-highlighting wget man-db man-pages screenfetch
fstabの作成
fstabとは、パーティションやファイルシステムの情報やなどがどこにmountされているかなどを保存するためのものです。
genfstab で現在マウントされているパーティションを検索し、適切な値を書き込むことができます。
# genfstab -U -p /mnt >> /mnt/etc/fstab
6. Arch Linux のシステム設定
ここからはインストールした Arch Linux のシステム内に入り、各種設定をします。
先ほどインストールしたArch Linuxのシステムは /mnt に入っているので、ルートを /mnt にします。
mnt をルートディレクトリとして扱うのが chroot コマンドです。
# arch-chroot /mnt /bin/bash
言語、キーマップの設定
Linux 上で使う言語を設定します。
今回は ja_JP と デフォルトとして en_US (英語) は必須なので指定します。
キーマップの設定方法は、/etc/locale.gen ファイルから使う言語の先頭の # を削除して、使用する言語を選択できます。
# nano /etc/locale.gen
- en_US.UTF-8 UTF-8
- ja_JP.UTF-8 UTF-8
この2つの最初の # を削除して保存してください。
次に、次のコマンドを実行してロケールを生成します。
# locale-gen
locale.conf ファイルを作成
この段階で日本語設定をしてしまうと文字化けしてしまうことがあるので、ここでは日本語設定は行わずに英語のままにします。
# echo LANG=en_US.UTF-8 > /etc/locale.conf
キーマップの設定 (US配列の場合は無視)
インストールした Arch Linux 上のコンソールのキーボード配列はデフォルトで英語配列になっているため、以下の設定ファイルでキーボード配列を指定します。
日本語キーボードを使用している場合は /etc/vconsole.conf ファイルに KEYMAP=jp106 の内容を書き込んでください。
US配列の場合はこのコマンドは無視してください。
# echo KEYMAP=jp106 > /etc/vconsole.conf
エリア設定
日本在住の場合は以下のコマンドを叩いてください。
# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
時刻設定
ハードウェアクロックをUTCに設定します。
# hwclock -u -w
Hostnameを決める
HostnameとはインストールするLinuxの名前です。
好きな名前を「 /etc/hostname 」に書き込んでください。
今回は、Hostnameを arch にします。
# echo arch > /etc/hostname
/etc/hosts も同じように YOUR_HOSTNAME を削除して編集してください。
# nano /etc/hosts
次にrootのパスワードを設定します。
これをやらないとインストールができてもログインできません
# passwd
デーモンを自動的に有効化させる
デーモンを起動時に有効化するには、このコマンドを入力してください。
# systemctl enable sshd
# systemctl enable systemd-networkd
# systemctl enable systemd-resolved
# systemctl enable dhcpcd.service
7. ブートローダーの設定
Arch Linux を起動するために Linux に対応しているブートローダーを選択してインストールする必要がある。
今回は GRUB を使います。
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug
# grub-mkconfig -o /boot/grub/grub.cfg
これでインストール作業は完了です!お疲れ様でした。
8. システムの再起動
実際に動くかどうか確かめるために再起動しましょう。
# exit
# reboot
ログインできたら、早速 screenfetch コマンドを打ってみよう!!!
ああ...美しい...これぞArchLinux。漢のロマン
参考文献
Arch Linux公式ページ
ArchLinux インストールガイド
Arch LinuxをVMware Fusionにインストールする方法[ベースシステムインストール編]
VMwareにArch Linuxをインストールしよう
Arch Linux インストール俺々式完全版
makoのノート - Arch Linuxの初期設定
さくらのナレッジ - rch Linuxを簡単インストール – 「楽しいさくらのクラウド」(17)
クロの思考ノート - Arch Linuxを使ってみた
テックメモ - Arch Linux 初期設定
ログインが楽しくなる!screenfetchを使ってCentOSで遊んでみた
Windows:「VMware Workstation 15 Player」を使う