Arch Linux-01:系統安裝

前言

  在被吳文元朋朋洗腦、推坑、直銷 Arch Linux 的各種好之後,我終於也入坑了,而這一系列將紀錄整個的安裝過程,避免未來再踩一次坑。

安裝設備

開始安裝

前置作業

  1. 製作開機碟
  2. 壓縮磁碟區

    由於我要在一塊已有 Windows 10 的硬碟上安裝 Arch linux,因此得來切磁區。

    • 在 Windows 10 中開啟硬碟管理員
    • 以壓縮磁碟區的方式創造出未分配的空間。

安裝系統

  1. 插上隨身碟,並以隨身碟開機
  2. 檢查硬碟、分配磁區

    由於新手上路,這邊我們就分配單一磁區給 / 就好。 至於其他像是 [SWAP] 之類的,有需要就自行處理。

    • fdisk -l: 查看硬碟狀態
    • cfdisk /dev/nvme0n1 選擇硬碟(依照情況自行更改名稱)
      • 進去後選取 Free space -> New -> 輸入 Size (例如: 200G) -> Write -> 輸入 yes -> Quit
    • 格式化為 ext4 格式:mkfs.ext4 /dev/nvme0n1p5 選擇磁區(依照情況自行更改名稱)
  3. 掛載硬碟
    • 掛載 root 分區:mount /dev/nvme0n1p5 /mnt
    • 先創建 boot 資料夾:mkdir /mnt/boot
    • 掛載 efi 分區:mount /dev/nvme0n1p1 /mnt/boot (依照情況自行更改名稱)
      • 這邊我們選擇跟 Windows 10 共用 efi 分區
  4. 連接網路,以下為 Wifi 連接方式
    • 輸入 iwctl
    • 查詢設備:device list (以下依照情況自行更改名稱,這邊以 wlan0 為例)
    • 掃描 wifi:station wlan0 scan
    • 列出 wifi:station wlan0 get-networks
    • 連接 wifi:station wlan0 connect Wifi-Name
    • 有密碼的話輸入密碼
    • 輸入 exit 離開
    • 輸入 ping www.google.com 檢查是否連接成功
  5. 更新系統時間
    • timedatectl set-ntp true
    • 可以執行 timedatectl status 檢查時間同步服務的狀態。
  6. 安裝必要的軟體包
    • 必要:pacstrap /mnt base linux linux-firmware
    • 可以先安裝 Microcode,例如:pacstrap /mnt intel-ucode (詳細請參考第八點)
    • 依照需求安裝:pacstrap /mnt vim iwd man-db man-pages texinfo
  7. 配置系統
    • 生成 fstab 文件

      • genfstab -U /mnt >> /mnt/etc/fstab
      • 檢查生成的 fstab 文件:cat /mnt/etc/fstab
    • 切換到裝好的系統:arch-chroot /mnt

    • 設定時區:ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime

    • 同步硬體時鐘:hwclock --systohc

    • 在地化

      • vim /etc/locale.gen
        • 取消註解 en_US.UTF-8 UTF-8zh_TW.UTF-8 UTF-8
      • 生成 locale 訊息:locale-gen
      • vim /etc/locale.conf
        • 添加設定:LANG=en_US.UTF-8
    • 配置網路

      • 創建 hostname 文件:vim /etc/hostname
        • 輸入你要的名稱,例如:myhostname
      • 修改 hosts:vim /etc/hosts,內容如下
        1
        2
        3
        
        127.0.0.1	localhost
        ::1		localhost
        127.0.1.1	myhostname.localdomain	myhostname
        
    • 設定 DHCP

      • vim /etc/systemd/network/20-wired.network,內容如下
        • enp1s0 為網卡名稱,請用 ip a 自行查看更改
        1
        2
        3
        4
        5
        
        [Match]
        Name=enp1s0
        
        [Network]
        DHCP=yes
        
      • 啟用:systemctl enable --now systemd-networkd.service
    • 啟用 DNS:systemctl enable --now systemd-resolved

    • 修改 root 密碼:passwd

  8. 開機引導,這邊我們使用 systemd-boot
    • 將 systemd-boot 安裝到 efi 分區:bootctl --path=/boot install
    • 手動更新 systemd-boot:bootctl --path=/boot update
    • 啟動選單配置
      • vim /boot/loader/loader.conf,內容如下
        1
        2
        3
        4
        
        default arch.conf
        timeout 10
        console-mode max
        editor no
        
      • vim /boot/loader/entries/arch.conf,內容如下
        • UUID 請自行填入,可於 /etc/fstab 中查看,請選擇 / 目錄的。
        • ucode 的部分請依照您自己的 CPU 來選擇,可於 Arch Wiki Microcode 查看。(在前面第六步的時候可以一起安裝)
        1
        2
        3
        4
        5
        
        title Arch Linux
        linux /vmlinuz-linux
        initrd  /intel-ucode.img
        initrd /initramfs-linux.img
        options root="UUID=XXX-XXX-XXX" rw
        
      • cp /boot/loader/entries/arch.conf /boot/loader/entries/arch-fallback.conf
      • vim /boot/loader/entries/arch-fallback.conf
        • /initramfs-linux.img 更改為 /initramfs-linux-fallback.img 即可
  9. 重新啟動
    • 退出 chroot 環境:輸入 exit 或是按下 Ctrl+d
    • 卸載分區:umount -R /mnt
    • 重新啟動:reboot
    • 記得重開時要移除隨身碟呀

補充

  • 這台電腦進 BIOS 方法:按住 F2,再按電源,直到進入 BIOS 再放開 F2
  • 在 BIOS 新增開機選項
    1. Boot -> Add New Boot Option
    2. Add boot option:輸入選項名稱
    3. Path for boot option:\EFI\systemd\systemd-bootx64.efi
    4. Create -> Ok
  • 開機選單消失問題:Windows_changes_boot_order
  • 字體太小問題
Built with Hugo
Theme Stack designed by Jimmy