前言#
本文只適用於 UEFI 引導。
本文適用於從 Windows 遷移到 Archlinux。
作者不保證本文中的方法可以在您的計算機上使用。
本文使用 Creative Commons 署名 - 非商業性使用 - 相同方式共享 4.0 國際 (CC BY-NC-SA 4.0) 協議共享。
如果文章內容有誤,懇請各位指出,感謝。
目錄#
0x00 前情提要
0x01 備份數據
0x02 製作安裝盤
- 下載鏡像
- 寫入 U 盤
0x03 安裝系統
- 從 U 盤啟動
- 連接 Wi-Fi(有線用戶直接跳過)
- 同步 pacman
- 硬盤分區
- 格式化
- 掛載分區
- 安裝系統
- 配置引導
- 退出新系統並取消掛載
0x04 配置系統
0x05 KDE 配置
- Fctix5+Rime
0x06 軟件相關
- 軟件快速參考
- 使用 AUR (Arch User Repository)
- 安裝 yay
- 使用 yay 進行包的安裝
- 使用 wine 運行 windows 應用
- 使用 winapps 運行 windows 應用
- 創建 windows 虛擬機
0x07 系統美化
- GRUB 美化
- SDDM 美化
- KDE 美化
- 插件
0x08 附錄
- yay 的使用方法
0x09 參考資料
0x00 前情提要#
作者的電腦有 1 塊 512GB 大小的 NVMe 固態硬盤,同時有一塊 2TB 大小的西部數據黑盤移動(機械)硬盤,所以作者需要先把 windows 分區克隆到移動硬盤上,然後全部格式化進行 archlinux 安裝
0x01 備份數據#
使用 微 PE 和 DiskGenius 工具進行數據備份和分區克隆
由於在 PE 環境下您可能無法進行網課 / 刷題等操作,所以我們可以先使用 DiskGenius 的分區鏡像功能把分區鏡像保存到移動硬盤上,再回到 windows 系統使用 DeskGenius 把分區鏡像還原到移動硬盤上(這是因為分區鏡像是 4K / 順序讀順序寫操作,而分區還原是順序讀 4K / 順序寫操作,固態硬盤的小文件讀寫速度顯著大於機械硬盤)
- 製作 wepe 環境
微 PE 下載連接
作者是在 arch 下寫的沒法演示了建議自己去找教程 - 進入 wepe 環境,使用 DiskGenius 進行磁盤鏡像操作
作者是在 arch 下寫的沒法演示了建議自己去找教程 - 回到 windows 環境恢復硬盤
作者是在 arch 下寫的沒法演示了建議自己去找教程
此處注意,恢復完成後硬盤將會脫機,需要打開計算機 -> 管理 -> 磁盤管理
,右擊移動硬盤點擊聯機
,硬盤管理將會重新為分區分配序列號。
0x02 製作安裝盤#
下載鏡像#
首先下載 ISO 鏡像:官方下載鏈接,建議翻到下面找中國的鏡像進行下載。
寫入 U 盤#
然後寫入 U 盤,建議使用 Rufus 工具,分區類型選擇 GPT 而非默認的 MBR ,寫入方式為 DD 而非 ISO。
0x03 安裝系統#
連接 Wi-Fi(有線用戶直接跳過)#
- 輸入
iwctl
進入 iwd 命令行 - 輸入
device list
查看無線網卡設備 - 假設無線網卡為
wlan0
,則輸入station wlan0 scan
掃描網絡 - 輸入
station wlan0 get-networks
查看掃描到的網絡 - 假設要連接網絡的 SSID 為
114514
則輸入station wlan0 connect 114514
如果有密碼,則輸入密碼。 - 輸入
exit
退出 iwd 命令行
同步 pacman#
輸入下列語句,這將自動選出最快的鏡像源並替換
reflector -c China --sort rate --save /etc/pacman.d/mirrorlist
完成後輸入 pacman -Syyy
同步 pacman 源(如下圖)
分區格式化#
假設分區為 nvme0n1p2
,輸入下列命令
mkfs.ext4 /dev/nvme0n1p2
掛載分區#
- 把要安裝系統的分區掛載到
/mnt
mount /dev/nvme0n1p2 /mnt
- 創建
/mnt/boot
文件夾
mkdir /mnt/boot
- 把 EFI 分區掛載到
/mnt/boot
,假設 EFI 分區為nvme0n1p1
mount /dev/nvme0n1p1 /mnt/boot
安裝系統#
- 執行下列命令安裝基本系統
pacstrap /mnt base linux linux-firmware nano
- 生成 fstab 文件
genfstab -U /mnt >> /mnt/etc/fstab
- 切換到安裝好的系統
arch-chroot /mnt
- 建立 swapfile
dd if=/dev/zero of=/swapfile bs=2048 count=1048576 status=progress # 創建 swapfile
chmod 600 /swapfile # 改權限
mkswap /swapfile # 建立 swap
swapon /swapfile # 激活 swap
- 修改 fstab 以支持 swapfile
輸入nano /etc/fstab
,在文件末尾添加/swapfile none swap defaults 0 0
,然後按順序按Ctrl+O Enter Ctrl+X
保存退出 - 設置時區
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- 同步硬件時鐘
hwclock --systohc
- 設置 locale,輸入
nano /etc/locale.gen
,按Ctrl+W
再輸入#en_US
回車
找到 UTF-8,刪除井號
取消註釋,然後再Ctrl+W
搜索#zh_CN
回車
找到 UTF-8,刪除井號
取消註釋,然後按順序按Ctrl+O Enter Ctrl+X
保存退出 - 生成 locale
locale-gen
- 創建並寫入
/etc/locale.conf
文件
輸入nano /etc/locale.conf
,填入LANG=en_US.UTF-8
,然後按順序按Ctrl+O Enter Ctrl+X
保存退出 - 創建並寫入 hostname
輸入nano /etc/hostname
,填入 你要使用的 hostname(如jindan
),然後按順序按Ctrl+O Enter Ctrl+X
保存退出 - 寫入 hosts
輸入nano /etc/hosts
,寫入的內容如圖,然後按順序按Ctrl+O Enter Ctrl+X
保存退出(暫時使用知乎大佬的圖片,文章見結尾參考資料部分)
- 為 root 用戶創建密碼
passwd
然後輸入並確認密碼(linux 終端的密碼沒有回顯,輸完直接回車就好)
配置引導#
- 安裝 GRUB 包和其他需要的包
pacman -S grub efibootmgr networkmanager network-manager-applet dialog wireless_tools wpa_supplicant os-prober mtools dosfstools ntfs-3g base-devel linux-headers reflector git sudo
- 安裝微碼
如果是 Intel 的 CPU,需要安裝 Intel 的微碼文件
pacman -S intel-ucode
如果是 AMD 的 CPU,需要安裝 AMD 的微碼文件
pacman -S amd-ucode
- 如果你還有其他的系統需要引導(尤其是 Windows),需要啟用 OS Prober 來自動檢測其他系統
輸入nano /etc/default/grub
進入 nano,在最後輸入GRUB_DISABLE_OS_PROBER=false
,然後按順序按Ctrl+O Enter Ctrl+X
保存退出
4.. 安裝 GRUB
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch
grub-mkconfig -o /boot/grub/grub.cfg
退出新系統並取消掛載#
exit
umount -a
reboot
0x04 配置系統#
- 啟動網絡服務
systemctl enable --now NetworkManager
- 連接 Wi-Fi(有線用戶直接跳過)
nmtui
- 新建用戶並授權
假設用戶名為jindan
,則輸入
useradd -m -G wheel jindan
- 為新用戶設置密碼
passwd jindan
輸入並確認密碼
5. 授權
輸入 EDITOR=nano visudo
進入 nano,Ctrl+W
輸入 # %wheel
回車
,刪除井號
取消註釋,然後按順序按 Ctrl+O Enter Ctrl+X
保存退出
6. 安裝顯卡驅動
安裝 AMD 顯卡驅動:
pacman -S xf86-video-amdgpu
安裝 NVIDIA 顯卡驅動:
pacman -S nvidia nvidia-utils
- 安裝 Display Server (xorg)
pacman -S xorg
- 安裝 Display Manager
Gnome:
pacman -S gdm
KDE:
pacman -S sddm
Xfce / DDE:
pacman -S lightdm lightdm-gtk-greeter
- 設置開機自啟,假設安裝的是 KDE (
sddm
)
systemctl enable sddm
- 安裝 Desktop Environment
Gnome:
pacman -S gnome
KDE:
pacman -S plasma kde-applications packagekit-qt5
Xfce:
pacman -S xfce4 xfce4-goodies
DDE:
pacman -S deepin deepin-extra
- 添加 archlinuxcn 源
輸入nano /etc/pacman.conf
,寫入的內容如下代碼框,並取消對 multilib 源的註釋
,然後按順序按Ctrl+O Enter Ctrl+X
保存退出
## 阿里雲 (Global CDN) (ipv4, ipv6, http, https)
## Added: 2020-07-03
[archlinuxcn]
Server = https://mirrors.aliyun.com/archlinuxcn/$arch
- 同步 pacman 源並安裝 keyring
pacman -Syu && pacman -S archlinuxcn-keyring
- 安裝字體
pacman -S ttf-sarasa-gothic noto-fonts-cjk
- 重啟
reboot
0x05 KDE 配置#
Fcitx5+Rime#
Fcitx5 是繼 Fcitx 後的新一代輸入法框架。
Rime(中州韻輸入法引擎)是一款支持多種輸入方案的輸入法引擎。
Rime 本身並不提供用於處理用戶輸入的前端,需要和輸入法框架配合才能使用,比如 Fcitx5 (簡體中文) 或 IBus (簡體中文)。
- 輸入下列命令安裝
sudo su
pacman -S fcitx5-im
echo "GTK_IM_MODULE=fcitx" >> /etc/environment
echo "QT_IM_MODULE=fcitx" >> /etc/environment
echo "XMODIFIERS=@im=fcitx" >> /etc/environment
echo "INPUT_METHOD=fcitx" >> /etc/environment
echo "SDL_IM_MODULE=fcitx" >> /etc/environment
cp /usr/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/
pacman -S fcitx5-rime
exit
安裝後可能需要重啟
2. 添加輸入法
4. 設置成簡體中文
0x06 軟件相關#
A 全部功能均可使用
X 不可使用
/ 未測試
注:AUR 中的 deepin-wine 包也算作 原生/AUR
類別
名稱 | 原生 / AUR | Wine | WinApps |
---|---|---|---|
微信 | X | / | / |
A | / | / | |
鈴鈴 | 不能進行會議 | / | / |
Microsoft Office | X | / | A |
使用 AUR (Arch User Repository)#
Arch 用戶軟件倉庫(Arch User Repository,AUR)是為用戶而建、由用戶主導的 Arch 軟件倉庫。AUR 中的軟件包以軟件包生成腳本(PKGBUILD)的形式提供,用戶自己通過 makepkg 生成包,再由 pacman 安裝。創建 AUR 的初衷是方便用戶維護和分享新軟件包,並由官方定期從中挑選軟件包進入 community 倉庫。
當您要安裝任何軟件時,您可以首先前往 AUR 官網 查詢是否有您需要的軟件,如果有,就可以直接使用 yay 進行安裝,yay 的安裝和使用方法見下文
安裝 yay#
yay 是用於快速安裝 aur 包的工具
- 安裝 git
sudo pacman -S git
- 克隆 yay 倉庫
git clone https://aur.archlinux.org/yay.git
- 構建並安裝
cd yay
makepkg -si
使用 yay 進行包的安裝#
輸入 yay -S <包名>
即可,如果詢問是否顯示差異則輸入 n
回車忽略,否則輸入 y
回車確認即可
更多信息情參見 附錄
章節內的 yay 的使用方法
創建 windows 虛擬機#
- 安裝 KVM 和 Virtual Machine Manager
pacman -S virt-manager
- 下載 Windows 10 ISO 和 virtio 驅動
Windows 10 ISO:https://www.microsoft.com/en-us/software-download/windows10ISO(Windows 11 亦可)
VirtIO 驅動:https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso - 打開
虛擬系統管理器
然後點擊編輯 -> Preferences
,啟用啟用 XML 編輯
(如圖)
- 點擊
文件 -> 添加連接
,確保和圖片的設置一樣,點擊連接
即可
- 點擊新建虛擬機
- 选择
QEMU/KVM
连接,点击Forward
(如图)
- 选择镜像(如图)
- 设置内存和 CPU,建议为 4096MB,这其实是最大占用内存(作者太懒了直接用官方文档的图片了)
- 选择您的虚拟磁盘大小,记住这是磁盘将增长到的最大大小,但它不会占用这个空间,直到它需要它
- 接下来,为您的机器命名,命名为 RDPWindows 以便 WinApps 可以检测到它,然后选择 Customize configuration before install
- 单击 Finish,确保在 CPU 下 Copy host CPU configuration 被选中,然后 Apply
- 接下来,转到
XML
选项卡,然后编辑该<clock>
部分以包含
<clock offset='localtime'>
<timer name='hpet' present='yes'/>
<timer name='hypervclock' present='yes'/>
</clock>
然后 Apply ,这将大大减少空闲 CPU 使用率(从~25% 到~3%)
然后你就可以启动系统进行一个正常的 Windows 安装了
0x07 系統美化#
GRUB 美化#
- 挑選喜歡的主題並下載
在 Gnome-look 網站可以找到 GRUB 主題,點擊喜歡的主題進入首頁,點擊Files
,選擇對應的版本下載(如圖)
- 腳本安裝
我選擇的主題是Grub-theme-vimix
,unzip
解壓後可以發現該主題帶有一個install.sh
腳本,可以使用腳本安裝,輸入
bash install.sh
- 手動安裝
等待補充
sddm 美化#
yay -S sddm-config-editor-git
yay -S archlinux-themes-sddm
然後搜索打開 SDDM Configuration
,點擊主題,進行主題更換,如果您使用的是 plasma 默認主題,可以使用 breeze(如圖)
KDE 美化#
插件#
- Awesome Widget 可以顯示自定義的系統參數
- Weather Widget 會把天氣以圖標和表格兩種形式展示出來
- Global Menu 與 Application title 配合使用達到 MacOS 的效果,可以讓界面更美觀,操作更方便
- Panon 音效可視化插件
- Event Calendar 快捷添加任務、顯示天氣、日期和節假日
0x08 附錄#
yay 的使用方法#
在使用 Arch 用戶軟件倉庫時, AUR 工具可以自動完成某些任務:
- 搜索在 AUR 中發布的軟件包
- 解析 AUR 軟件包之間的依賴關係
- 下載 AUR 軟件包
- 下載網站內容,例如用戶評論
- 提交 AUR 軟件包
pacman 只會處理其倉庫中預先構建好的軟件包的更新。 AUR 軟件包以 PKGBUILD 的形式再分發並需要 AUR helper 來自動化構建流程。然而請注意,即使軟件包自身並沒有更新,但由於某些庫文件的更新,您可能仍需重新構建某些軟件包。
不會為 AUR 軟件包檢查更新,所以一些工具也可以自動從 AUR 檢查更新並再次構建新版本的軟件包。請注意,即使軟件包自身並沒有更新,但由於某些庫文件的更新,您可能仍需重新構建某些軟件包。
基本使用#
yay -S <包名> # 在 AUR 中搜索包並安裝
yay -Ss <包名> # 在 AUR 和 官方源 中搜索包並安裝
yay -Si <包名> # 在 AUR 中獲取包的信息
yay -U <包路徑> # 安裝本地包
yay -Pu # 檢查更新
yay -Sy # 同步
yay -Syu # 更新系統
yay -Syua # 更新系統和已經安裝的 AUR 軟件包
yay -Yc # 刪除不必要的依賴
yay -R <包名> # 刪除包
yay -Rs <包名> # 刪除包及其依賴
yay -Rnsc <包名> # 刪除包、依賴和配置文件
0x09 參考資料#
- ArchWiki:您的在線 Arch Linux 文檔庫(官方 Wiki)
- 2021 Archlinux 雙系統安裝教程(超詳細)(知乎)作者:ayamir
- Linux Grub 引導界面(啟動界面)美化(知乎)作者:Kuari
- KDE 美化之路(知乎)作者:知乎用戶 9g4W9C
作為 archlinux 小白在此對上述參考資料的作者表示由衷的感謝
感謝 @Hello 報告錯誤