综合工程:Arch从入门到入土
前言 Arch linux是一个轻量、灵活、滚动更新的 Linux 发行版,衍生了诸多优秀的桌面端linux。其官方Wiki更是被称为技术界的“武林秘籍”; 但由于该Wiki的中文版比较陈旧,安装教程不太清楚,故先以虚拟机安装Arch为例实际操作一番。
准备工作:需要
-
虚拟机环境,这里推荐使用VMware Workstation Pro.
-
ISO镜像
VM学习版:https://www.ahhhhfs.com/33472/
官方镜像: https://geo.mirror.pkgbuild.com/iso/2023.08.01/
一、新建虚拟机
1.打开VM,文件—新建虚拟机—典型—下一步,对于硬盘要求建议至少20G,作为后续分区使用;CPU及内存根据实际需求分配,一般取半数。 注意:完成后需先在编辑虚拟机设置—选项中设置引导为UEFI,否则会导致奇怪的Boot问题。
2.开启此虚拟机,随后进入界面,回车,跑码后进入tty1。
二、联网并分区
1.使用 dhcpcd 命令获取IP地址,由于虚拟机使用NAT故联网容易。
2.使用 ping www.baidu.com 命令检查是否联网,若出现ttl,time=xx ms等数据说明成功,随后再 Ctrl+C 停止命令运行,避免百度被DDOS攻击死掉。
3.使用 timedatectl set-ntp true 命令更新系统时间,该命令无输出,正所谓无事发生就是最好的。
4.使用 fdisk -l 命令查看系统分区,由于虚拟机的存在只会显示一块硬盘。
5.接下来是Arch安装中较难的一部分,以20G硬盘空间为例,我们需要划分出512MB的引导分区,15G的根分区以及5G左右的交换分区。由于纯命令行分区比较繁琐,这里使用 cfdisk 命令打开分区工具。
回车选择gpt类型,可以看到如下界面:
使用左右方向键移动至New,新建一个分区,大小为512MB,回车确认,并移动至type将其类型改为EFI system,随后如法炮制,建立根分区(类型为linux filesystem)和交换分区(linux swap)。 注意:上诉操作完成后需在Write中选择yes,否则无法保存分区,随后quit回到命令行。
6.分区结束后分别对其进行格式化,命令为
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
mkswap -f /dev/sda3
注意不同分区类型与格式所用命令不同。 7.格式完成后进行挂载,使用如下命令:
swapon /dev/sda3
mount /dev/sda2 /mnt
mkdir /dev/sda2 /mnt/home
ls /mnt
mkdir /mnt/boot
mkdir /mnt/boot/EFI
mount /dev/sda1 /mnt/boot/EFI
ls /mnt
完成后即可开始组件下载。
三、安装基本组件
1.使用大名鼎鼎的vim编辑器,将下载镜像源改为国内,提高下载速度vim /etc/pacman.d/mirrorlist
推荐使用清华源,在首行中改为如下命令:
Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
随后ESC,: wq 保存退出。
2.安装基本包,使用命令
pacstrap /mnt base base-devel linux linux-firmware dhcpcd
一路回车下载。
3.生成fstab文件 ,使用命令
genfstab -U /mnt > /mnt/etc/fstab
自动挂载分区,并用cat /mnt/etc/fstab观察分区情况。 4.使用arch-chroot /mnt命令切换至系统环境下,此时可以设置时区,语言和主机名(hostname)。 设置上海为系统时区:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
设置主机名: vim /etc/hostname,写入任意你想要的名字。随后在vim /etc/hosts中输入如下内容,将name改为主机名。
127.0.0.1 localhost
::1 localhost
127.0.1.1 name.localdomain name
设置语言:使用vim /etc/locale.gen命令去掉 en_US.UTF-8 UTF-8 以及 zh_CN.UTF-8 UTF-8 行前的注释符号,并用locale-gen生成新locale,用echo 'LANG=en_US.UTF-8' > /etc/locale.conf命令确认输出。
4.设置root密码:使用passwd命令,设置并重复密码。 5.安装微码:根据硬件选择命令: pacman -S intel-ucode # Intel pacman -S amd-ucode # AMD 6.安装引导程序:
pacman -S grub efibootmgr os-prober
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH
生成配置文件:
grub-mkconfig -o /boot/grub/grub.cfg
7.退出并重启虚拟机:
exit # 退回安装环境
umount -R /mnt # 卸载新分区
reboot # 重启
若成功进入登录界面即为成功,可使用neofetch命令打印系统信息。
四、安装图形界面
为便于在虚拟机中操作,我们可以安装KDE-plasma,Xfce等桌面环境。 1.使用dhcpcd获得地址。
2.新建普通用户useradd -m -G wheel username (替换username为你的用户名)并设置密码passwd username 。
3.配置Sudo,使用pacman -S sudo安装并在ln -s /usr/bin/vim /usr/bin/vi/visudo 中删除 %wheel ALL=(ALL)ALL 前的注释符。
4.reboot后开始安装驱动。由于NVIDIA fuck you 众所周知的原因,独显驱动比较难以安装,建议先只上核显。
以此为例,若为AMD核显,命令为
sudo pacman -S xf86-video-amdgpu
OpenGL和mesa:
sudo pacman -S mesa xf86-video-amdgpu vulkan-radeon libva-mesa-driver mesa-vdpau
sudo pacman -S opencl-mesa lib32-vulkan-radeon lib32-mesa
5.使用命令
pacman -S plasma-meta konsole dolphin
安装KDE组件。 6.开启sddm守护进程:
systemctl enable sddm
systemctl start sddm
7.reboot后进入桌面环境,安装完成。
添加Windows引导
安装 os-prober:首先确保系统中安装了 os-prober,这是一个用于检测其他操作系统的工具。
sudo pacman -S os-prober
sudo os-prober
更新 GRUB 配置:更新 GRUB 的配置文件,使其包含检测到的 Windows 引导项。
sudo grub-mkconfig -o /boot/grub/grub.cfg
如果GRUB 配置中 GRUB_DISABLE_OS_PROBER=true ,会禁止 os-prober 在 grub-mkconfig 运行时检测其他可引导的分区或系统。
打开 /etc/default/grub 文件进行编辑:
sudo nano /etc/default/grub
确保以下设置处于如下状态,即 GRUB_DISABLE_OS_PROBER 设置为 false:
GRUB_DISABLE_OS_PROBER=false
如果该行不存在,可以手动添加或者修改为上述内容。
保存文件并退出编辑器后,运行以下命令更新 GRUB 配置:
sudo grub-mkconfig -o /boot/grub/grub.cfg
后记
设备的多样导致安装中可能会出现一些奇怪的问题,需要自行搜索学习,以不断提高技术水平。