相关链接
PVE创建ArchLinux虚拟机
以下过程,继承自上篇文章 PVE虚拟系统与OpenWrt配置 安装好的PVE9.1
首先需要安装一个ArchLinux的镜像ISO文件,下面提供 清华大学开源软件镜像站 的下载地址:
接下来我们遵循 ArchLinux简明指南 的手动安装教程,因此在虚拟机选择阶段,使用UEFI启动模式:
| 项目 | 子列表 | 说明 |
|---|---|---|
| 常规 | 名称 | ArchLinux |
| 操作系统 | - | 选择你的ISO镜像文件 |
| 系统 | 机型 | q35 |
| 系统 | BIOS | UEFI |
| 系统 | UEFI存储 | local-lvm |
| 系统 | - | 请不要勾选 预签名 |
| 磁盘 | - | 按需分配大小 |
| CPU | 核心 | 4 |
| CPU | 类别 | host |
| CPU | 内存 | 8192MB |
| 网络 | - | 默认网桥vmbr0 |
ArchLinux手动安装
启动后,点击控制台,这时就可以一边看着 ArchLinux简明指南-archlinux基础安装,一边对着控制台操作了。
在进行到 7. 分区和格式化(使用 Btrfs 文件系统)
时,我们要先做一步分区前的设置(在指南中也有提到),具体就是要 将虚拟机的磁盘变更为gpt类型,两边结合即可正确完成分区操作。
随后,需要进行一些桌面环境安装前的基础配置,参考 Archlinux简明指南-桌面环境与常用应用安装,进行一步步操作。
在进行到 4. 安装 KDE Plasma 桌面环境 时,跳过该桌面环境,先配置一下非root账户的默认编辑器,并安装yay以便于安装AUR中的软件:
# 使用 `vim` 编辑 `~/bashrc` 文件vim ~/.bashrc# 在适当位置加入以下内容export EDITOR='vim'# cn 源中的签名(archlinuxcn-keyring 在 archlinuxcn)sudo pacman -S archlinuxcn-keyring# yay 命令可以让用户安装 AUR 中的软件(yay 在 archlinuxcn)sudo pacman -S yay桌面环境推荐使用 Shorin-kiwata大佬准备的Niri桌面环境一键安装脚本,因为该桌面环境的内存占用比较低,对于虚拟机寸土寸金的内存来说,尽量少的内存占用是必要的。
在大佬的Wiki中给的脚本命令是 curl -L shorin.xyz/archsetup | bash ,这里的shorin.xyz/archsetup其实是一个重定向短链,其实际指向文件为 shorin-arch-setup仓库中的strap.sh 。
如果你遇到了网络问题,可以使用透明代理,或者直接将 strap.sh 上传到Arch虚拟机来执行。
启动脚本后,一切配置默认即可,等待完成后,就可以进入到 Shorin's Niri 桌面了,我将带头前往Github给大佬点个Star!

这里是大佬脚本中所安装的软件列表:
# --- 系统基础 ---
# --- 文件系统与快照 (Btrfs/Snapper) ---snapper # Btrfs 快照管理工具btrfs-assistant # Btrfs 图形化管理 (依赖 snapper)grub-btrfs # GRUB 菜单集成快照引导inotify-tools # 监控文件变动 (grub-btrfsd 自动更新需要)dosfstools # FAT 文件系统支持ntfs-3g # NTFS 读写支持exfat-utils # exFAT 支持f2fs-tools # F2FS 支持udftools # 光盘格式支持xfsprogs # XFS 支持gnome-disk-utility # 磁盘管理 GUI (Disks)baobab # 磁盘占用分析器
# --- 音频核心 (Pipewire Stack) ---pipewire # 核心音频/视频引擎lib32-pipewire # 32位兼容库 (Steam 必须)wireplumber # 会话管理器pipewire-pulse # PulseAudio 兼容层pipewire-alsa # ALSA 兼容层pipewire-jack # JACK 兼容层pavucontrol # 音量控制面板sof-firmware # 声卡固件 (Sound Open Firmware)alsa-ucm-conf # ALSA 音频路由配置alsa-firmware # 额外声卡固件
# --- 输入法与字体 (Input & Fonts) ---fcitx5-im # Fcitx5 框架元包fcitx5-chinese-addons # 中文扩展 (拼音/云拼音)fcitx5-rime # Rime 引擎rime-ice-git # (AUR) 雾凇拼音配置fcitx5-mozc # 日语输入法adobe-source-han-serif-cn-fonts # 思源宋体adobe-source-han-sans-cn-fonts # 思源黑体ttf-liberation # 红帽基础英文字体noto-fonts-emoji # Emoji 支持ttf-jetbrains-mono-nerd # 编程字体 (带图标)terminus-font # TTY 点阵字体
# --- 硬件与电源 (Hardware) ---power-profiles-daemon # 电源模式切换 (省电/平衡)bluez # 蓝牙协议栈bluetui # 蓝牙 TUI 管理工具usbutils # lsusb 工具pciutils # lspci 工具brightnessctl # 屏幕亮度控制lact # 显卡控制中心 (A卡/N卡超频监控)ddcutil-service # (AUR) 外接显示器亮度控制服务iwd # networkmanager的网络后端impala # iwd的tui# --- 基础包管理 ---flatpak # Flatpak 支持pacman-contrib # Pacman 辅助脚本gvim # 系统默认编辑器 (含 vim)less # 分页查看器
# --- Shorin's Niri 依赖 ---
# --- Niri 核心组件 ---xwayland-satellite # Niri 必装:XWayland 兼容守护进程swayidle # 空闲管理 (自动锁屏/息屏)hyprlock # 锁屏工具 (支持炫酷特效)swayosd # 屏幕 OSD (音量/亮度弹窗)wlsunset # 护眼模式 (色温调节)wlogout # (AUR) 注销/关机/重启菜单
# --- 状态栏与壁纸 ---waybar # 状态栏waybar-niri-taskbar-git # (AUR) Waybar 专用 Niri 任务栏模块swww # 动态壁纸守护进程waypaper # (AUR) 壁纸设置 GUI (swww 前端)waifu2x-ncnn-vulkan # 图片超分工具 (优化壁纸画质)
# --- 截图与录屏 ---grim # 截图后端slurp # 屏幕选区工具swappy # 截图快速编辑satty # 现代化截图标注工具wf-recorder # 屏幕录制hyprpicker # 屏幕取色器
# --- 剪贴板管理 ---wl-clipboard # Wayland 剪贴板命令cliphist # 剪贴板历史记录xclip # X11 剪贴板兼容clipnotify # X11 剪贴板通知兼容
# --- 外观与主题 (Theming) ---nwg-look # GTK3 主题配置matugen # (AUR) Material You 动态主题生成gnome-font-viewer # 字体预览
# --- 命令行增强 (Shell & CLI) ---fish # 交互式 Shellstarship # 终端提示符fastfetch # 系统信息展示btop # 终端任务管理器yazi # 终端文件管理器 (TUI)eza # ls 替代品zoxide # cd 替代品 (智能跳转)bat # cat 替代品 (语法高亮)jq # JSON 处理imagemagick # 图片处理工具集ffmpegthumbnailer # 视频缩略图生成chafa # 终端图片预览后端timg # 终端图片查看器
# --- 常用软件 ---
# --- 互联网与社交 ---firefox # 火狐浏览器python-pywalfox # (AUR) Firefox 随系统变色linuxqq-appimage # (AUR) QQwechat-appimage # (AUR) 微信flclash-bin # (AUR) 网络代理工具localsend # 局域网传输神器nm-connection-editor # 高级网络连接管理transmission-gtk # BT 下载video-downloader # (AUR) 视频下载器 (B站/油管)
# --- 游戏 (Gaming) ---steam # 游戏平台lutris # 综合游戏库管理heroic-games-launcher-bin # Epic/GOG 启动器protonplus # Proton 版本管理mangohud # 游戏性能监控浮层mangojuice-bin # (AUR) Mangohud 配置 GUIgamescope # 游戏窗口合成器lsfg-vk-bin # (AUR) 游戏补帧工具 (LSFG)
# --- 生产力与多媒体 ---visual-studio-code-bin # (AUR) VS Code 代码编辑器typora-free # Markdown 编辑器mpv # 视频播放器imv # 图片查看器obs-studio # 推流与录屏cava # 音频可视化频谱upscaler # 图片无损放大 GUImission-center # 系统监视器 (Win11 风格)gnome-calendar # 日历gnome-clocks # 时钟virt-manager # KVM 虚拟机管理wine # 运行 Windows 程序
# --- Flatpak 应用 ---# (建议使用 flatpak install 安装,而非 pacman)# it.mijorus.gearlever # AppImage 管理器# io.github.fabrialberio.pinapp # 网页转本地应用 (PinApp)# com.github.wwmm.easyeffects # 系统级音频特效 (降噪/均衡器)# com.github.tchx84.Flatseal # Flatpak 权限管理PVE核显直通
这里以 Intel-N100 芯片为例.
先去往archlinux虚拟机(要接管核显的系统),安装intel显卡驱动:
sudo pacman -S mesa lib32-mesa vulkan-intel lib32-vulkan-intel再前往PVE的后台,进入Shell控制台,输入以下命令,屏蔽intel核显,以防止pve率先使用核显:
# 使用nano编辑器,`Ctrl+x`保存修改,`y`确认,再按`enter`保存文件名nano /etc/modprobe.d/pve-blacklist.conf# 打开黑名单,添加如下内容blacklist i915blacklist snd_hda_intel# 保存退出后,执行命令update-initramfs -u -k all为了让核显完美地被archlinux虚拟机调用,需要下载对应的核显ROM,这里给到github上已有的项目:
复制好对应的核显ROM下载地址,然后回到PVE的Shell,进行导入(使用wget方式):
# 进入kvm目录cd /usr/share/kvm/# wget下载对应romwget https://github.com/LongQT-sea/intel-igpu-passthru/releases/download/v0.1/ADL-N_TWL_GOPv21_igd.rom通过命令行方式编辑虚拟机硬件,这里我的archlinux虚拟机编号为101,因此我需要编辑101.conf:
# 编辑虚拟机配置文件nano /etc/pve/qemu-server/101.conf# 在文件首行添加如下内容args: -set device.hostpci0.bus=pci.0 -set device.hostpci0.addr=2.0 -set device.hostpci0.x-igd-opregion=on# 在文件末尾添加PCI设备(UHD核显+板载声卡)(注意修改rom文件名)hostpci0: 0000:00:02.0,romfile=ADL-N_TWL_GOPv21_igd.romhostpci1: 0000:00:1f.3回到PVE的archlinux虚拟机硬件,查看声卡IMMUO是否与其他要用的设备冲突,判断是否取消直通声卡,同理,也可以在这里直通USB控制器,以便于连接键鼠。
最后,先关闭所有虚拟机,再重启PVE系统,连接好显示设备,启动Archlinux虚拟机,就可以看到登录界面了!
ClaudeCode AI CLI
以我刚刚配置好的archlinux为例。
这里推荐使用 ZCF - Zero-Config Code Flow 工具,一键配置ClaudeCode。
首先确保机器环境中安装了Node.js:
# 检查版本node -vnpm -vnpx -v若没有,请到 Node.js 官网安装node(这里给到默认安装命令):
# 下载并安装 nvm:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# 代替重启 shell\. "$HOME/.nvm/nvm.sh"
# 下载并安装 Node.js:nvm install 24
# 验证 Node.js 版本:node -v # Should print "v24.14.0".
# 验证 npm 版本:npm -v # Should print "11.9.0".打开终端(Shorin’s Niri默认快捷键Super+T):
# 切换为bash环境(Shorin's Niri默认使用了fish,提供非常友好的命令补全,但不兼容bash)bash# 一键应用zcfnpx zcf init随后就是跟着配置即可,在API配置中可以选择 稍后进行,下面将介绍如何接入 GLM Coding Plan。
GLM Coding Plan接入
先到API Key中申请一个apikey并复制保存。
接下来,打开终端,输入以下命令接入:
# 切换到bashbash# 自动化脚本curl -O "https://cdn.bigmodel.cn/install/claude_code_env.sh" && bash ./claude_code_env.sh# 根据提示,输入提前准备好的apikey即可发现错误或想要改进这篇文章?