今回から、ArchLinuxをインストールしていきます。
仮想環境はWindows10 Pro以上で使用できるHyper-V環境を使用していきますが、各々好きな仮想環境を使用して問題なありません。
また、基本的にはArchLinux公式のインストールガイドを元に作業を進めていきます。
ArchLinuxの入手
まず、ArchLinuxのISOファイルを入手する。公式Wikiのダウンロードページの日本のサーバーから適当なサイトを選び、【archlinux-xxxx-xx-xx-x86_64.iso】と書かれたものをダウンロードします。
仮想マシンの作成
ArchLinuxをインストールする為の仮想マシンを作成を行います。
まずは、WindowsのスタートメニューからHyper-Vマネージャーを検索して、起動します。
左ペインのホスト名のところを右クリックし、【新規】→【仮想マシン】を選択してください。
仮想マシンの新規作成ウィザードが表示されるので、【次へ】をクリックしてください。
【名前と場所の指定】の設定画面が表示されるので、【名前】の欄に任意の名称を入力してください。今回は【ArchLinux】という名前で作成します。
仮想マシンの格納先のフォルダーを指定する場合は、【仮想マシンを別の場所に格納する】のチェックボックスにチェックを入れ、【場所】に格納先のフォルダーを指定します。特に変更しない場合はチェックを入れずにそのまま【次へ】をクリックしてください。今回は、【D:\Hyper-V\ArchLinux】で作成します。
【世代の指定】画面が表示されます。今回はUEFIベースで作成したいので、第2世代を選択します。BIOS環境で作成したい場合は第1世代を選択してください。選択が終わりましたら【次へ】をクリックします。
【メモリの割り当て】画面が表示されますので、【起動メモリ】を【2048】と設定し、【この仮想マシンに動的メモリを使用します。】のチェックを外してください。設定後、【次へ】をクリックします。
【ネットワークの構成】画面が表示されますので、インターネットに接続できる仮想スイッチを選択します。今回は、【外部】という名前の仮想スイッチを選択します。設定後、【次へ】をクリックします。
【仮想ハードディスクの接続】画面が表示されるので、【場所】に保存先のパスを入力します。次に、【サイズ】に仮想ハードディスクの容量を入力し、設定が完了したら【次へ】をクリックします。今回は、保存先に【D:\Hyper-V\ArchLinux】を選択し、容量を【200GB】としています。
【インストールオプション】画面が表示されるので、【ブートイメージファイルからオペレーティングシステムをインストールする】のラジオボタンにチェックを入れ、【イメージファイル】に事前にダウンロードしておいたArchLinuxのISOファイルのパスを選択します。設定が完了したら【次へ】をクリックします。
【仮想マシンの新規作成ウィザードの完了】画面が表示されるので、内容に問題がなければ、【完了】をクリックします。
仮想マシンの設定
前述の手順通り第2世代の仮想マシンを作成した場合、SecureBootの設定オフにする必要があるので、その設定を行っていきます。
第1世代で作成した場合は本項目は不要なので読み飛ばしてください。
まず、Hyper-Vマネージャーから、作成した仮想マシンを右クリックし、【設定】を選択してください。
左ペインから【セキュリティ】を選択肢、【セキュアブートを有効にする】のチェックボックスを【オフ】にします。設定後、【OK】をクリックします。
ArchLinuxのインストール
仮想マシンの起動
先程作成した、仮想マシンを右クリックし、【接続】を選択します。
別ウィンドウで仮想マシンの画面が表示されるので、【起動】をクリックします。
ArchLinuxのブート
ISOファイルがブートされたら、起動選択画面が表示されるので、【Arch Linux install medium (x86_64, UEFI)】を選択し、【Enter】キーを押します。
第1世代で作成している場合は表記がBIOS用の表記に変わります。
問題なく起動すると以下のような画面が表示されます。
キーボードレイアウトの変更
キーボードのレイアウトがUSになっているので、日本語配列のキーボードを使用している人は、キーボードのレイアウトを日本語配列に変更します。
# キーボードレイアウトを日本語配列へ変更
loadkeys jp106
ネットワークの設定
NICの設定を下記のコマンドで確認します。
# NICのステータスを確認
ip link
インターネットに接続できているか下記のコマンドで確認します。
# archlinux.jpへ疎通できるか確認
ping archlinux.jp
# 結果が永遠に続くので【Ctrl + C】キーで終了します。
【ping ドメイン名】で確認することで、インターネットへ接続できていることと、DNSサーバーで名前が問題なく引けていることを同時に確認しています。
時刻同期の確認
時刻同期ができているか、下記のコマンドで確認します。
timedatectl status
パーティションの割り当て
パーティションを組んでいきます。まず、下記のコマンドで接続されているストレージ一覧を表示します。
# ストレージの一覧を表示
lsblk
loop0とsr0はArchLinuxのISOファイルの中身をブートしたものなので、無視してください。
パーティションの切り方には色々ありますが、今回はArchLinuxのインストールガイドに則って、下記のパーティションを作成します。
マウントポイント | パーティション | パーティションタイプ | 容量 |
---|---|---|---|
/mnt/boot | /dev/sba1 | EFI システムパーティション | 300MiB |
swap | /dev/sba2 | Linux swap | 512MiB |
/mnt | /dev/sba3 | Linux x86_64 root | 残り全て |
UEFIベースのインストールする際の例ですので、BIOSベースでインストールする場合や、パーティションの切り方にこだわりがある方などは、適時パーティションを作成してください。
パーティションを切るにはfdisk/gdiskを使用します。fdiskコマンドはMBRの場合、gdiskコマンドはGPTの場合に使用します。今回はGPTで作成するので、gdiskコマンドを使用します。
gdisk /dev/sda
コマンドを実行すると下記のような画面が表示されます。ここで【?】を入力して【Enter】キーを押すとヘルプを確認できます。
ヘルプ画面は英語で分かりづらいですが、主に使用するのは下記のコマンドだけです。
コマンド | 説明 |
---|---|
o | 新しいパーティションテーブルの作成します |
n | 新しいパーティションを追加します |
p | 現在のパーティションの状態を表示します |
t | パーティションのタイプを変更します |
l | パーティションタイプのリストを表示します |
w | パーティションテーブルをディスクに書き込んで終了します |
q | 保存しないで終了します |
では、各パーティションを切っていきます。視認性を重視して【:】の手前の部分も記載していますので、【:】より後ろのコマンドを打つようにしてください。
# 新しいパーティションテーブルの作成
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed(Y/N): Y
# EFIシステムパーティションの作成
Command (? for help): n
Partition number (1-128, DEFAULT 1): 1
First Sector (34-419430366, default 2048) or {+-}size{KMGTP}: 2048
Last sector (2048-419430366, default = 419428351) or {+-}size{KMGTP}: +300M
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): ef00
Changed type of partition to 'EFI System partition'
# swap領域のパーティション作成
Command (? for help): n
Partition number (2-128, DEFAULT 2): 2
First Sector (34-419430366, default 616448) or {+-}size{KMGTP}: 2048
Last sector (616448-419430366, default = 419428351) or {+-}size{KMGTP}: +512M
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): 8200
Changed type of partition to 'Linux swap'
# 残りのパーティションの作成
Command (? for help): n
Partition number (3-128, DEFAULT 3): 3
First Sector (34-419430366, default 1665024) or {+-}size{KMGTP}: 1665024
Last sector (1665024-419430366, default = 419428351) or {+-}size{KMGTP}: 419428351
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): 8300
Changed type of partition to 'Linux filesystem'
# 書き込んで終了
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
lsblkコマンドで再度ストレージの状態を確認します。
lsblk
パーティションのフォーマット
パーティションの作成が完了したら、各パーティションをフォーマットしていきます。UEFIでGPTを作成した場合は、LinuxシステムパーティションはFAT32形式でフォーマットする必要があります。
# sda1のフォーマット
mkfs.fat -F 32 /dev/sda1
swap領域のフォーマットにはmkswapコマンドを使用します。
# sda2(swap領域)のフォーマット
mkswap /dev/sda2
その他のパーティションは現在はext4でフォーマットするのが一般的なので、ext4でフォーマットしていきます。
# sda3のフォーマット
mkfs.ext4 /dev/sda3
lsblkコマンドにオプション–fsをつけることで設定内容が確認できますので、確認していきます。
コマンド実行後のFSTYPEがvfat、swap、ext4になっていれば問題ないです。
# フォーマットの確認
lsblk --fs
パーティションのマウント
各パーティションをマウントしていきます。
# /mntへ/dev/sda3をマウント
mount /dev/sda3 /mnt
# /mnt/bootへ /dev/sda1のマウント
mount --mkdir /dev/sda1 /mnt/boot
# swapを有効にする
swapon /dev/sda2
コマンド結果は特に出力されませんが、ここまでで、パーティション周りの設定は完了です。お疲れ様でした。
続けてArchLinuxのインストールに進んでいきます。
ArchLinuxのインストール
reflectorコマンドを使用して日本のArchLinuxのミラーサイトを上から10取得し、/etc/pacman.d/mirrorlistに書き込みます。
# 日本のミラーサイト上位10件を書き込み
reflector --sort rate --country jp --latest 10 --save /etc/pacman.d/mirrorlist
次に、パッケージをインストールします。とりあえず、Linuxに最低限必要なシステム環境をインストールしていきます。。
# 必要最低限のパッケージのインストール
pacstrap -i /mnt base base-devel linux linux-firmware neovim
コマンド実行後、ダウンロード及びインストールが走るので、環境によってはそこそこ時間がかかります。完了まで、しばらくお待ち下さい。
インストールする際に、【PGP sigunature】でエラーが発生した場合は、【pacman -Sy】実行後に【pacman -S archlinux-keyring】コマンドでPGPキーを更新します。
起動設定
最低限のパッケージをインストールできたので、起動した際にどのパーティションをマウントするかを指定してあげます。
起動した際にどのパーティションをマウントするかのsっていはfstabを作成することで指定することができます。
# fstabの作成
genfstab -U /mnt >> /mnt/etc/fstab
システム設定
chroot環境に入り、各設定を行っていきます。
まずは、arch-chrootコマンドでchroot環境に入ります。
# chroot環境に入る
arch-chroot /mnt
次に、タイムゾーンを東京時間に設定します。日本以外に設定したい人はTokyo以外で設定をします。
# タイムゾーンを東京時間に設定
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
ハードウェアクロックの設定を行います。
# ハードウェアクロックの設定
hwclock --systohc
次に、その他の設定をする際に必要なテキストエディタをインストールします。今回はNeoVimをインストールしますが、好きなエディタをインストールしてください。
# NeoVimのインストール
pacman -S neovim
テキストエディタで/etc/locale.genを開き、ロケールの設定を行います。
# /etc/locale.genを開く
nvim /etc/locale.gen
# 下記の行の # を削除する。
ja_JP.UTF-8 UTF-8
en_US.UTF-8 UTF-8
# 保存する
:wq
LANG環境変数を設定します。
# 環境変LANGの設定
echo LANG=ja_JP.UTF-8 > /etc/locale.conf
次に、コンソールのキーボードのレイアウトを設定します。
# コンソールのキーマップの設定
echo KEYMAP=jp106 > /etc/vconsole.conf
ホスト名を設定します。
# ホスト名の設定
echo archlinux > /etc/hostname
hostsの設定も行います。
# /etc/hostsを開く
nvim /etc/hosts
# 下記を入力する。
127.0.0.1 localhost
::1 localhost
127.0.1.1 archlinux.localdomain archlinux
# 保存して終了する
:wq
ルートユーザーのパスワードを設定します。
# ルートユーザーのパスワード設定
passwd
DHCPの設定を行います。dhcpcdをインストールします。
# dhcpcdのインストール
pacman -S dhcpcd
ipコマンドで、nicの名前を確認します。今回はeth0となります。
# nicの名前の確認
ip a
nicの名前を確認したら、次回から起動時に自動で有効化するように設定をします。
# 次回以降の起動時からeth0にDHCPでIPを割り振る
systemctl enable dhcpcd@eth0
ブートローダーのインストール
システム設定が完了したら、ブートローダーをインストール・設定を行っていきます。今回はLinuxでよく使われているGRUBを使用しようと思います。
# GRUBのインストール
pacman -S grub
次にブートマネージャーをインストールします。
# ブートマネージャー efibootmgrをインストール
pacman -S efibootmgr
grubの設定
# grubの設定
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
grub-mkconfig -o /boot/grub/grub.cfg
ここまでで最低限のインストール及び設定が完了しました。仮想マシンの【メディア】からISOファイルを外して、再起動を行います。
# chroot環境から抜け出す
exit
# 再起動
reboot
再起動後、下記のようにログイン画面が表示されれば問題なくインストールが完了しています。
お疲れ様でした。以上で、ArchLinuxのインストールが完了しました。次回以降にちょくちょく設定を入れていこうかと思います。
コメント