此文大多數來自這篇文章,但是修改了裡面一些錯誤的地方和優化了一些內容,以及增加了桌面安裝部分和其他一些常用軟體安裝(wayland下的輸入法/firefox等) https://zhuanlan.zhihu.com/p/112541071 正文開始: 安裝前的準備 在Windows還沒有被消滅之前, ...
此文大多數來自這篇文章,但是修改了裡面一些錯誤的地方和優化了一些內容,以及增加了桌面安裝部分和其他一些常用軟體安裝(wayland下的輸入法/firefox等)
https://zhuanlan.zhihu.com/p/112541071
正文開始:
安裝前的準備
在Windows還沒有被消滅之前,先用它製作一個啟動U盤(不是最終安裝的那個u盤),然後用這個U盤來安裝Arch Linux。為完成這一操作,需要準備如下工具:
- Windows電腦開機(什麼!你沒有Windows?那你還要裝什麼Arch Linux?);
- 下載Arch Linux鏡像文件——>清華大學開源軟體鏡像站;
- 下載一個製作啟動U盤的工具,這裡我選擇——>rufus;[這裡註意,rufus寫u盤鏡像的時候,用u盤先轉換為GPT格式[guid],可以用diskgenius來整盤轉;然後rufus寫鏡像時分區類型選GPT)
- 一個容量2G以上的大U盤。(安裝u盤)
- 一個用於安裝移動操作系統的256G以上的移動u盤(系統u盤)
使用rufus製作啟動U盤的步驟非常簡單,選一下系統鏡像文件,選一下自己的U盤(一般會軟體自動選好的),點開始,安心等著就完事了。
準備安裝
把製作好的啟動U盤插上電腦,開機,瘋狂地按那個能夠啟動電腦BIOS的鍵。在BIOS中將U盤設為第一啟動項,保存退出,就可以等著進入U盤裡面的系統了。如果顯示出如下界面,說明啟動U盤製作成功了[我的界面沒有這麼炫,只有文字]。選擇第一個選項就可以開始安裝系統了,如果進不去系統,說明啟動U盤沒有做好,可能需要重新製作一份。
等著系統自己啟動一小會兒,當進入到如下界面以後,就可以開始安裝系統了。
首先,我們需要確定自己的啟動模式(UEFI/BIOS):[我用的是UEFI模式,一般u盤安裝盤和u盤系統盤都轉為了GPT,且BIOS里配置了UEFI(不要開CSM)那這裡一般就是UEFI]
ls /sys/firmware/efi/efivars
如果提示不存在這個文件,那就說明我們的啟動模式是BIOS,否則就是UEFI。下圖是一個BIOS啟動模式的示意圖。
【UEFI啟動模式】如果屏幕上出現一大把東西,那就說明電腦支持UEFI啟動模式。UEFI啟動模式需要在BIOS當中開啟,如果老鐵的硬體比較新,但又不是UEFI啟動模式,可能需要去自己的BIOS當中去看看了。
然後,我們需要給電腦連上互聯網。使用ip link
查看電腦的所有網卡,然後用rfkill
確保網卡能用。我的筆記本電腦使用無線網卡連接網路,對應網卡的名字是wlan0
,這個名字在後面還會用到。
使用命令行程式iwctl
連接互聯網。首先,鍵入iwctl
進入該程式,可以發現終端視窗發生了一些微妙的變化。
輸入help
可以查看該程式的幫助文檔,在這裡我們主要使用幾個以station
開頭的命令。
可以通過幾個命令的素質四連可以很快樂地完成互聯網的連接。分別是station list
列出所有可用無線網卡的名字,然後用station <wlan> scan
掃描當前可用的無線網(<wlan>
需要換成自己的無線網卡名字,我的是wlan0),再然後使用station <wlan> get-networks
展示掃描結果(在敲命令的過程中隨時都可以使用TAB
鍵進行命令補全),最後使用station <wlan> connect <name>
去連接相應的無線網,需要輸入無線網路的密碼(顯示為星號)。效果如下所示:
值得註意的是,中文名無線網路會被顯示成方塊塊(就比如上面圖片當中就有一個wifi的名字全是方塊),所以把無線網名稱設置為純英文還是有必要的哈。完成無線網設置後,使用quit
退出iwctl
,回到熟悉的終端當中。
【有線連接】如果電腦插上了網線,那就應該能直接連上互聯網了,無需任何設置[這裡註意,全部安裝完畢,用u盤系統盤啟動後,這個wifi又失去了連接配置,而且station命令也沒了,可以用NetworkManager里的一個命令在root賬號情況下重新配置wifi,具體命令後面會講]。
使用ping -c 4 baidu.com
測試一下是否成功地連上了互聯網,如果輸出和下圖非常類似的話,那就是成功了。有時候可能不會立馬就連上網,可以過十幾秒再試試ping
。
正式開始安裝系統了,首先更新一下系統時鐘:
timedatectl set-ntp true
什麼輸出都沒有的話,就說明設置成功了。在Linux宇宙,啥輸出都沒有是最好的結果。可以用timedatectl status
查看一下系統時鐘狀態,這裡的時間應該是UTC時間。
[註意,這裡可以不用用timedatectl設置時區那麼快,後面會有設置]
現在開始做硬碟分區了,BIOS啟動模式和UEFI啟動模式的分區會有點不同,老鐵們請移步查看archlinux wiki獲取更多信息。輸入cfdisk
就會進入一個非常好看的文本用戶界面。
【多硬碟情形】直接輸入cfdisk
預設處理的是/dev/sda
[註意自己安裝的情形是一定要通過後面的cfdisk /dev/xxx選擇系統u盤的],如果老鐵有很多硬碟,可以先用fdisk -l
查看所有硬碟名稱,然後用cfdisk /dev/XXX
處理相應硬碟。
如果是BIOS啟動模式,首先刪掉所有現有分區,然後新建兩個分區,一個至少512M的swap分區,一個用掉所有剩餘空間的分區。用type
設定各個分區的格式,swap
分區設定為Linux swap
,另一個分區取預設值83 Linux
。
【UEFI啟動模式】如果是UEFI啟動模式,同樣刪掉所有現有分區(這個最好安裝前就先把系統u盤的所有分區刪除掉),然後新建三個分區,一個300M的boot分區,一個至少512M的swap分區(我選了2G),最後一個分區用掉所有剩餘空間。用type
設定各個分區的格式,boot
分區設為EFI System
,swap
分區設為Linux swap
,剩下的分區設為Linux root x86-64
。
[這裡解釋一下,一開始Free Space里只有一個未分區的硬碟,Free Space選擇它,最下麵有[New],按下New後,下麵會提示new的分區大小是多少,第一次對Free Space我是用來分出boot分區的,因此刪除預設給出的大小,輸入300M;
接著繼續選擇Free Space,第二次也是New 輸入2048M,第三次選擇Free Space New後就用它預設的分區大小回車即可(第三個分區用剩餘的全部容量),接著再分別選擇boot swap root三個分區分別選擇下麵的Write回車]
選擇write
寫入分區表(看上面一點解釋,是三個分區分別都write),在出現的對話框中用yes
確認寫入後退出cfdisk
。分區完成以後就要格式化一下硬碟,那個大於512M的分區格式化為swap,命令如下:
[我這裡的swap由於是第二次分的,所以它在我這裡是/dev/sdc2,當然不絕對,要看分區具體的描述決定]
mkswap /dev/sdXY
swapon /dev/sdXY
這裡面的sdXY
要按照自己的實際情況來填,在我的例子當中我只有一個硬碟,同時swap分區是放在sda2
分區的,這裡我的參數就是/dev/sda2
。然後再格式化我的/dev/sda3
,相應的命令是mkfs.ext4 /dev/sda3
(這個是root分區,roo分區因為最大所以格式化會比較久)。如果分了更多的區,那就要依次進行格式化。這個格式化操作會比較慢一些,略微等一下就好。如果不記得自己的分區表了,可以用cfdisk
或fdisk -l
檢查一下自己的分區表,可以從容量和類型等屬性來判斷具體某個分區是乾什麼用的。
【UEFI啟動模式】如果是UEFI啟動模式,boot
分區要格式化為FAT32
分區(boot分區就是那個EFI System的)。
mkfs.vfat -F32 /dev/XXX
格式化完成以後就要掛載硬碟,因為這個時候的系統是運行在U盤裡的,而你要對電腦的硬碟進行操作,顯然需要掛載一下,相當於把硬碟當成大號U盤(系統u盤)插到小u盤(安裝u盤)上面。命令當中的/dev/sdXY
需要根據實際情況設置為自己的根目錄,也就是那個比較大,占掉所有剩餘空間的硬碟分區(root目錄,ext4文件系統的那個,我的是/dev/sdc3)。
mount /dev/sdXY /mnt
【UEFI啟動模式】如果是UEFI啟動模式,需要在/mnt
下新建一個boot
文件夾,然後把boot
分區掛載到該文件夾下(註意這裡是boot分區,那個EFI System的而非root分區)。如果有更多硬碟,也可以在這個時候用同樣的方法掛載上來。
mkdir /mnt/boot
mount /dev/XXX /mnt/boot
正式安裝
選擇合適的鏡像源,使用vim打開/etc/pacman.d/mirrorlist
,找一個感覺速度比較快的鏡像源用dd
切掉,gg
到首行按p
粘貼一下(最上面的最優先),然後:wq
存儲並退出。這樣在安裝軟體的時候,網速就會比較快了。當然也可以直接使用清華鏡像源(即第一個Server上面加一行:
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
),請參考如下幫助文檔。
archlinux | 鏡像站使用幫助 | 清華大學開源軟體鏡像站 | Tsinghua Open Source Mirror mirrors.tuna.tsinghua.edu.cn/help/archlinux/調整完鏡像源以後,可以刷新一下軟體包緩存:
pacman -Syy
現在可以正式開始安裝系統了,安裝系統使用pacstrap
,輸入如下命令安裝一些基礎包:
pacstrap /mnt base linux linux-firmware base-devel
除了這些包以外,我們還可以安裝許多其他的包,比較重要的是一定要安裝一個網路管理器和一個文本編輯器,否則新系統啟動後連不上網或者是改不了配置文件就傻了。
pacstrap /mnt networkmanager dhcpcd vim
networkmanager
提供nmcli
(命令行工具)和nmtui
(文本界面工具)用來聯網,dhcpcd
用來動態獲取ip地址,vim
用來編輯配置文件。只要能連上網,別的軟體都可以晚點裝,目前裝這麼多東西就足夠開機了。需要等待安裝過程完成以後,再執行後續的操作,現在可以出去上個廁所先。
生成分區表:
genfstab -U /mnt >> /mnt/etc/fstab
如果掛載了其他的硬碟,那麼這一步會把他們的相關信息寫入配置文件,開機啟動後會自動完成硬碟掛載。如果在前面的操作當中沒有掛載其他硬碟,系統便不會把相關信息寫入配置文件,系統啟動後如果想要使用其他硬碟,還需要手動掛載。
進入新系統:
arch-chroot /mnt
設置時區(當然了,如果不在國內肯定就不設置上海的時區了哈):
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
設置硬體時間
hwclock --systohc
本地化設置,使用vim
打開/etc/locale.gen
,把en_US.UTF-8 UTF-8
和zh_CN.UTF-8 UTF-8
取消註釋,保存退出。運行下麵兩條命令:
locale-gen
echo LANG=en_US.UTF-8 >> /etc/locale.conf
註意到這裡設置的是en_US.UTF-8
,這是因為中文在終端中可能會被顯示為方塊塊(後面安裝了中文字體後可以考慮換成zh_CN.UTF-8
)。
設置網路(這裡的myhostname
取一個自己喜歡的名字)(這裡的網路應該是錯誤的說法,感覺這裡設置的是windows下的主機名,我的是xxx-PC):
echo myhostname >> /etc/hostname
使用vim
打開/etc/hosts
,在裡面輸入下麵三行內容(myhostname
換成上面自己取的名字,localdomain
隨便取一個自己喜歡的組織名):
127.0.0.1 localhost
::1 localhost
127.0.1.1 myhostname.localdomain myhostname
設置root用戶的密碼(連輸兩遍,輸入時無顯示):
passwd
intel
的CPU安裝intel-ucode
,amd
的CPU安裝amd-ucode
。如果不太確定自己的cpu型號,可以安裝一個neofetch
,然後使用neofetch
查看。(不知道能不能兩個都安裝?)
# 可選項
pacman -S neofetch
neofetch # 查看cpu和顯卡信息
# 必選項
# 但是需要根據實際情況安裝其中某一個就可以了
pacman -S intel-ucode
pacman -S amd-ucode
對於BIOS
啟動模式,安裝grub
用來啟動系統,註意sdX
後面沒有數字:
pacman -S grub
grub-install --target=i386-pc /dev/sdX
grub-mkconfig -o /boot/grub/grub.cfg
【UEFI啟動模式】對於UEFI啟動模式,需要同時安裝grub
和efibootmgr
。
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg
(這裡註意,上面的=GRUB的GRUB似乎可以自定義,比如可以寫ArchLinux)
退出系統,準備關機了:
exit
卸載剛剛掛載上來的硬碟(卸載失敗也無所謂,不強求,一般會提示busy):
umount /mnt
重啟電腦(黑屏的時候記得拔掉U盤,或者是在啟動前重新進BIOS設置啟動順序):
reboot
進入系統
開機後顯示這樣的畫面,就說明我們已經成功地安裝好Arch Linux系統了。
登錄的時候輸入root
作為用戶名,密碼自然是自己在安裝系統的時候設置好的密碼。
安裝完成後
在使用NetworkManager
聯網之前,先啟動必要的後臺服務,然後用nmcli
或nmtui
(推薦)聯網就可以了。
systemctl start NetworkManager
systemctl enable NetworkManager
systemctl start dhcpcd
systamctl enable dhcpcd
連接上互聯網以後(註意,這裡需要用root賬號再通過nmtui
來連wifi,選擇Activate xxx,然後選擇對應的wifi連接,連接好後可以用ip -brief address看下自己的ip情況),我們需要創建一個普通用戶賬號,一直使用root
不太好。username
可以改成自己喜歡的用戶名,-m
表示創建用戶的家目錄~
,-G
表示把用戶放進wheel
這個組。
useradd -m -G wheel username
創建完用戶以後,設置一下該用戶的密碼:
passwd username
為了讓新創建普通用戶能夠獲得管理員許可權,安裝sudo
包:
pacman -S sudo
安裝完畢以後,使用vim打開/etc/sudoers
,找到%wheel ALL=(ALL:ALL) ALL
這一行取消註釋,然後使用:wq!
強制改寫該文件,使得wheel
這個組內的用戶都可以使用sudo
。
使用exit
退出root
帳號,用普通用戶登錄系統後就可以正式開始使用archlinux系統了。
接下來就是安裝桌面環境和桌面環境下的一些軟體了:
1.安裝中文字體:
sudo pacman -S wqy-zenhei ttf-fireflysung noto-fonts(也可以找一些其他更好看的字體)
2.安裝KDE Plasma:
sudo pacman -S plasma-wayland-session plasma-wayland-protocols qt5-wayland qt6-wayland xorg-xwayland plasma sddm konsole dolphin kate ark okular spectacle
安裝完成後再用:systemctl enable sddm啟動登錄管理器服務;
3.安裝中文輸入法:
sudo pacman -S fcitx5-im fcitx5-chinese-addons
安裝完成後設置環境變數:
sudo vim /etc/environment,添加這些配置:
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
INPUT_METHOD=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus
這裡預設的輸入法不好用,但是又不知道搜狗支持wayland不,如果支持可以用:yay -S fcitx5-pinyin-zhwiki fctix5-pinyin-sougou安裝試下;
接著重啟電腦(重啟後桌面環境才會生效)
啟動後就可以看到進入了桌面環境,其左上角可以看到預設是wayland,賬戶是上面新建的非root賬號;
登錄進去後發現KDE是英文,可以點擊左下角菜單,選擇System Settings-> Regional Settings,可以看到語言預設是美國的,點擊Modify就可以選擇簡體中文(如果上面沒有安裝中文字體會發現有亂碼)
如果發現輸入法不能用,可以試著註銷一下用戶;
接著安裝瀏覽器,可以之間用sudo pacman -S firefox安裝;
至此arch linux基本功能的安裝就結束了;