注意
- 1.检测网络是否畅通。
- 2.准备安装介质,可以是光盘或U盘
- 3.确定启动方式BIOS/UEFI
- 从安装盘启动时,显示archlinux彩色标志的伪BIOS启动,黑屏的为UEFI启动。本教程适用于UEFI启动。- 输出一大堆说明是uefi启动,否则会报错
设置时间同步
设置中国更新源
镜像列表网址:https://www.archlinux.org/mirrorlist/
vim /etc/pacman.d/mirrorlist添加 Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch或者 Server = https://mirrors.163.com/archlinux/$repo/os/$archvim /etc/pacman.conf将其中的Color反注释掉,以后可以彩色显示
硬盘分区、挂载、格式化
- 用cfdisk进行分区,如果只有一个硬盘,可以直接用 cfdisk
cfdisk /de/sda 
- 完成后用 lsblk查看分区情况

- fidsk-l 查看分区情况

格式化分区
mkfs.ext4 /dev/sda1 格式化主分区mkfs.ext4 /dev/sda2 格式化home分区mkfs.fat -F32 /dev/sda3 或者 mkfs.vfat /dev/sda3 格式化EFI为fatmkswap -f /dev/sda4 格式化swap分区swapon /dev/sda4 打开swap分区
挂载分区
mount /dev/sda1 /mnt 挂载sda1为系统主目录ls /mnt 查看是否挂载成功,显示lost+found为成功mkdir /mnt/home 创建home目录mount /dev/sda2 /mnt/home 挂载sda2为home目录mkdir /mnt/boot 创建boot目录mount /dev/sda3 /mnt/boot/ 挂载sda3为/boot
开始安装
把base包安装到系统目录,base包包含了一些最软件包
pacstrap /mnt base linux linux-firmware
- 选择安装,一些开发将会用到的包
生成fstab
- 生成fstab
genfstab -U /mnt >> /mnt/etc/fstab
- 查看fstab信息来确定是否正确生成
切换到新安装好的arch系统
arch-chroot /mnt 切换到刚刚安装的在/mnt下的系统
安装一些软件
pacman -S vim 安装vim包vim /etc/locale.gen 反注释,去掉前面的#号 en_US.UTF-8 UTF-8vim /etc/locale.conf 新建并添加 LANG=en_US.UTF-8locale-gen 生成localevim /etc/hosts 设定主机名
archer
vim /etc/hostname
127.0.0.1 localhost ::1 localhost 127.0.0.1 archer.localdomain archer
一些设置
passwd 设置root用户的密码ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 设置系统时区hwclock --systohc 用 hwclock 命令设定硬件时钟
安装grub,能不能启动的关键
pacman -S grub efibootmgr intel-ucode os-prober 同时安装了多个包mkdir /boot/grub 创建目录grub-mkconfig > /boot/grub/grub.cfg uname -m 查看系统框架grub-install —-target=x86_64-efi —-efi-directory=/boot
退出、重启
pacman -S wpa_supplicant zsh sudo 无线工具pacman -S networkmanager net-tools 网络管理,不安装无法上网exitreboot
后记:
安装后无法重启
可能是dhcpcd和 networkmanger冲突造成,应只运行一个服务。
dhcpcd是自动获取IP,networkmanger需配置静态IP。
- 卸载dhcpcd
NetworkManager简介:
参见:NetworkManager (简体中文) - ArchWiki)
开机自动启动 NetworkManager:
systemctl enable NetworkManager
立即启动 NetworkManager:
systemctl start NetworkManager
禁用 NetworkManager
由于服务是通过 dbus 自动启动的, 所以要完全禁用可以用 systemctl 来屏蔽:systemctl mask NetworkManagersystemctl mask NetworkManager-dispatcher
