筆者的筆電是一台很舊型的破電腦
由於沒有錢換 Macbook
所以暫時只能拿這個頂著用
因此會希望把自己的電腦環境調教好
再加上筆者超級討厭 windows 的工作環境
所以大約在兩年前就將電腦灌成 Archlinux 了
由於前陣子筆者的 EFI 分區壞掉了
因此整個系統被迫重灌
剛好就來分享一下筆者在安裝時遇到的一些問題
# 前言
宮語出品 必是毒品
本篇將分享筆者在安裝 Archlinux 時遇到的一些問題
將注重於經驗分享 而非以教學為主
雖然還是會帶一點安裝步驟
但請先有預期 本文並不會手把手教你安裝
# 為什麼是 Archlinux
Arch 是一個以輕量化著名的 Linux 發行版
筆者在使用過各種不同的 Linux 系統後
覺得在安裝過 GUI 之後
Arch 是其中最輕且最好用的
# 為什麼不是 Ubuntu
我討厭它
# 為什麼不是 Manjaro
幹 Manjaro 是 Arch 的衍生版
它就是 Base on Arch 的
# 注意事項
俗話說 Arch 裝三次才會成功
雖然不是每個人都會踩到這麼多坑
但最好還是要有不一定能夠一次成功的心理準備
# 前置作業
# 本文預設前提
- 有一台可以開機的電腦
- 有一個可以使用的網路環境
- 有一個可以使用的 USB
- 你會用電腦 (不然你在看這篇幹嘛)
- 最好是看到 cli 介面不會感到頭痛
# 環境準備
# 系統安裝檔
在開始前 我們可以去 Archlinux 官網下載最新的 ISO 檔
並且寫入到 USB (或其他隨身可攜裝置) 中
# 網路
在開始設定前最好接上有線網路
使用無線網路可能會有一些問題
後面會提到無線網路的一些設定和問題
# 讀取 USB
透過 UEFI 或 BIOS 進入 USB
應該就可以讀到 Archiso 了
它本身就是一個迷你的系統
進入後就可以使用 cli 介面開始安裝了
# 其他
剩下應該就跟普通裝系統差不多
如果不會裝系統的話建議先嘗試裝裝看 windows
或者先用虛擬機玩玩看
再來嘗試玩 Linux 系統
# 安裝
# 網路設定
首先最好測試網路連線
使用 ping 測試
ping archlinux.org |
如果是 無線網路
的話可能會需要手動設定
iwctl station <device> connect <SSID> |
:無線網卡名稱(可透過 iwctl device list 查詢) :欲連線的無線網路名稱
要密碼的話應該會提示你
照著輸入就好了
# 磁碟分割
接下來就是分割你的磁碟分區
基本上一個可以開機的系統需要兩個分區
- EFI 分區:用來放置系統開機所需的檔案
- 作業系統分區:用來放置系統本身的檔案
後者又可以進行更進一步的分割
不過不在我們討論的範圍內
# 分割磁碟
# 查看磁碟 | |
$ fdisk -l | |
/dev/sda1:EFI System | |
/dev/sda2:Linux(root) | |
/dev/sda3:Linux(home) | |
/dev/sda4:Swap |
這邊我們可以看到我的磁碟分成四個分區
其中
- sda1:EFI 分區
- 建議大小:256MB (雙甚至多系統建議 512MB 甚至更高)
- 類型為 EFI System
- 這是系統開機所需的分區
- sda2 和 sd3:作業系統分區
- 建議大小:各自隨意
- 類型為 Linux filesystem
- 這是系統本身所需的分區
- sda2:root 分區 系統會安裝在這裡 類似 C 槽
- sda3:home 分區 用來放置個人資料 類似 D 槽
- sda4:Swap 分區
- 大小隨意 建議 2G 以上
- 類型為 Linux swap
- 非必要 基本上只有在系統記憶體不足時才會使用到
如果你的磁碟剛買 只有空空的一個分區
那就需要先分割磁碟
cfdisk /dev/sda |
這邊我們使用 cfdisk 來分割磁碟
- 選擇要分割的磁碟
- 選擇要分割的分區
- 選擇要分割的方式
- New:新增分區
- Delete:刪除分區
- Edit:編輯分區
- Write:寫入分區
- Quit:離開分割磁碟介面
分割方式就如果上面所述的自己取捨大小即可
完成後就可以格式化分區了
# 磁碟格式化
接著就是格式化分區了
這邊我們使用 ext4 格式化作業系統分區
注意!!!如果你電腦是想裝多系統
而電腦裡本來就有 EFI 磁區 請不要格式化它
否則可能會導致電腦無法開機
# 格式化系統磁區
$ mkfs.ext4 /dev/sda2 | |
$ mkfs.ext4 /dev/sda3 | |
$ mkswap /dev/sda4 |
# 格式化 EFI 磁區
$ mkfs.fat -F32 /dev/sda1 |
# 掛載分區
$ mount /dev/sda2 /mnt | |
$ mount /dev/sda3 /mnt/home | |
$ swapon /dev/sda4 |
# 基本系統安裝及設定
# 安裝系統本體
我們使用 pacstrap 來安裝系統本體
還有一些基本的套件
$ pacstrap /mnt base base-devel linux linux-firmware |
# 切換到新系統
接著就可以進到新系統裡面進行設定和安裝了
chroot 可以讓你切換根目錄
而 arch-chroot 除了有 chroot 的功能之外
還可以將一些前置設定帶入
$ arch-chroot /mnt |
補充一些可能有人有疑問的點
我們本來在 usb 的 archiso 裡面 但系統是安裝在電腦的硬碟上的 所以需要切換
現在只是暫時從 usb 的 archiso 切換到電腦的硬碟上的 archlinux 而已
之後系統安裝完成後就不需要這樣進入了
# 設定時區
設定時區到台北
$ timedatectl set-timezone Asia/Taipei |
讓系統自動調整時間
$ timedatectl set-ntp true |
# 設定語言
把 /etc/locale.gen
裡面的 en_US.UTF-8 UTF-8
和 zh_TW.UTF-8 UTF-8
前面的 #
去掉
這樣系統就會支援英文和繁體中文了
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen | |
echo "zh_TW.UTF-8 UTF-8" >> /etc/locale.gen | |
locale-gen | |
localectl set-locale en_US.UTF-8 |
# 設定主機名稱 (不重要啦)
$ echo "<你的名字(たきくん(X))>" >> /etc/hostname |
# 設定 root 密碼
記得設定 root 密碼
不然之後會沒辦法登入系統
$ passwd |
# 建立一般使用者
為之後作為日常使用的使用者設定一個帳號
$ useradd -m <使用者名稱> | |
$ passwd <使用者名稱> | |
# 加入 sudo 群組 (非必要 但個人電腦建議要) | |
$ usermod <your-user-name> -aG <your-group-name> |
# 安裝 grub
接著我們安裝 grub
grub 是用來開機的一個引導程式
大致上功能就像學校電腦會看到的那個選擇系統的畫面
讓你不用一直進入 bios 選擇開機系統
# 下載套件
$ pacman -S grub efibootmgr os-prober |
os-prober 是用來偵測其他系統的 例如 windows 可以用於裝多系統
# 安裝 grub
下載後要安裝和產生設定檔
當然這個設定檔是可以魔改的
不過我們這邊就先用預設的
$ grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB | |
$ grub-mkconfig -o /boot/grub/grub.cfg |
如果有裝多系統的話
輸入下面這行可以解鎖其他系統的引導
$ echo "GRUB_DISABLE_OS_PROBER=false" >> /etc/default/grub |
設定完後再重新產生設定檔應該就可以讀到其他系統了
# 安裝網路管理套件
這邊我們安裝網路管理套件
我用的是 networkmanager
$ pacman -S networkmanager |
# 退出 chroot
打上 exit 就可以退出 chroot 了
如果順利的話就可以關機了
之後重新開機並切換到硬碟上的 archlinux
應該就可以順利進入系統了
注意要切換到硬碟上的 archlinux 而不要一直進入 usb 上的 archiso 了
# 桌面環境設定
# 安裝桌面環境
我自己個人用的是 kde plasma
雖然我很討厭它的設計
但因為比較大眾的兩個之中
另一個更難用 所以 對 我選了 plasma
以後有能力再自己設計一個
安裝 KDE 的全家桶
$ pacman -S xorg-server plasma plasma-wayland-session kde-applications |
# 安裝顯示卡驅動
這邊我們要安裝顯示卡驅動
我同時有 intel 和 nvidia 的顯示卡
所以我們要安裝兩個驅動 不然可能會出事
$ pacman -S xf86-video-intel | |
$ pacman -S nvidia nvidia-utils |
# 設定啟用服務
接著我們要設定啟用的服務
之後開機時就會自動開啟這些程式
$ systemctl enable sddm | |
$ systemctl enable NetworkManager |
# 進入圖形介面
如果上面的步驟都沒有問題的話
重開機後就可以進入圖形介面了
# 個人化設定
# 安裝字型
我個人比較喜歡 noto 字型
所以安裝一下吧
$ pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji |
# 安裝輸入法
我自己是使用 rime 輸入法
可以自定義的東西很多
並且可以自己調教
$ pacman -S ibus-rime rime-bopomofo | |
$ ibus-daemon -drx --panel=/usr/lib/kimpanel-ibus-panel |
有另一套基於 fcitx 的 rime 輸入法 那個我沒有試過 有興趣可以查一下
# 個人化
剩下就是一些比較零散的設定了
基本上就跟設定新手機或是新電腦一樣
自己去摸索吧
# 推薦套件
這邊推坑一些我自己用的軟體
# 瀏覽器
我使用 vivaldi 瀏覽器
# 編輯器
我通常使用 vscode
或者 tmux+neovim
# 套件管理器
yay 是一個非常強大的套件管理器
可以幫助你快速安裝套件
$ git clone https://aur.archlinux.org/yay.git | |
$ cd yay | |
$ makepkg -si |
# 終端機
我自己使用的是 konsole
# 螢幕錄影
我直接用 obs 錄影 好爽喔
# 通訊軟體
discord 和 telegram 都有現成的 arch 套件可以裝
很方便吧
# 尋找適合你的套件
如果你不知道
可以去 google 搜尋 arch <套件名稱>
或者是直接到上搜尋
基本上可以搜尋到很多結果
可以幫助你找到適合你的套件
然後再自己使用
yay -S <套件名稱>
或 pacman -S <套件名稱>
進行安裝
# 結語
這篇文章是我自己的安裝筆記
有些地方因為我早就會裝系統了
所以帶得很簡陋
我自己是從 2020 年底開始入坑 arch
一開始只是我想要一個 linux 環境做為開發環境
雖然有 server 和 nas 可以用
不過實在是受夠筆電上 windows 的體驗了
索性就入坑了 arch 神教
我自己第一次裝也是裝了 3 次才成功
第一次網路沒設定好 dhcp 抓不到
第二次沒設定好顯卡驅動
第三次雖然也有一些零碎的小問題
但因為主系統都差不多了
起碼不用整個重裝
目前也還有一些待解決問題
- 不知道怎麼設定麥克風的輸入 收音好到一直收到雜音
- 滑鼠的捲動超級慢 但就是找不到好的設定檔或軟體去解決
- 想到再說
如果有什麼問題歡迎留言
有關於 dotfile 的部分在我的 github 上有一份
有問題可以發 issue 給我