本文是以记录为目的,可以作为一个参考,网上有很多很详细的教程,还有官方的 ArchWiki。
インストール前の準備#
デュアルブートについて
デュアルブートのインストールには 2 種類あります:
- 一つは、Windows と Linux を同じハードディスクにインストールする方法で、この場合、事前に Windows で空き領域を確保して Linux 用のスペースを作る必要があります。
- もう一つは、Windows と Linux を 2 つの独立したハードディスクにインストールする方法で、この場合はシングルシステムのインストールと同様ですが、インストール後のシステムブート設定が異なります。
ISO のダウンロード
archlinux 公式サイト またはいくつかのオープンソースミラーサイト(tsinghua)から最新の ISO ファイルをダウンロードします。
インストール用のディスク作成ソフトのダウンロードとインストール
私が使用しているのは ventoy で、オープンソースです。一般的な書き込みソフトとは異なり、一般的なソフトはインストールブートシステムを USB 全体に書き込むため、システムインストール後は USB が直接使用できなくなり、フォーマットが必要になります。一方、ventoy を使用してシステムをインストールすると、USB は通常通り使用でき、USB 内のファイルをバックアップする必要もありません。また、操作も非常に簡単で、ISO ファイルを直接 USB にコピーするだけで、他の操作は不要です。
マザーボードの BIOS 設定
インストールを開始する前に、BIOS の簡単な設定が必要です。
- Secure Boot を無効にします。archwiki によれば「Arch Linux のインストールイメージは Secure Boot をサポートしていません」。
- インストールディスク(つまり USB)を優先起動に設定します。
各コンピュータの BIOS に入る方法は異なるため、具体的にはコンピュータのモデルに応じて公式の説明書を参照してください。
インストール#
基本設定#
BIOS の設定が完了したら、USB を接続し、インストールを開始する準備が整いました。
コンピュータの画面にブートローダーメニュー(boot loader menu)が表示されたら、最初の「Arch Linux install medium」を選択し、Enter を押すと、archlinux のインストール環境に入ります。
適切なフォントとキーボードレイアウトの設定(オプション)
インストール環境下では、このコンソールのフォントが特に小さく、見るのが非常に大変なので、フォントを変更してより大きなフォントを選択することができます。システムで使用可能なすべてのフォントは/use/share/kbd/consolefonts/
ディレクトリにあり、setfont
コマンドで設定できます:
# /usr/share/kbd/consolefonts/ 下のファイル名(拡張子を省略)をコマンド引数として使用
setfont LatGrkCyr-12x22 # これは比較的大きなフォントです
同時にキーボードレイアウトも変更できますが、通常は変更する必要はなく、デフォルトは US レイアウトです。すべてのサポートされているキーボードレイアウトは/usr/share/kbd/keymaps/
の各ディレクトリにあり、loadkeys
コマンドで変更できます:
# 同様に、以下の引数はキーボードレイアウトの名前で、拡張子は不要です
loadkeys keyboardlayout
コンピュータの起動モードの確認(オプション)
コンピュータの起動時にハードウェアドライバを読み込むプログラムには、古い BIOS と現在の UEFI の 2 種類があります。2 つのモードの起動方法は異なります。archwiki によれば、以下のコマンドでコンピュータが UEFI モードであるか確認できます:
cat /sys/firmware/efi/fw_platform_size
# 64または32が返され、それぞれ64bitと32bitのUEFIを表します。ファイルが存在しない場合、BIOSの可能性があります。
ネットワークの接続
まず、ネットワークデバイスがオンになっているか確認します:
# このコマンドは、無線ネットワークカードデバイスの名前(wlan0)とその状態をリストします。状態に<...,...,UP,...>のUPフラグがあれば、ネットワークカードデバイスはオンになっています。そうでなければオフです。
ip link
# オンになっていない場合、以下のコマンドでオンにします
ip link set wlan0 up # ここでネットワークカード名はwlan0です
# 上記のコマンドで「Operation not possible due to RF-kill」と表示された場合、rfkillを使用してネットワークカードを解除する必要があります。
# rfkill - wirelessデバイスを有効化および無効化するためのツール
rfkill # 無線デバイスとその状態をリストします
rfkill unblock wlan # ネットワークカードを解除します
次に、iwctl を使用して無線ネットワークを設定します。これはコマンドインタラクティブ形式のネットワーク設定プログラムです。
# ヘルプ情報を表示
help
# 現在のネットワークカードの接続状態を確認
station wlan0 show
# ネットワークをスキャン
station wlan0 scan
# 接続可能なネットワークを表示
station wlan0 get-networks
# ネットワークに接続、名前は「P40 pro」
station wlan0 connect "P40 pro"
この時点でネットワークが接続されているか確認できます:
ping baidu.com
もし ping が通らない場合、DHCP が設定されていない可能性が高いです。以下を使用します:
dhcpcd &
システム時計の更新
timedatectl set-ntp true # システム時間をネットワーク時間と同期します
ディスクパーティション#
fdisk を使用してディスクパーティションを行います。
コマンド:
-
m:ヘルプを表示
-
p:現在のパーティションテーブルを印刷
-
g:新しい空のパーティションテーブルを作成し、元のパーティションをクリアします。
w コマンドを使用する前に、新しく作成したパーティションは書き込まれず、元のパーティションも上書きされません。 -
n:新しいパーティションを作成します。
主に 3 つのパーティションがあります:
boot パーティション + 主パーティション + swap パーティション
ここでは 4 つのパーティションを作成します。
最初のパーティションはシステムブートパーティションで、/boot
ディレクトリにマウントします。
2 番目は主パーティションで、ルートディレクトリ/
にマウントします。
3 番目はユーザーファイルデータを保存するためのパーティションで、ホームディレクトリ/home
にマウントします。
4 番目は swap パーティションです。
フォーマットとファイルシステムの作成
# /bootパーティションはfat形式であるべきです
mkfs.fat -F32 /dev/nvme0n1p1
# ルートパーティションとホームディレクトリパーティションはext4ファイルシステムを選択します
mkfs.ext4 /dev/nvme0n1p2
mkfs.ext4 /dev/nvme0n1p3
# swapパーティション
mkswap /dev/nvme0n1p4
パーティションのマウント
# swapをマウント
swapon /dev/nvme0n1p4
# 主パーティション
mount /dev/nvme0n1p2 /mnt
# bootパーティション
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot
# homeパーティション
mkdir /mnt/home
mount /dev/nvme0n1p3 /mnt/home
# または
# mkdirを省略
# mount --mkdir /dev/nvme0n1p2 /mnt/home
マウントが完了したら、システムのインストールはほぼ完了したと言えます。
正式インストール#
国内のソフトウェアリポジトリの選択
インストール前に reflector サービスを無効にする必要があります。このサービスは pacman の mirrorlist を自動的に更新します。遅れて無効にしても問題ありませんが、国内のリポジトリを手動で追加できます。
# /etc/pacman.d/mirrorlist
# Chinaの下のミラーソースを最前面に移動します。
システムのインストール(必須パッケージのインストール)
base、linux、および linux-firmware をインストールします。
pacstrap -K /mnt base linux linux-firmware
fstab ファイルの作成
fstab はディスクパーティションを定義するためのものです。Linux システムで重要なファイルの一つです。genfstab を使用して、現在のマウント状況に基づいて自動的に fstab ファイルを生成し、書き込みます。
genfstab -U /mnt >> /mnt/etc/fstab
インストール後、新システムの設定#
現在のインストール環境を新システム環境に切り替えます:
arch-chroot /mnt
タイムゾーンの設定と時間の同期
# /etc/localtimeに/usrの適切なタイムゾーンのシンボリックリンクを作成します
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 時間を同期します
hwclock --systohc
ローカライズ設定
/etc/locale.gen
を編集し、en_US.UTF-8 UTF-8
をコメントアウトし、その後locale-gen
を使用します。
locale-gen
/etc/locale.conf
に LANG 変数を設定します。
# /etc/locale.conf
LANG=en_US.UTF-8
ホスト名と hosts 設定
新しい /etc/hostname ファイルを作成し、ホスト名を追加します。
そして /etc/hosts ファイルに設定を追加します。
# /etc/hostname
glede
# /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.0.1 glede.localdomain glede
root パスワードの設定
passwd
# SheN_2327
いくつかのソフトウェアをインストール
# intelマイクロコード
# intel-ucode
# ブートローダー
# grub efibootmgr os-prober
pacman -S grub efibootmgr intel-ucode os-prober
ブートローダー (grub) の設定
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH
# --efi-directory=/boot —— grubx64.efiを指定された場所(EFIパーティション)にインストールします。
# --bootloader-id=ARCH —— 名前をArchにします。
# 次に、vimを使用して/etc/default/grubファイルを編集します。
# GRUBブートローダー設定
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=5 nowatchdog"
GRUB_CMDLINE_LINUX=""
GRUB_DISABLE_OS_PROBER=false
...
# grubに必要な設定ファイルを生成します
grub-mkconfig -o /boot/grub/grub.cfg
必要なソフトウェアのインストール
# ここでいくつかの必須ソフトウェアをインストールできます
pacman -S iwd dhcpcd zsh vim
# ネットワーク設定: iwd dhcpcd
# シェル:zsh
# エディタ:vim
再起動
exit # インストールブートシステムに戻ります
reboot # 再起動し、その際にUSBを抜きます
再起動後の設定#
再起動後、システムはすでにインストールが完了したと言えますが、使用可能な状態にするにはまだ遠く、多くの作業が必要で、多くのソフトウェアをダウンロードする必要があります。
最も重要なのはデスクトップ環境のインストールです。個人の好みに応じて、任意のデスクトップ環境(Desktop Environment)またはウィンドウマネージャ(Window Manager)を選択できます。
私は Hyprland を使用することにしましたが、私のコンピュータは Nvidia グラフィックカードを使用しているため、Hyprland 環境のインストールプロセスは非常に煩雑で、この記事では詳しく記録しません。Hyprland の公式 wiki を参照してください。
以下は、インストール後に必要な基本設定のいくつかを記録します。
再度 vconsole の設定
前述のように、vconsole のフォントと keymap を設定しましたが、それはインストール環境下での設定でした。新しいシステムに入った今、再度設定する必要があります。
vconsole の設定は/etc/vconsole.conf
ファイルにあります。
# このファイルに変更するフォントとキーボード設定を追加します
KEYMAP=us
FONT=LatGrkCyr-12x22
デュアルブートの設定
デュアルブートで、かつそれぞれ異なるディスクにインストールされている場合、今起動すると Windows システムに入ることができません。ブートローダー (grub) の設定を行う必要があります。
# まずWindowsのシステムブートパーティションをマウントします
mount /dev/nvme1n1p1 /mnt
ls /mnt
# os-proberを使用して他のシステムのブートを検出します
os-prober
# grubファイルを再構成します
cp /boot/grub/grub.cfg /boot/grub/grub.cfg.bak
grub-mkconfig -o /boot/grub/grub.cfg
ネットワークの設定
iwd を有効にします。
systemctl enable iwd.service
systemctl start iwd.service
# ここでのネットワーク設定は上記と同様で、rfkillの問題が発生する可能性もありますが、同じ方法で解決できます。
ip link
ip link set wlan0 up
rfkill
rfkill unblock wlan
# その後、iwctlを使用してネットワークに接続できます。
非 root ユーザーの作成
useradd -m -G wheel -s /bin/bash username
passwd username # パスワードを設定します。
# viをダウンロードしていない場合は、vimをviにリンクできます。
ln -s /usr/bin/vim /usr/bin/vi
# visudoを使用してsudoファイルを編集し、wheelユーザーグループの権限を昇格させます。
# 以下の行をコメントアウトします。
%wheel ALL=(ALL:ALL) ALL
man と sudo のインストール
pacman -S man-db sudo
multilib と archlinuxcn リポジトリの追加
# pacmanの設定ファイルを編集して追加します。
# /etc/pacman.conf
# multilibを有効にします。
[multilib]
Include = /etc/pacman.d/mirrorlist
# archlinuxcnを有効にします。
[archlinuxcn]
Server = https://mirrors.nju.edu.cn/archlinuxcn/$arch
# ここでは公式サイトを参考にし、最寄りのミラーソースを追加できます。
pacman -S archlinuxcn-keyring archlinuxcn-mirrorlist-git
# 上記のarchlinuxcnのServer行を以下のように変更します。
Include = /etc/pacman.d/archlinuxcn-mirrorlist
イライラする PC スピーカーのビープ音を無効にする
pcspkr モジュールをブラックリストに追加することで、udev が起動時にそれを読み込むのを防ぐことができます。
# /etc/modprobe.d/nobeep.conf
blacklist pcspkr