Loading... ``` systemctl stop reflector.service ``` ### 1.2 同步时间 ```shell timedatectl set-ntp true #将系统时间与网络时间进行同步 timedatectl status #检查服务状态 ``` ### 1.3 更换国内源 ```shell vim /etc/pacman.d/mirrorlist #打开配置 /ustc #找到中科大源,按回车 #选中当前行后按两下d剪切 #按两下g跳转到文件首部 #单击p粘帖 #单击Esc退出编辑模式 #:wq保存退出 上海交大: Server = https://mirror.sjtu.edu.cn/archlinux/$repo/os/$arch ``` ### 1.4 磁盘分区 使用btrfs文件系统 + EFI `/boot` 1G + 根目录 `/` `/home` 剩余部分 + 交换分区 `swap` 32G ```shell #使用lsblk查看分区 #分区划分 parted /dev/(sdx, nvmex) #转换磁盘类型 mktable gpt #转换为gpt quit cfdisk #分区图形化不详写,四个分区类型分别为EFI System,默认,swap和默认 #格式化分区 mkfs.fat -F 32 /dev/sdax #EFI mkswap /dev/sdax #swap mkfs.btrfs -L archOS /dev/nvmexn1pn #挂载 mount -t btrfs -o compress=zstd /dev/nvmexn1pn /mnt df -h # -h 选项会使输出以人类可读的单位显示 btrfs subvolume create /mnt/@ # 创建 / 目录子卷 btrfs subvolume create /mnt/@home # 创建 /home 目录子卷 btrfs subvolume create /mnt/@log btrfs subvolume create /mnt/@pkg umount /dev/sda3 # 卸载分区 # 挂载根目录 mount /dev/sda3 /mnt -o subvol=/@,noatime,discard=async,compress=zstd # 挂载家目录 mkdir /mnt/home mount /dev/sda3 /mnt/home -o subvol=/@home,noatime,discard=async,compress=zstd # 挂载 /var/log 目录 mkdir -p /mnt/var/log mount /dev/sda3 /mnt/var/log -o subvol=@log,noatime,discard=async,compress=zstd # 挂载 /var/cache/pacman/pkg 目录 mkdir -p /mnt/var/cache/pacman/pkg mount /dev/sda3 /mnt/var/cache/pacman/pkg -o subvol=@pkg,noatime,discard=async,compress=zstd chattr +C /mnt/var/log chattr +C /mnt/var/cache/pacman/pkg mkdir /mnt/boot #创建EFI目录 mount /dev/sdax /mnt/boot #挂载EFI swapon /dev/sdax #激活swap ``` ### 1.5 安装系统 基础包 `pacstrap -K /mnt base base-deval linux linux-firmware btrfs-progs archlinux-keyring` 软件 `pacstrap /mnt dhcpcd iwd neovim sudo zsh` ### 1.6 生成fstab文件 `genfstab -U /mnt > /mnt/etc/fstab` ### 1.7切换到新系统 `arch-chroot /mnt` ### 1.8 时区 `ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime` ### 1.9 硬件时间 `hwclock --systohc` ### 1.10 本地化 `vim /etc/locale.gen` 取消注释 `en_US.UTF-8`和 `zh_CN.UTF-8` `locale-gen`生成 `echo 'LANG=en_US.UTF-8' > /etc/locale.conf` ### 1.11 网络配置 创建 `/etc/hostname` 文件,写入自定义的主机名: ``` (my_hostname) ``` 编辑本地主机名解析 `/etc/hosts`,写入:(编辑 `/etc/hosts` 时空白建议用 `Tab` 键) ``` 127.0.0.1 localhost ::1 localhost 127.0.1.1 (my_hostname) ``` ### 1.12 设置root密码 `passwd root` ### 1.13 安装微码 ```shell pacman -S intel-ucode #Intel pacman -S amd-ucode #AMD ``` 在 chroot 进入新系统后,除了官方推荐的配置,对于 btrfs 文件系统,需要编辑 mkinitcpio 文件,通常位于 /etc/mkinitcpio.conf,找到 MODULES=() 一行,在括号中添加 btrfs,这是为了在系统启动时提前加载 btrfs 内核模块,从而正常启动系统。记得每次编辑完 mkinitcpio 文件后都需要手动重新生成 initramfs: 您可以在内核启动后立即在 initramfs 中启用 numlock。这是确保即使在输入[全盘加密](https://wiki.archlinuxcn.org/wiki/Dm-crypt/%E5%8A%A0%E5%AF%86%E6%95%B4%E4%B8%AA%E7%B3%BB%E7%BB%9F "Dm-crypt/加密整个系统")密码期间 numlock 也开启的唯一方法。安装 [mkinitcpio-numlock](https://aur.archlinux.org/packages/mkinitcpio-numlock/)AUR ,并并在 `/etc/mkinitcpio.conf` HOOKS 数组中的 `encrypt` 之前添加 `numlock` [mkinitcpio](https://wiki.archlinuxcn.org/wiki/Mkinitcpio "Mkinitcpio") 钩子: /etc/mkinitcpio.conf HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont numlock block encrypt lvm2 filesystems fsck) mkinitcpio -P ### 1.14 安装引导程序 ```bash pacman -S grub efibootmgr ``` 双系统启动设置 `sudo pacman -S os-prober` 想要让 `grub-mkconfig` 探测其他已经安装的系统并自动把他们添加到启动菜单中,编辑 `/etc/default/grub` 并取消下面这一行的注释: `GRUB_DISABLE_OS_PROBER=false` 想要让 GRUB 记住上一次启动的启动项,首先将 `GRUB_DEFAULT` 的值改为 `saved`,再取消下面这一行的注释: `GRUB_SAVEDEFAULT=true` 把 loglevel 的数值从 3 改成 5。这样是为了后续如果出现系统错误,方便排错 GRUB_CMDLINE_LINUX_DEFAULT="loglevel=5 nowatchdog" ``` grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Archlinux #将grubx64.efi安装到之前的指定位置 grub-mkconfig -o /boot/grub/grub.cfg #生成GRUB所需的配置文件 ``` ### 1.15 退出 ```shell exit # 退回安装环境# umount -R /mnt # 卸载新分区 reboot # 重启 ``` --- ## 2 安装桌面环境和常用应用 ### 2.0更新系统 `pacman -Syyu` ### 2.1 准备用户 ```shell useradd -m -G wheel -s /bin/bash name passwd name EDITOR=vim visudo #取消注释 #%wheel ALL=(ALL) ALL ``` ### 2.2 桌面环境 ```shell pacman -S ``` ### 2.3 32 位支持库与 ArchLinuxCN 支持库 ```shell pacman -S paru yay vim /etc/pacman.conf #取消[multilib]注释,[custom]替换成 [archlinuxcn] Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch pacman -Syyu #刷新数据库 sudo pacman -S archlinuxcn-keyring #安装key ``` zsh pacman -S zsh-autosuggestions zsh-syntax-highlighting zsh-completions autojump chsh -l # 查看安装了哪些 Shell chsh -s /usr/bin/zsh # 修改当前账户的默认 Shell ```.zshrc source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh source /usr/share/autojump/autojump.zsh source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ``` yay -Ss nerd-font sudo pacman -S ttf-jetbrains-mono-nerd ### 2.4 常用应用 ```shell sudo pacman -S yazi alacritty ntfs-3g firefox firefox-i18n-zh-cn #输入法 sudo pacman -S fcitx5-im #基础包组 sudo pacman -S fcitx5-chinese-addons #官方中文输入引擎 sudo pacman -S fcitx5-pinyin-moegirl #萌娘百科词库 二刺猿必备(ArchLinuxCn) sudo pacman -S fcitx5-material-color fcitx5-rime #主题 环境设置编辑变量文件vim ~/.config/environment.d/im.conf GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx SDL_IM_MODULE=fcitx GLFW_IM_MODULE=ibus sudo systemctl enable --now bluetooth #蓝牙 ``` ``` sudo pacman -S timeshift ``` ### 2.5 显卡驱动 sudo pacman -S mesa lib32-mesa xf86-video-amdgpu vulkan-radeon lib32-vulkan-radeon sudo timeshift --restore --snapshot-device /dev/sdbx sudo timeshift --list # 获取快照列表 sudo timeshift --restore --snapshot '20XX-XX-XX_XX-XX-XX' --skip-grub # 选择一个快照进行还原,并跳过 GRUB 安装,一般来说 GRUB 不需要重新安装 最后修改:2025 年 04 月 21 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏