本安装教程主要参考Arch 启动!(Win+ArchLinux双系统安装教程uefi独立home+kde)与ArchWiki编写,为使用archlinux不小心回滚挂了,重装系统时快速查阅所用
使用ventoy制作archlinux的启动盘,并进入BIOS通过该启动盘进入安装界面
假如需要在一台物理机中实现Window和Linux双系统切换,并保证不会因某个系统(比如滚挂的archlinux)崩溃而导致两个系统都无法使用,进入经典的grub>,需要对系统引导盘进行备份
引导盘是磁盘中一个专门的分区,负责在硬件启动后引导进入系统
通过傲梅分区助手或Windows自带的创建并格式化硬盘分区等磁盘管理工具,把目前设备里的EFI系统分区引导盘克隆一份,以备后需
iwctl工具来认证连接网络iwctl进入工具device list查看无线网卡名,一般只有一个,名为wlan0,检查设备与其适配器是否已经开启,没有开启就使用device wlan0 set-property Powered on与device wlan0 set-property Powered on来开启station wlan0 scan命令扫描网络后,再使用station wlan0 get-networks列出可用网络station wlan0 connect WiFi名来连接,若WiFi名中有特殊符号如空格,可以用半角引号包裹。如WiFi名正确那么会要求输入该WiFi的密码,接着键盘Ctrl + D退出iwctl
一般只要密码正确即能连上互联网,不放心可以使用自带的ping命令尝试请求一些国内网络能访问的网址,如ping baidu.com,能正常请求与响应就代表连接互联网成功互联网连接成功后应当立即使用timedatectl命令来更新系统时间,确保系统时间是准确的
磁盘中需要预留有未被分配的空间,至少需要20G左右的空间
lsblk命令会以tree的形式显示当前设备装载的硬盘状态,找到一块未被分配的空间,记下该空间硬盘索引号前面加上/dev,如/dev/nvme0n1
也可以使用显示更多信息的fdisk -l命令
cfdisk命令能够帮助我们在未分配的硬盘空间内创建分区,后接上一步骤记下的硬盘索引号
cfdisk /dev/nvme0n1
分别创建好挂载的两个分区,两个分区大小可以相当,前者作为整个系统的根路径,分区类型不用改,后者可以作为我们为用户开的单独分区(类似于windows上的用户目录),类型可以指定为linux home——不影响,只是标记
也可以选择分配一个大小为本机运行内存一半的交换内存空间,类型为linux swap可以在开机后恢复上次关机前的会话
经过上一步后,原本的那一大块“未分配分区”应该变成了三块新的分区,以及一块新的引导分区这里假设它们为:
/dev/nvme0n1p1 #根路径
/dev/nvme0n1p2 #用户路径
/dev/nvme0n1p3 #共享交换内存分区,用存储空间充当一部分内存空间
/dev/nvme1n1p2 #我们一开始备份的引导盘
虽然分区创建好了,但是实际上还没有写入到硬盘里,也还需要告诉系统:这是它在硬盘中的位置
首先创建/mnt和/mnt/home两个文件系统mkfs.[文件系统] -f /dev/[分区索引号],即格式化
mkfs.btrfs -f /dev/nvme0n1p1
mkfs.btrfs -f /dev/nvme0n1p2
再创建交换内存的文件系统
mkswap /dev/nvme0n1p3
指定新系统在硬盘中的位置
mount /dev/nvme0n1p1 /mnt
mount --mkdir /dev/nvme0n1p2 /mnt/home
同时,为了将方便切换系统,要修改引导盘的内容,我们将引导盘也挂载到系统根目录下中
mount --mkdir /dev/nvme1n1p2 /mnt/efi
最后挂载交换分区
swapon /dev/nvme0n1p3
在安装新系统中的各种软件前,为了适配国内的网络环境,需要先添加国内的下载源
vim /etc/pacman.d/mirrorlist
添加国内中科大的源,放在最顶部,加快下载速度
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
更新索引pacman -Syy并重新安装新的秘钥
pacman -S archlinux-keyring
安装所有的系统固件到新系统的根目录
pacstrap /mnt base base-devel linux linux-headers linux-firmware networkmanager grub os-prober efibootmgr ntfs-3g intel-ucode bluez bluez-utils vim
之后,需要将新的文件信息写入其中,创建fstab,自动挂载配置文件
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和zh-CN.UTF-8
locale-gen
echo "LANG=en_US.UTF-8" >> /etc/locale.conf
echo "[主机名]" >> /etc/hostname
Danger
如果忘记设置root密码可能就得使用之后安装的grub来重置密码了
设置root的密码passwd
useradd -m -G wheel [用户名]
passwd [用户名]
允许普通用户使用root权限,需要删除/etc/sudoers中%wheel ALL=(ALL:ALL) ALL前的#
systemctl enable NetworkManager
systemctl enable bluetooth
系统引导管理程序,可以用一个分区引导多个系统,是我们“双系统”的核心之一,也是系统滚挂之后后手之一
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=grub
其中/efi是之前挂载的引导分区/mnt/efi
更新grub配置
grub-mkconfig -o /boot/grub/grub.cfg
这里/boot应该是grub指定的配置所在路径
需要提前安装好说桌面环境
pacman -S plasma kde-applications-meta konsole dolphin ark kate plasma-login-manager plasma-nm
systemctl enable plasma-login-manager
重启即可进入kde桌面(注意启动选项要选我们之前备份好的新引导盘)
一些软件没有上架archlinux的仓库,需要依靠用户自建的软件源来下载,也就是aur——arch user repository。
首先,需要在/etc/pacman.conf 文件末尾添加两行:
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
然后安装 sudo pacman -S archlinuxcn-keyring 包以导入 GPG key。
然后再更新一遍索引并更新:
sudo pacman -Syu
中文输入法主要用的是fcitx5, 安装命令:
sudo pacman -S fcitx5-im fcitx5-chinese-addons fcitx5-configtool
接着就是根据不同的桌面环境(wayland or x11)设置不同的环境变量
在/etc/environment文件中设置:
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
如果是wayland环境,则将以上fcitx改为fcitx5