前言
Archlinux研究了好些天终于着手搞一搞
终于搞出来这个教程
本教程包含以下元素
#UEFI #物理机 #虚拟机器 #KDE
准备
Archlinx 官网
https://archlinux.org/
镜像下载 下方有跳转链接
https://archlinux.org/download/
阿里云
http://mirrors.aliyun.com/archlinux/iso/2022.05.01/
选择 archlinux-x86_64.iso
就可以
安装
官方安装文档
https://wiki.archlinux.org/title/Installation_guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
虚拟机安装
新建虚拟
选择 Archlinux.ISO
其他 linux 内核
编辑名称,位置
核心数量(后期能改)
选择内存(后期能改)
NAT 网络(后面一路默认)
I/O(默认)
磁盘类型(默认)
创建虚拟磁盘(默认)
磁盘容量(80G)
单文件多文件看自己需求
多文件可以减轻压力,单文件容易造成系统负载大。 单文件占用的是磁盘上的某一连续区域,读取速度快占用内存大。 多文件分散在各个扇区读取速度一般但是占用内存小。 单个文件的优点是在磁盘内容相对稳定时,其访问速度相对会快一点,但是如果虚拟磁盘增长很快,或容量变化很大,可能会产生大量碎片,性能下降会很明显。 另一个缺点是如果单文件受损,相当于整个磁盘丢失,代价较大。
指定磁盘文件(默认)
选择完成
选择 UEFI 模式启动
启动虚拟机
Archlinux 安装
第一项就行
然后进入页面
觉得字体小,就变大
setfont ter-132n
验证引导模式
如果有一大堆东西就是 UEFI
启动
ls /sys/firmware/efi/efivars
如果没有一大堆文件就是 BIOS 启动
键盘布局
默认都是美式键盘布局 ,所以跳过
检查网络连接
有钱网络
dhcpcd
无线网络
iwctl
检查网络设备
device list
网卡扫描本地网络
station wlan0 scan //默认是 wlan0
显示网络名称
station wlan0 get-networks
连接 wifi
//station wlan0 connect {wifi 名称}
station wlan0 connect wifi123456
然后输入密码
退出
exit
验证网络连接
ping -c 4 www.baidu.com
同步时间
timedatectl set-ntp true
检查服务状态
timedatectl status
硬盘分区
UEFI 参考
挂载点 | 分区 | 类型 | 格式 | 大小 |
---|---|---|---|---|
/mnt/boot | /dev/efi | EFI 启动 | Fat32 | >300Mib |
[swap] | /dev/swap | 交换分区 | swap | >512Mib |
/mnt | /dev/root | 根目录 | ext4 | 剩余 |
BIOS参考
挂载点 | 分区 | 类型 | 格式 | 大小 |
---|---|---|---|---|
[swap] | /dev/swap | 交换分区 | swap | >512Mib |
/mnt | /dev/root | 系统 | ext4 | 剩余 |
SWAP
大小建议
查看分区情况
fdisk -l
查看磁盘情况
lsblk
我的磁盘
NAME:sda
分区工具
UEFI+GPT 分区详情
容量 80GiB
number 类型 名字 大小
1 efi boot 1024Mib
2 swap swap 2G
3 system root 20G
4 system home 剩余
工具: cfdisk
cfdisk /dev/sda
uefi 选择 GPT
EFI 分区
选择 [NEW]
,输入 1G
,回车
选择 [type]
, 选择 [EFI System]
SWAP
root/home
最后 选择 [Write]
, 输入 yes
,然后 [Quit]
检查分区情况
lsblk
格式化分区
格式化启动分区
mkfs.fat -F 32 /dev/sda1
格式化交换分区
mkswap /dev/sda2
格式化系统分区
mkfs.ext4 /dev/sda3
格式化个人分区
mkfs.ext4 /dev/sda4
再次检查分区情况
lsblk
没有发生变化
挂载分区
注意顺序
启动 swap 交换分区
//启动
swapon /dev/sda2
挂载根目录分区
mount /dev/sda3 /mnt
挂载启动分区
个地方划重点,UEFI 双系统安装 linux 一定要先装 Windows,再装 Linux,且 Linux 的 boot 分区一定要挂在到 Windows 的 EFI 分区上,这样才能在启动菜单里看到双系统选择,切记。
如果是双系统的话 需要挂载到 windows 下的 uefi 分区中
就比如这个红框的选`
下面是虚拟机操作
mount /dev/sda1 /mnt/boot
报错了
创建这个文件夹
mkdir /mnt/boot
然后再执行
mount /dev/sda1 /mnt/boot
挂载个人分区
//创建个人文件夹
mkdir /mnt/home
mount /dev/sda4 /mnt/home
检查分区情况
lsblk
配置 pacman 服务器(源)(可选)
搞这个可以下载速度变快
//备份
cp etc/pacman.d/mirrorlist etc/pacman.d/mirrorlist.backup
//同步
pacman -Syy
//安装的小工具
pacman -S pacman-contrib
更新服务器(源) (请等待几分钟)
//更新服务器(源)
//使用 rankmirrors 来获取速度最快的 6 个镜像,并将地址保存至/etc/pacman.d/mirrorlist
rankmirrors -n 6 /etc/pacman.d/mirrorlist.backup > etc/pacman.d/mirrorlist
查看源情况
cat /etc/pacman.d/mirrorlist
然后
vim /etc/pacman.d/mirrorlist
//加入国内源
# 清华大学
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
## 163
Server = http://mirrors.163.com/archlinux/$repo/os/$arch
## aliyun
Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch
最后更新一下源
pacman -Syy //更新源
安装固件
利用上面安装的小工具
//安装的小工具
pacman -S pacman-contrib
安装基本 linux 文件
pacstrap -i /mnt base base-devel linux linux-firmware linux-headers vim nano intel-ucode iwd bash-completion
//intel-ucode: Intel-cpu
//amd-ucode: Amd-cpu
//bash-completion: 自动 yes
回车
回车
回车
敬请等待==================================================
安装完成
进入系统
生成 fstab 文件
genfstab -U -p /mnt >>/mnt/etc/fstab
cat /mnt/etc/fstab
进入系统
arch-chroot /mnt
设置时区和语言
设置时区
//显示时间
ls /usr/share/zoneinfo/Asia/Shanghai
//重置时间
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
同步硬件时钟
hwclock --systohc
系统语言/键盘键位
vim /etc/locale.gen
取消注释
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
保存退出
测试修改,生成 locale
locale-gen
创建并写入/etc/locale.conf 文件
vim /etc/locale.conf
写入
LANG=en_US.UTF-8
保存退出
检查修改
cat /etc/locale.conf
先应用一下
export LANG=en_US.UTF-8
主机名与网络配置
创建并写入 hostname
vim /etc/hostname
//我这里是 arch
输入要设置的用户名,保存退出
修改 hosts
vim /etc/hosts
内容
127.0.0.1 localhost
::1 localhost
127.0.0.1 arch.localdomain arch
用新修改的 hostname
名,替换之前的内容,保存退出
网络配置
pacman -S dhcpcd
systemctl enable dhcpcd.service
使用无线网络的话,则需安装以下几个软件包(未验证)
pacman -S iw wpa_supplicant dialog (有线网络忽略这行)
管理员和用户权限
创建 root
密码
passwd
输入并确认密码
创建 arch 用户
因为使用 root 用户登陆后,root 用户拥有系统的所有操作权限,这样对系统的操作非常不安全(如一不小心将系统文件删除了,怎么办?),所以需要新建一个普通用户,让其对系统的操作受到一定限制,使用下面命令新建用户 arch:
useradd -m -g users -G wheel,storage,power -s /bin/bash arch
-m:创建用户主目录(/home/[用户名])
-G:用户要加入的附加组列表;此处将用户加到 wheel 组中,之后可以给这个组执行 sudo 命令的权限
-s:指定了用户默认登录 shell 的路径,此处设置为 bash 的路径
创建 arch 密码
passwd arch
为了让我们的普通用户也能使用 sudo 权限,需要给 wheel 中的用户赋予权限,
使用上面命令打开 sudoers 文件后,删除 wheel 组前面的注释(#)即可:
EDITOR=vim visudo
找到
Uncomment to allow members of group wheel to execute any command
取消下面的注释
并且在最后添加
Defaults rootpw
启动加载器(自己选择一个)
双系统需要安装 os-prober
pacman -S os-prober
需要手动开启
Gurb(推荐)
Gurb 启动器请参考
https://blog.csdn.net/takashi77/article/details/118927109
https://blog.csdn.net/qq_21594155/article/details/122916278
grub 是一个启动引导器,同时支持 EFI
和 BIOS
方式的启动。若使用的 UEFI
方式引导系统,则还需要安装 efibootmgr
,如果是双系统的话,还需要安装 os-prober
因为我们使用的是虚拟机和 UEFI
引导方式,因此只需要安装 grub
和 efibootmgr:
pacman -S grub efibootmgr
//其中 grub 和 efibootmgr 是 Gurb 必须
Gurb 文件
Grub 2.06 更新 os-prober 用户需要手动干预
grub 2.06 更新已经进入官方源,本次更新有以下两个需要注意的变化:
1、如果您正在使用 os-prober 生成其他系统的引导项,grub 2.06 不再自动启用 os-prober,您需要添加 GRUB_DISABLE_OS_PROBER=false 至 /etc/default/grub 配置文件中并且重新运行 grub-mkconfig
2、grub 2.06 现在会自动添加 固件设置菜单 引导项目,无需手动创建
编辑配置文件
vim /etc/default/grub
在里面找一条空行输入
GRUB_DISABLE_OS_PROBER=false
保存退出
完成之后输入
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch
确保输入指令完全正确回车
生成grub.cfg
grub-mkconfig -o /boot/grub/grub.cfg
详细解释
# GRUB boot loader configuration
GRUB_DISABLE_OS_PROBER=false
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
# 下面这行可以加内核启动参数 nomodeset 解决花屏问题,相当于 grub 页面按 e 编辑 linux 后面带的选项,用空格分割
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
GRUB_CMDLINE_LINUX=""
# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
#...此处省略 n 行
# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
# 这里是 grab 图形界面的分辨率,与上面的 nomodeset 结合使用时,可以让 tty 保持你设置的分辨率且不花屏
# 如果上面的内核参数不加 nomodeset 的话,这里的分辨率仅在 grab 图形界面有效,而在 tty 是无效的
GRUB_GFXMODE=800x600x32
#...此处省略 n 行
SystemD
检查有没有挂载成功
mount -t efivarfs efivarfs /sys/firmware/efi/efivars/
安装启动器
bootctl install
创建启动器
vim /boot/loader/entries/arch.conf
//输入
title Arch Linux 2022.05
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
//保存退出
//设置启动引导
echo "options root=PARUUID=$(blkid -s PARTUUID -o value /dev/sda3) rw" >> /boot/loader/entries/arch.conf
//这里需要指向系统分区 /dev/sda3
检查启动器
cat /boot/loader/entries/arch.conf
其他设置(有些乱)
基础安装常用软件包
安装就完事了
pacman -S networkmanager network-manager-applet dialog wireless_tools wpa_supplicant os-prober mtools dosfstools ntfs-3g reflector git sudo chromium ark gwenview packagekit-qt5 appstream-qt appstream man net-tools openssh dhcpcd bluez bluez-utils cups xdg-user-dirs alsa-utils pulseaudio pulseaudio-bluetooth
安装就完事了
笔记本电脑需要安装以下工具
pacman -S iw wpa_supplicant dialog netctl
物理机部分
以下建议在物理机上的操作----------------------------------(虚拟机在下面)
安装 Display Server
这里用的是开源世界最为流行的 xorg
pacman -S xorg
安装 Display Manager
这里需要按你要安装的桌面环境而定
Gnome:
pacman -S gdm
KDE:
pacman -S sddm
Xfce || DDE:
pacman -S lightdm lightdm-gtk-greeter
设置开机自动启动,以 KDE
为例:
systemctl enable sddm
安装 Desktop Environment
Gnome:
pacman -S gnome
也可以另外再安装 gnome-extra
KDE:
pacman -S plasma kde-applications packagekit-qt5
//上面安装了 packagekit-qt5 的话 这里就不需要了
Xfce:
pacman -S xfce4 xfce4-goodies
DDE:
pacman -S deepin deepin-extra
同样 需要选择时直接回车
安装中文字体
这一步不装进去图形界面之后还是要装:更纱黑体
pacman -S ttf-sarasa-gothic
物理机分割线-----------------------------------------------
虚拟机
虚拟机操作-----------------------------------------------------
安装 kde 桌面环境 字体 等软件
//kde 桌面和终端,文件管理器
pacman -S plasma konsole dolphin
//中文字体这里如果不安装之后设置语言的时候都是框框不好辨认
pacman -S adobe-source-han-serif-cn-fonts adobe-source-han-sans-cn-fonts wqy-zenhei wqy-microhei noto-fonts-cjk noto-fonts-emoji noto-fonts-extra ttf-dejavu
//安装适用于 vmware 的软件
pacman -S gtkmm gtkmm3 open-vm-tools xf86-input-vmmouse xf86-video-vmware
虚拟机分割线-----------------------------------------------------
继续
时间(可选)
systemctl enable fstrim.timer
启用 32 位应用支持
vim /etc/pacman.conf
取消注释下面
添加以下
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
Server = http://mirrors.163.com/archlinux-cn/$arch
保存退出
然后同步
一下
pacman -Sy
开机启动服务
//开机自启 dhcpcd 服务 sddm 桌面 网络管理 虚拟机自适应分辨率 ssh 远程 注意大小写
systemctl enable dhcpcd sddm.service NetworkManager vmtoolsd.service sshd.service
//手动打开 dhcpcd 服务
systemctl start dhcpcd
下面的操作只适用于 vmware
vim /etc/mkinitcpio.conf
MODULES=(vsock vmw_vsock_vmci_transport vmw_balloon vmw_vmci vmgfx)
//保存退出运行以下
mkinitcpio -p linux
显卡驱动
Nvidia
pacman -S nvidia-dkms libglvnd nvidia-utils opencl-nvidia lib32-libglvnd lib32-nvidia-utils lib32-opencl-nvidia nvidia-settings
修改文件
vim /etc/mkinitcpio.conf
//按顺序
MODULES=(nvdia nvdia_modeset nvidia_uvm nvidia_drm)
保存退出
设置自动同步
mkdir /etc/pacman.d/hooks
vim /etc/pacman.d/hooks/nvidia.hooks
//内容
[Trigger]
Operation=Install
Operation=Upgrade
Operation=Remove
Type=Package
Target=nvidia
[Action]
Depends=minitcpio
When=PostTransaction
Exec=/usr/bin/mkinitcpio -P
//保存退出
AMD
pacman -S mesa lib32-mesa xf86-video-amdgpu lib32-vulkan-radeon libva-mesa-driver lib32-libva-mesa-driver mesa-vdpau lib32-mesa-vdpau
编辑启动器
vim vim /boot/loader/entries/arch.conf
最后添加
//nvidia
nvidia-drm.modeset=1
//amd
amdgpu.dpm=0 amd.gpu.noretry=0
//保存退出
//检查启动器
bootctl status
退出进入 Arch
//退出
exit
//取消挂载
umount -R /mnt
//重启
reboot
输入密码登录
安装 AUR yay
pacman -S archlinuxcn-keyring
如果报错无法安装则执行以下命令
pacman -Syu haveged
systemctl start haveged
systemctl enable haved
rm -rf /etc/pacman.d/pnupg
panman-key --init
pacman-key --populate archlinux
pacman-key --populate archlinuxcn
安装 fcitx5 输入法
pacman -S fcitx5-im fcitx5-chinese-addons fcitx5-pinyin-moegirl fcitx5-pinyin-zhwiki fcitx5-material-color
编辑运行环境 使fcitx5
输入法生效
EDITOR=vim sudoedit /etc/environment
//输入以下内容
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
安装 yay
pacman -S yay
使用yay
安装 中国源软件库里面的软件 以网易云为例
yay -S netease-cloud-music
重启
reboot
添加拼音输入法
总结
以上就是所有Archlinux
的安装教程
感谢师傅看到这里