banner
yshenn

yshenn

一日,三餐,免不了的

 -Archlinux-安裝

wallhaven_17


本文是以記錄為目的,可以作為一個參考,網上有很多很詳細的教程,還有官方的 ArchWiki。


安裝前準備#

關於雙系統
雙系統的安裝分兩種:

  • 一種是將 win 和 linux 安裝在同一張硬碟上,這時,需要提前在 win 中分出一個空閒的區域,為 linux 留出空間
  • 另外一種是將 win 和 linux 安裝在兩張獨立的硬碟上,此時和單系統安裝一樣,但安裝後的系統引導設置不同

下載 iso
archlinux 官網 或者一些開源鏡像站 (tsinghua),下載最新 iso 文件


下載安裝盤刻錄軟體
我使用的是 ventoy,開源。它和一般的刻錄軟體不同,一般軟體是將安裝引導系統刻錄進整個 U 盤,這樣系統安裝完之後,U 盤就不能直接使用了,需要進行格式化;而使用 ventoy 安裝系統後,U 盤還是能夠正常使用,也不需要備份 U 盤內的文件;並且操作起來也很簡單,只需要把 iso 文件直接拷貝至 U 盤即可,無需其他操作。


主板 BIOS 設置
開始安裝之前,需要對 bios 進行簡單的設置

  • 關閉 Secure Boot,archwiki 指出Arch Linux installation images do not support Secure Boot
  • 設置安裝盤(也就是 U 盤)優先啟動

每台電腦進入 Bios 的方式都不一樣,具體可以根據電腦型號,參考官方說明書


安裝#

基本設置#

設置好 bios,插上 U 盤,就準備開始安裝了。
當電腦螢幕跳出引導加載器菜單 (boot loader menu),也就是一個可以選擇的黑框框,選擇第一個 Arch Linux install medium,直接回車,就進入了 archlinux 安裝環境


設置合適的字體和鍵盤佈局 (optional)
安裝環境下,這個 console 中的字體特別得小,看著很費勁,所以可以修改一下字體,選擇一個更大的字體,系統所有可用字體都在/usr/share/kbd/consolefonts/目錄下,可以用setfont命令進行設置:

#以/usr/share/kbd/consolefonts/ 下的文件名(省略擴展名),作為命令參數
setfont LatGrkCyr-12x22 #這是一個比較大的字體

同時你也可以更改鍵盤佈局,一般不需要更改,默認是 US 佈局,所有支持的鍵盤佈局都在/usr/share/kbd/keymaps/下的每一個目錄中,使用loadkeys命令進行修改:

# 同樣,下面的參數就是鍵盤佈局的名字,不加擴展名
loadkeys keyboardlayout

確定電腦的啟動模式 (optional)
電腦啟動在加載硬體驅動方面的程序,主要有早期的 BIOS 和現在的 UEFI 兩種,兩種模式的啟動方式不一樣,按照 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 - tool for enabling and disabling wireless devices
rfkill # 列出無線設備及狀態
rfkill unblock wlan  # unblock網卡

接著使用 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:創建一個新的分區

主要有三個分區:
boot 分區 + 主分區 + swap 分區

我這裡創建四個分區
第一個是系統引導分區,掛載在/boot目錄下
第二個是主分區,掛載在根目錄/
第三個是用於存儲用戶文件數據分區,掛載在家目錄/home
第四個是 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

# or 
# omit mkdir
# mount --mkdir /dev/nvme0n1p2 /mnt/home

掛載完成後,可以說系統的安裝已經進行一大半了


正式安裝#

選擇國內的軟體源
在安裝前要禁用 reflector 服務,該服務會自動更新 pacman 的 mirrorlist,如果關閉晚了,也沒關係,可以手動添加國內源

# /etc/pacman.d/mirrorlist
# 將其中China下的鏡像源提到最前面即可

安裝系統(Install essential packages)
安裝 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

主機名和 host 配置
新建 /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


配置 boot loader (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 boot loader configuration

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
# shell:zsh
# 編輯器:vim

重啟

exit  # 退回到安裝引導系統中
reboot  # 重啟,在重啟的過程中,將U盤拔出

重啟後的配置#

重啟後,系統可以說已經安裝完成,但要達到可用的程度,還差很遠,需要做很多工作,下載許多軟體

最重要的莫過於安裝桌面環境,可以選擇個人喜歡的任何桌面環境 (Desktop Environment) 或者 窗口管理器 (Window Manager)

我選擇使用的是 Hyprland,但由於我的電腦使用的是 Nvidia 顯卡,安裝 hyprland 環境的流程極其繁瑣,本文不多作記錄,可以參考 hyprland 官方 wiki

下面記錄一些安裝後,所需的基本配置


再次設置 vconsole
上文已經講述過設置 vconsole 字體和 keymap,但那是在安裝環境下,便於我們安裝而設置的,現在進入新系統中,需要重新進行設置。
vconsole 的配置在/etc/vconsole.conf 文件中

# 在該文件中添加要修改的字體,以及鍵盤設置
KEYMAP=us
FONT=LatGrkCyr-12x22

設置雙系統引導
如果是雙系統,並且分別安裝在兩個盤中,那麼現在開機時,你是無法進入 win 系統的,需要對 boot loader (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 file,提升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

1.archlinux installation
2.thecw
3.archlinux 簡明指南

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。