本安装教程主要参考Arch 启动!(Win+ArchLinux双系统安装教程uefi独立home+kde)编写,为使用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
分别创建好/mnt和/mnt/home挂载的两个分区,后者的类型可以指定为linux home也可以选择分配一个大小为本机运行内存一半的交换内存空间,类型为linux swap可以在开机后恢复上次关机前的会话
虽然分区创建好了,但是实际上还没有写入到硬盘里,也还需要告诉系统,这是它在硬盘中的位置
首先创建/mnt和/mnt/home两个文件系统mkfs.[文件系统] -f /dev/[分区索引号],即格式化
mkfs.btrfs -f /dev/nvme0n1p1
mkfs.btrfs -f /dev/nvme0n1p2
再创建交换内存的文件系统
mkswap /dev/nvme10n1p3
指定新系统在硬盘中的位置
mount /dev/nvme0n1p1 /mnt
mount --mkdir /dev/nvme0n1p2 /mnt/home
同时,为了将方便切换系统,要修改引导盘的内容,我们将引导盘也挂载到系统根目录下中
mount --mkdir /dev/nvme0n1p3 /mnt/efi
最后挂载交换分区
swapon /dev/nvme10n1p3
在安装新系统中的各种软件前,为了适配国内的网络环境,需要先添加国内的下载源
vim /etc/pacman.d/mirrorlist
添加国内清华大学的源
Server = https://mirrors.tuna.tsinghua.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来重置密码了
useradd -m -G wheel [用户名]
passwd [用户名]
systemctl enable NetworkManager
systemctl enable bluetooth
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=grub
grub-mkconfig -o /boot/grub/grub.cfg
pacman -S plasma konsole dolphin ark kate
systemctl enable sddm
sudo pacman -S fcitx5-im fcitx5-chinese-addons fcitx5-configtool
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx