Archlinux Install === ###### tags: `ArchLinux` Archlinuxのインストール手順をまとめる。 環境 --- ブートローダ : UEFI USBブートローダの準備 --- #### 1. ISOイメージをダウンロード Arch Linuxの[ダウンロードサイト](https://www.archlinux.jp/download/)からISOイメージをダウンロードする。 #### 2. USBへISOイメージを書き込む - rufusを使ってUSBへISOイメージを書き込む。 - ドライブプロパティは適当に設定。フォーマットオプションは初期設定のままにしておく。 - スタートを押し、ddモードで書き込みを開始する Windows側の設定 --- #### 1. セキュアブートの無効化 - 起動時にF2キーを押してBIOSメニューを開く - BIOSメニューの中のSecureBootをdisableにする ##### *デュアルブートからOS入れ直しの場合* - ついでに、BIOSメニューのブート選択でwindowsブートの項目を最初に起動するように設定する。 #### 2. 高速スタートアップの無効化 - コントロールパネル→ハードウェアとサウンド→電源オプションまで行き、カバーを閉じたときの動作の選択 を開く - 「高速スタートアップを有効にする」 のチェックを外す パーティションの分割 --- #### 1. ディスクの管理を開く - コントロールパネル→システムとセキュリティ→管理ツール→コンピューターの管理→記憶域→ディスクの管理 で開く - スタートボタンを右クリック→ディスクの管理 でも開ける #### 2. Windowsのパーティションのボリュームを縮小する - Windowsパーティションを右クリックして「ボリュームの縮小」を押す - 縮小するサイズ=Archで確保したいサイズを決め、縮小ボタンを押す #### 3. Archのパーティションを作成 - 前述で作成した未割り当てのパーティションを右クリックして「新しいシンプルボリュームをクリック。 - ArchLinuxの[パーティショニング](https://wiki.archlinux.jp/index.php/%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%8B%E3%83%B3%E3%82%B0#.E3.83.91.E3.83.BC.E3.83.86.E3.82.A3.E3.82.B7.E3.83.A7.E3.83.B3.E3.83.86.E3.83.BC.E3.83.96.E3.83.AB)を見てみると、WindowsでデュアルブートかつUEFI環境を使用する際、Archのブートローダである/bootは既存のEFIシステムパーティションにマウントされることが推奨されているので、/bootパーティション以外の必要なパーティション分割を行う。 - また、パーティションされたディスクは2種類あり、 [GPT](https://wiki.archlinux.jp/index.php/GUID_Partition_Table) と [MBR](https://wiki.archlinux.jp/index.php/Master_Boot_Record) がある。UEFIブートではGPTを使うことが推奨されている。 |パーティション|説明| |-|-| |/boot|ブートローダなどが入るディレクトリ。後にEFIシステムパーティションにマウントされる。 |/root|階層のトップディレクトリ。 /boot以外に必要なフォルダがすべてここに入っている。| USBブートローダからの起動 --- - Archを入れたUSBを挿し、BIOSメニューのブートローダ選択でUSBブートを一番上に持っていく。 - Exitを押し、ArchLinuxをUSBから起動する。 OSのインストール --- [インストールガイド](https://wiki.archlinux.jp/index.php/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%AC%E3%82%A4%E3%83%89#.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB)に沿って準備していく。 ### 1. キーボードレイアウト 初期のキーボード配列はUSなので日本語キーボード配列に直す。 ```zsh # loadkeys jp106 ``` ### 2. 起動モードの確認 USBブートでもUEFI環境になっているか確認する ```zsh # ls /sys/firmware/efi/efivars ``` `/efivars`が存在していれば、UEFI環境になっている。 ### 3. パーティションのフォーマット - パーティションは、`/dev/sda`として割り当てられる。パーティションが複数ある場合は、`/sdaX`と割り当てられる。(Xは数字) - 次のコマンドで**rootパーティション**と**EFIシステムパーティション**がどの番号に割り当てられているか確認する。 ```zsh # fdisk -l ``` - archが用意してくれた[ファイルシステム](https://wiki.archlinux.jp/index.php/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0#.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.B7.E3.82.B9.E3.83.86.E3.83.A0.E3.81.AE.E3.82.BF.E3.82.A4.E3.83.97)でパーティションをフォーマットする。 ```zsh # mkfs.ext4 /dev/sdaX ``` ### 4. パーティションのマウント - rootパーティションを[マウント](https://wiki.archlinux.jp/index.php/%E3%83%9E%E3%82%A6%E3%83%B3%E3%83%88)する。 ```zsh # mount /dev/sdaX /mnt ``` - EFIシステムパーティションをマウントする。 ```zsh # mkdir /mnt/boot # mount /dev/sdaY /mnt/boot ``` ### 5. インターネットへの接続 - 有線接続は、自動的に接続される。 - 無線接続は、(後々更新) - 接続を確認する。 ```zsh # ping archlinux.jp ``` ### 6. システムクロックの更新 - システムクロックを正確にする ```zsh # timedatectl set-ntp true ``` - 確認には `timedatectl status` を行う ### 7. インストール - ミラーを選択するために、`/etc/pacman.d/mirrorlist`を開き、tsukubaのサーバーをサーバー一覧の一番上に記述する。 ```zsh # vim /etc/pacman.d/mirrorlist ``` - pacstrapスクリプトでベースシステムをインストールする。 ```zsh # pacstrap /mnt base base-devel ``` ### 8. システムの設定 #### 1. [fstab](https://wiki.archlinux.jp/index.php/Fstab)を作成する。作成終了後は確認を行う。 ```zsh # genfstab -U /mnt >> /mnt/etc/fstab ``` #### 2. [chroot](https://wiki.archlinux.jp/index.php/Change_Root)を行う。 ```zsh # arch-chroot /mnt ``` #### 3. [ロケール](https://wiki.archlinux.jp/index.php/%E3%83%AD%E3%82%B1%E3%83%BC%E3%83%AB)の設定を行う。 まず、`locale.gen`を編集して、`en_US.UTF-8 UTF-8`,`ja_JP.UTF-8 UTF-8`をアンコメントする。 ```zsh # vim /etc/locale.gen ``` 終えたら以下を実行し、localeを生成する。 ```zsh # locale-gen ``` ロケールの設定ファイルを生成。 ```zsh # echo LANG=en_US.UTF-8 > /etc/locale.conf ``` コンソールキーマップを変更する。 ```zsh # echo KEYMAP=jp106 > /etc/vconsole.conf ``` #### 4. タイムゾーン設定を設定する。 シンボリックリンクを張る。 ```zsh # ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime ``` hwclockを実行して、 `/etc/adjtime`を生成する。 ``` # hwclock --systohc --utc ``` #### 5. ホストネーム設定する コンピュータの名前を設定するために、`/etc/hostname`に書き込む。 ```zsh # echo NAME > /etc/hostname ``` NAMEをそのまま`/etc/hosts`にも書き込む ```zsh # vim /etc/hosts ``` ```/etc/hosts 127.0.0.1 localhost ::1 localhost 127.0.1.1 NAME.localdomain NAME ``` #### 6. ネットワークを設定する (後々更新) #### 7. パスワードを設定する rootパスワードを設定する ```zsh # passwd ``` #### 8. ブートローダを設定する /bootはEFIシステムパーティションにマウントされていたが、そこから起動できるよにbootctlを用いてsystemd-bootをインストールする。 ```zsh # bootctl --path=/boot install ``` このままでは、ブートローダが起動しないので`/boot/loader/loader.conf`を編集する。 ```zsh vim /boot/loader/loader.conf ``` ```/loader.conf default archlinux timeout 4 editor no ``` ちなみに、defaultとtimeoutはEFI変数として保存される。 次に作成する`/archlinux.conf`で必要になるrootパーティションのPARTUUIDを調べる。 ```zsh # blkid ``` `/boot/loader/entries/archlinux.conf`を作成する。 ```zsh vim /boot/loader/entries/archlinux.conf ``` ```/archlinux.conf title Arch Linux linux /vmlinuz-linux initrd /initramfs-linux.img options root=PARTUUID=[PARTUUID] ``` #### 9. マイクロコードのアップデートを有効化する IntelのCPUの場合にのみ、これを行う。 pacmanでintel-ucodeパッケージをインストールする。 ```zsh pacman -S intel-ucode ``` 前に作成した`/archlinux.conf`を編集する。 ```zsh title Arch Linux linux /vmlinuz-linux initrd /intel-ucode.img initrd /initramfs-linux.img options root=PARTUUID=[PARTUUID] ``` #### 10. 再起動 chroot環境から抜ける。 ```zsh exit ``` /mntにマウントしたパーティションをアンマウントする。 ```zsh umount -R /mnt ``` 再起動する。 ```zsh reboot ``` --- インストール後の設定 --- - ユーザーの設定 - デスクトップ環境構築 - ネットワーク