banner
silvaire_qwq

Silvaire's Home

共赏春山同揽月,归来唯我影相扶。

使用命令行安裝單系統 Arch Linux

檢查#

  1. 你的電腦支持 UEFI 啟動。
  2. 你的電腦已經關閉安全啟動。
  3. 你擁有 Linux 基礎。
  4. 好的心態 😉

如果您在安裝過程中遇到問題,請嘗試使用搜索引擎搜索問題或者查閱 Arch Wiki,最好不要詢問他人。

您硬碟上的所有信息將會被抹除,所以請提前備份,如出現數據丟失等情況,後果自負。

準備#

  1. 一個 Arch Linux 鏡像
  2. 使用寫盤工具將鏡像文件寫入你的 USB。

準備好後,請從 USB 中啟動您的 Arch Linux ISO。進入 Grub 引導界面選擇後請第一個。

連網#

這一步僅限使用 WLAN 連接網絡的設備需要操作。如果你已經使用網線連接了網絡,請跳過這一步。

我們可以使用 iwctl 命令連接網絡。

iwctl
device list # 查看你的無線網卡名稱
station wlan0 scan # 掃描網絡,一般無線網卡為 wlan0
station wlan0 get-networks # 列出 Wi-Fi 列表
station wlan0 connect 你的網絡名 # 連接網絡
exit # 退出

然後,你需要測試是否已經連接網絡。

ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=54 time=185 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=54 time=184 ms
64 bytes from 1.1.1.1: icmp_seq=3 ttl=54 time=185 ms

出現類似以上的持續輸出後可以按下 Ctrl+C 結束。

換源#

在此之前,請先禁用 Reflector,因為 Reflector 可能會更新你的 mirrorlist 文件。

systemctl stop reflector.service

刪掉 mirrorlist 文件。

sudo rm -rf /etc/pacman.d/mirrorlist

然後就可以更換了,你需要輸入以下內容使用 vim 編輯器打開。

vim /etc/pacman.d/mirrorlist

請在此加入以下內容:

Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch

完成後請按下 ESC 並輸入 :wq,回車。

分區#

在分區之前,你需要查看你磁碟的編號。

fdisk -l 
Disk /dev/nvme0n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: KBG50ZNV512G KIOXIA
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 0B70F9F0-7C38-4F81-9EAB-754397E6079D

Device           Start        End   Sectors   Size Type
/dev/nvme0n1p1    2048    2099199   2097152     1G EFI System
/dev/nvme0n1p2 2099200 1000214527 998115328 475.9G Linux filesystem

你會看到一個或者多個 Disk /dev/* 等磁碟,請查看磁碟的分區或磁碟大小來辨別你要安裝的磁碟。例如我的電腦,就只有一個磁碟: /dev/nvme0n1。在你辨別完成後,記住你的磁碟編號,然後輸入:

cfdisk /dev/你的磁碟

你就會看到一個界面

                                    Disk: /dev/nvme0n1
                 Size: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
               Label: gpt, identifier: 0B70F9F0-7C38-4F81-9EAB-754397E6079D

    Device                 Start           End      Sectors       Size Type
>>  /dev/nvme0n1p1          2048       2099199      2097152         1G EFI System
    /dev/nvme0n1p2       2099200    1000214527    998115328     475.9G Linux filesystem




 ┌────────────────────────────────────────────────────┐
 │  Partition UUID: D3F1CADC-8559-44B4-A98F-3DCBD07C7B0B                                 │
 │  Partition type: EFI System (C12A7328-F81F-11D2-BA4B-00A0C93EC93B)                    │
 │  Filesystem UUID: 59A1-A47E                                                           │
 │  Filesystem LABEL: EFI                                                                │
 │  Filesystem: vfat                                                                     │
 │  Mountpoint: /boot (mounted)                                                          │
 └────────────────────────────────────────────────────┘
    [ Delete ]  [ Resize ]  [  Quit  ]  [  Type  ]  [  Help  ]  [  Write ]  [  Dump  ]
  1. 你需要刪除所有的分區,選中分區後選擇第一個 DELETE,直到你的設備一欄裡只剩餘 Free Space
  2. 你需要選中 Free Space,然後選擇 Create,分區大小修改為1G,然後選擇 Type,找到第一個,EFI,選中。這個分區在後面會被稱之為 EFI 分區。請記住他是 /dev/***
  3. 繼續把光標放在 Free Space 上,直接回車,然後選擇 Write ,輸入y後,你的磁碟就完成分區了。這個分區在後面會被稱之為系統分區。請記住他是 /dev/***

創建文件系統#

你需要做的就是(創建 EFI 分區的文件系統、)創建系統分區的文件系統,然後創建一些子卷,最後掛載。你可以按照下面的命令操作。

# 創建 EFI 分區的文件系統
mkfs.fat -F32 /dev/(EFI分區)

# 創建系統分區的文件系統
mkfs.btrfs -L ArchLinux /dev/(系統分區)

# 掛載分區
mount /dev/(系統分區) /mnt

# 創建子卷
btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@home

# 卸載
umount /mnt

# 掛載
mount -t btrfs -o subvol=/@,compress=zstd /dev/sdxn /mnt
mount -t btrfs -o subvol=/@home,compress=zstd /dev/sdxn /mnt/home --mkdir
mount /dev/(EFI分區) /mnt/boot --mkdir

安裝基本系統#

使用如下命令更新 Keyring 以及安裝基本軟件包到你的分區。這一步的速度和你的網速有關,可能會持續 5 分鐘左右。

pacman -Sy archlinux-keyring
pacstrap /mnt base base-devel linux linux-firmware btrfs-progs networkmanager vim nano sudo iwd net-tools

完成後,輸入以下命令將你現在掛載的位置寫入你系統中的 fstab。

genfstab -U /mnt > /mnt/etc/fstab

你還需要輸入以下命令檢驗你的 fstab 中是否存在子卷 ID。

grep "subvolid" /mnt/etc/fstab

如果這一步執行後存在輸出,請立刻使用編輯器刪除類似 subvolid=xxx 這樣的字符。記得同時刪除後面的逗號。

vim /mnt/etc/fstab

完成後請按下 ESC 並輸入 :wq,回車。

配置#

給新系統換源#

mkdir -p /mnt/etc/pacman.d
cp -r /etc/pacman.d/mirrorlist /mnt/etc/pacman.d

切換到系統#

arch-chroot /mnt

主機名稱#

輸入下面的命令設置你電腦的名字(不要出現除了 "-" 的符號)。例如我的電腦叫 Silver:

echo "Silver" > /etc/hostname

Hosts#

打開 /etc/hosts:

vim /etc/hosts

請使用編輯器加入以下內容:

127.0.0.1   localhost
::1         localhost
127.0.1.1   archlinux.localdomain archlinux

完成後請按下 ESC 並輸入 :wq,回車。

語言支持#

執行以下命令添加中文以及英文的支持,並將默認語言設置為英語:

如果你想問為什麼不設置中文,答案是你的終端裡沒有中文字符的支持,即使直接安裝了桌面環境也不行,因為你沒有安裝中文字體。

echo 'zh_CN.GBK GBK'  > /etc/locale.gen
echo 'zh_CN.UTF-8 UTF-8'  > /etc/locale.gen
echo 'en_US.UTF-8 UTF-8'  > /etc/locale.gen
locale-gen
echo 'LANG=en_US.UTF-8'  > /etc/locale.conf

Root 的密碼#

當你執行下面的命令後會讓你設置 Root 的密碼。輸入的字符不會顯示。

passwd root

安裝 Plasma 桌面 (可選)#

這會同時安裝中文字體。

pacman -S adobe-source-han-sans-cn-fonts plasma konsole dolphin xorg ark neofetch sddm

開機啟動網絡管理器#

systemctl enable sddm
systemctl enable NetworkManager

添加用戶#

useradd -m -G wheel -s /bin/bash 你的用戶名
passwd 你的用戶名

你還需要擁有 sudo 的權限:

vim /etc/sudoers
# ↓ 尋找這一行並且刪掉 `#`,如後面有空格,就刪掉 `#` 後面的空格。
# %wheel ALL=(ALL:ALL) ALL

完成後請按下 ESC 並輸入 :wq,回車。

安裝微碼#

pacman -S intel-ucode
# or
pacman -S amd-ucode

配置引導#

  1. 使用下列命令安裝軟件:
pacman -S grub efibootmgr os-prober
  1. 使用下列命令安裝引導器:
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH
  1. 允許發現其他系統:
vim /etc/default/grub

打開後去掉最後一行前面的 #,完成後請按下 ESC 並輸入 :wq,回車。

  1. 生成配置文件:
grub-mkconfig -o /boot/grub/grub.cfg

設置為中文#

如果您在前面安裝了 Plasma 桌面以及 SDDM,那麼現在你就可以把系統切換為中文了。

rm -rf /etc/locale.conf
echo "zh_CN.UTF-8" >> /etc/locale.conf

最後一步#

你需要退出 Chroot 並且重啟。

exit
reboot

大功告成#

恭喜你,成功的安裝了 Arch Linux。

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