如何從windows開始安裝和配置一個好看的archlinux
時間是 2025 年 1 月 15 日,我在這里寫下了這篇文章.目的是敘述如何在一臺 windows 主機上安裝和配置能夠在中國大陸地區使用的漂亮的 Arch Linux.
前提條件/需要:
- 一臺 windows 主機
- 一個 U 盤>=8G
- 可用(未分配)的硬盤空間最好大于 50G(可以在 windows 上通過壓縮卷完成這一準備,我這里使用 200G,并為這個空間格式化為了
ntfs方便之后找(optional)) - 一個可用的網絡連接(我使用無線網絡)
- 機場的訂閱鏈接(clash for windows 的鏈接就可以)
- 高中英語水平
- 一點耐心
- 非藍牙鍵盤
- 任意人工智能訪問
如果你能看得懂文檔: Arch Linux 安裝指南那你最好先去看和跟著做.這篇文章只是記錄我自己的安裝,配置和一些自定義操作.我是根據以上文檔來做的.
- 參考這里下載 archlinux如果你懶得看可以直接點擊這里下載阿里云鏡像 2025.01.01 版本的archlinux
- 燒錄到 U 盤:為了避免你找到付費工具,我用的是這個:U 盤燒錄工具,當然還有成千上萬的免費燒錄工具,下載之后你會得到一個壓縮包,解壓后得到燒錄軟件和使用說明,如果你看不懂說明可以讓 GPT 給你解釋
- 然后需要禁用你電腦的"UEFI 安全啟動"選項,以便我們能從 U 盤啟動系統,具體方法可以根據你的電腦型號搜索
- 重啟電腦,按照提示進入 BIOS(根據不同型號,一般需要在開機時迅速連續按一個鍵,我這里是
F12),選擇從 U 盤啟動(一般來說,就是不是 WINDOWS 的那個選項,當然你也可以通過 U 盤型號確定這個選擇),進入 Arch Linux 安裝界面 - 當引導加載程序菜單出現時,如果你使用了 ISO 映像,選擇
Arch Linux install medium并按Enter進入安裝環境。鍵盤輸入ip link之后應該有類似于下面的輸出:
![iplink]()
- 以上過程成功說明你的鍵盤輸入 OK,網絡連接硬件條件 OK.你可以休息一下.注意接下來的命令大多有按
tag鍵補全或者提示的功能,在我們輸入長命令時很有用.鍵盤有方向鍵可以按上箭頭和下箭頭尋找歷史命令,左右箭頭移動輸入光標,這對輸入重復和相似命令很有用. - 接下來我連接無線網:輸入
iwctl進入新的交互界面,輸入device list:
可以看到我的網卡可能默認被關閉了,現在要重新打開.輸入quit退出 iwctl,輸入 rfkill 檢查:
看到 block,說明網卡被禁用了,輸入rfkill unblock wifi解除禁用,再次輸入iwctl進入交互界面,這里我的網卡是wlan0,接下來的命令我以的這個網卡名字為例.輸入device [name] set-property Powered on打開網卡,輸入station wlan0 scan掃描附近的無線網絡,輸入station wlan0 get-networks找到你的網絡名,輸入station wlan0 connect [networkname]連接網絡,輸入密碼,連接成功后使用quit退出.至此基本網絡連接完畢.可以通過在終端輸入ping baidu.com來測試網絡連接(有不斷的輸出就是成功了,通過ctrl+c可以中止命令). - 進行磁盤分區:若你沒有磁盤分區熟練經驗,建議對欲操作的硬盤全盤所有數據進行備份輸入
fdisk -l查看磁盤信息,找到你要安裝的磁盤,我這里是/dev/nvme0n1(一塊固態硬盤),輸入fdisk /dev/nvme0n1準備對此硬盤分區.由于我事先將準備裝系統的空間格式化為了ntfs,在這里是可以看見有 200G 的對應空間/dev/nvme0n1p4(注意這個4).我準備在這 200G 中分 3 個空間,分別用于啟動工具grub,擴展內存swap和系統所在.下面介紹流程:以下所說的默認指不輸入任何東西直接按enter一行所寫的輸入結束后要按enter
- 輸入
p查看當前分區表,看到有/dev/nvme0n1p4。 - 輸入
d刪除分區: - 系統會提示輸入分區號,輸入
4(對應/dev/nvme0n1p4)。 - 輸入
p查看分區表,確認/dev/nvme0n1p4已刪除(看不見了),空間變為未分配。 - 創建 GRUB 分區(512MB)
- 輸入
n創建新分區。 - 按提示選擇分區類型(系統會依次提示你輸入):
- 分區號默認
- 起始扇區默認。
- 終止扇區輸入
+512M(創建 512MB 的分區)。
- 輸入
- 設置分區類型為 EFI System:
- 輸入
t修改分區類型。 - 輸入分區號(這里是,對應之前刪除的分區號
4)。 - 輸入
1(對應 EFI System 類型)。
- 輸入
- 創建 Swap 分區(8GB)
- 輸入
n創建新分區。 - 按提示選擇分區類型:
- 分區號默認。
- 起始扇區默認。
- 終止扇區輸入
+8G(創建 8GB 的分區)。
- 輸入
- 設置分區類型為 Linux Swap:
- 輸入
t修改分區類型。 - 輸入分區號(這里是,對應之前刪除的
分區號+1=5)。 - 輸入
19(對應 Linux Swap 類型)。
- 輸入
- 創建系統分區(剩余空間)
- 輸入
n創建新分區。 - 按提示選擇分區類型:
- 分區號默認。
- 起始扇區默認。
- 終止扇區默認(使用剩余空間)。
- 輸入
- 輸入
w寫入分區表。
至此你的磁盤已經分配完畢,可以通過p查看分區表,確認分區已創建.
- 格式化分區:輸入
mkfs.fat -F32 /dev/nvme0n1p4格式化 EFI 分區,輸入mkswap /dev/nvme0n1p5格式化 swap 分區,輸入swapon /dev/nvme0n1p5啟用 swap 分區,輸入mkfs.ext4 /dev/nvme0n1p6格式化系統分區. - 掛載分區:輸入
mount /dev/nvme0n1p6 /mnt掛載系統分區,輸入mkdir /mnt/boot創建 boot 目錄,輸入mount /dev/nvme0n1p4 /mnt/boot掛載 EFI 分區. - 安裝基本系統:輸入
pacstrap /mnt base linux linux-firmware vim networkmanager安裝基本系統和內核.安裝完成后,生成并寫入分區掛載信息:genfstab -U /mnt >> /mnt/etc/fstab.至此我們的新系統已經可以使用.接下來都是美化和配置操作. - 進入新系統:輸入
arch-chroot /mnt進入新系統
- 設置時區:輸入
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime輸入timedatectl set-timezone Asia/Shanghai輸入timedatectl set-ntp true - 設置硬件時間:輸入
hwclock --systohc - 設置語言(這里需要你學習 vim 的基本使用方法,增刪查改):輸入
vim /etc/locale.gen找到en_US.UTF-8 UTF-8和zh_CN.UTF-8 UTF-8取消注釋,保存退出,輸入locale-gen - 設置主機名輸入
echo arch > /etc/hostname - 設置 root 密碼:輸入
passwd輸入兩次密碼(所有密碼輸入會保持不可見,輸完按enter就可以,建議先設置一個簡單的純數字密碼,之后可以在命令行用相同的方式修改)
- 聯網:啟用并啟動
NetworkManager服務:
systemctl enable NetworkManager
systemctl start NetworkManager
nmtui
通過 tui 圖形界面配置網絡(方向鍵和 enter).
-
創建用戶:輸入
useradd -m -G wheel -s /bin/bash [username]輸入passwd [username]輸入兩次密碼,輸入EDITOR=vim visudo找到# %wheel ALL=(ALL) ALL取消注釋號#,保存退出這里的[username]是你的用戶名 -
安裝 grub:輸入
pacman -S grub efibootmgr安裝 grub 和 efibootmgr,輸入grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB安裝 grub,輸入grub-mkconfig -o /boot/grub/grub.cfg生成 grub 配置文件 -
重啟:輸入
exit退出 chroot,輸入umount -R /mnt卸載分區,輸入reboot重啟,拔掉 U 盤,進入 grub 啟動界面,選擇 Arch Linux 啟動,進入系統.此時你有兩個用戶,一個是 root,一個是你剛剛創建的用戶,應該用輸入你的用戶名(不是 root),輸入密碼,登錄成功. -
安裝 clash 并配置:輸入
sudo pacman -S clash安裝 clash
配置:
cd
curl -o config.yaml "你的訂閱鏈接(是的,手動打)"
mkdir -p /etc/clash
sudo mv config.yaml /etc/clash
sudo vim /etc/systemd/
設置自動啟動:
sudo vim /etc/systemd/system/clash.service
填入以下內容:
[Unit]
Description=Clash <^-^>
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/bin/clash -d /etc/clash
Restart=on-failure
[Install]
WantedBy=multi-user.target
設置轉發:
sudo vim /etc/environment
輸入這些:
XDG_SESSION_TYPE=wayland
XDG_CURRENT_DESKTOP=Hyprland
http_proxy="http://127.0.0.1:7890"
https_proxy="http://127.0.0.1:7890"
加載配置:
sudo systemctl daemon-reload
sudo systemctl enable clash
sudo systemctl start clash
使用以下命令測試網絡:
curl -I https://youtube.com/
如果第一行是HTTP/1.1 200 Connection established說明代理成功
- 安裝桌面環境
sudo pacman -Syu
sudo pacman -S --needed base-devel git
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
rm -rf yaygtksourceviewmm
bash <(curl -s "https://end-4.github.io/dots-hyprland-wiki/setup.sh")
自行選擇和設置過程就好,注意安裝過程需要多次輸入密碼
- 安裝過程可能會出現和
gtksourceviewmm-3.0有關的錯誤,找不到這個包,可以通過yay -S gtksourceviewmm安裝
首先運行
sudo pacman -S downgrade
sudo downgrade gtksourceviewmm
輸入3.18對應版本之前的數字,然后enter確認安裝
downgrade 會詢問是否將軟件包添加到 IgnorePkg 列表中。選擇 Yes 即可防止后續更新。
然后運行
sudo chattr +i /usr/lib/gtksourceviewmm*
sudo chattr +i /usr/include/gtksourceviewmm*
然后重新運行
bash <(curl -s "https://end-4.github.io/dots-hyprland-wiki/setup.sh")
- 安裝顯卡驅動(這里只給出 nvidia 的例子,我的是 NVIDIA GeForce GTX 1650 Mobile / Max-Q )
### **步驟 1:啟用 NVIDIA DRM KMS**
### **安裝 NVIDIA 驅動**
1. 確保系統是最新的:
```bash
sudo pacman -Syu
```
2. 安裝 NVIDIA 驅動和相關工具:
```bash
sudo pacman -S nvidia nvidia-utils nvidia-settings
```
3. 安裝支持 Wayland 的 GBM 庫:
```bash
sudo pacman -S libglvnd
```
4. (可選)安裝 Vulkan 支持(提高圖形性能):
```bash
sudo pacman -S vulkan-icd-loader nvidia-utils
```
5. 確保內核模塊已加載:
```bash
sudo modprobe nvidia
```
6. 驗證驅動是否正確安裝:
```bash
nvidia-smi
```
---
## **2. 配置 NVIDIA 驅動以支持 Wayland**
從 NVIDIA 495 驅動版本開始,支持 Wayland 的 GBM 后端。以下是配置步驟:
### **步驟 1:啟用 NVIDIA DRM KMS**
需要啟用 DRM KMS(Direct Rendering Manager Kernel Mode Setting)以支持 Wayland。
1. 編輯 `/etc/default/grub` 文件:
```bash
sudo vim /etc/default/grub
```
2. 修改成以下內容
```bash
# GRUB boot loader configuration
GRUB_DEFAULT=0
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet nvidia-drm.modeset=1"
GRUB_CMDLINE_LINUX=""
# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y
# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=hidden
# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console
# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `videoinfo`
#GRUB_GFXMODE=auto
# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep
# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true
# Uncomment and set to the desired menu colors. Used by normal and wallpaper
# modes only. Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
#GRUB_THEME="/path/to/gfxtheme"
# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"
# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.
#GRUB_SAVEDEFAULT=true
# Uncomment to disable submenus in boot menu
#GRUB_DISABLE_SUBMENU=y
# Probing for other operating systems is disabled for security reasons. Read
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
# functionality install os-prober and uncomment to detect and include other
# operating systems.
#GRUB_DISABLE_OS_PROBER=false
```
3. 更新 GRUB 配置:
```bash
sudo grub-mkconfig -o /boot/grub/grub.cfg
```
4. 創建配置文件 `/etc/modprobe.d/nvidia.conf`,并添加以下內容:
```
options nvidia-drm modeset=1
```
5. 更新 initramfs:
```bash
sudo mkinitcpio -P
```
6. 重啟系統:
```bash
sudo reboot
```
### **步驟 2:驗證 NVIDIA DRM KMS 是否啟用**
運行以下命令,確保 `nvidia-drm` 已啟用:
```bash
sudo dmesg | grep -i nvidia
```
你應該看到類似以下輸出:
```
nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver
nvidia-drm: NVIDIA DRM KMS initialized
```
- 解決
hyprland threw in ctor:filesystem error status permission denied /run/user/0/hypr
export XDG_RUNTIME_DIR=/run/user/$(id -u)
sudo mkdir -p /run/user/$(id -u)
sudo chown $(id -u):$(id -g) /run/user/$(id -u)
chmod 700 /run/user/$(id -u)
- 重啟,啟動桌面:
sudo reboot
cp -r .cache/dots-hyprland/.config/ ~/.config
cp -r .cache/dots-hyprland/.local/ ~/.local
hyprland
這里是使用說明
鍵盤綁定在.config/hypr/hyprland/keybinds.conf中,可以自行修改
- 輸入法配置(yay):
yay -S firefox noto-fonts-cjk fcitx5 fcitx5-chinese-addons fcitx5-pinyin-zhwiki fcitx5-qt fcitx5-gtk fcitx5-material-color fcitx5-configtool
然后用fcitx5-configtool配置輸入法,添加Pinyin輸入法,然后在hyprland中設置fcitx5為輸入法,重啟后即可使用中文輸入法
- 下點自己想下的東西,比如微信,qq,vscode 等等
帶圖片的版本請看這里(需要科學):https://ebotian-blog.vercel.app/posts/2025.1/howtoarch
posted on 2025-01-15 09:28 Nicolette86132 閱讀(173) 評論(0) 收藏 舉報

可以看到我的網卡可能默認被關閉了,現在要重新打開.輸入
看到 block,說明網卡被禁用了,輸入
浙公網安備 33010602011771號