安装Arch Linux的记录
安装Arch Linux的记录
第一次安装双系统,虽然是参考b站教程的,但还是很有成就感,故记录一下这个过程,顺便仔细学习一下各个命令的作用。
本文仅为学习记录,文末给出了参考来源,若有侵权请联系我删除🙏
安装过程
准备工作
- 首先登录官网从国内镜像源下载arch linux系统镜像
- 下载rufus烧录arch linux镜像到U盘,默认设置就行
- 为arch linux分配磁盘空间,大概20G就够用
我这里能压缩的磁盘空间很少,但这个盘还剩很多空间,于是我使用了傲梅分区助手
设置网络
重启进入bios,设置为从u盘启动,开始安装arch linux
rfkill list查看列表
rfkill unblock wifi解除wifi锁定
ip link查看网卡,一般网卡名为wlan0
ip link set wlan0 up启用网卡
ip link set DEVICE { up | down | arp { on | off } | name NEWNAME | address LLADDR }
选项说明:
dev DEVICE:指定要操作的设备名
up and down:启动或停用该设备
arp on or arp off:启用或禁用该设备的arp协议
name NAME:修改指定设备的名称,建议不要在该接口处于运行状态或已分配IP地址时重命名
address LLADDRESS:设置指定接口的MAC地址
连接wifi
1 | iwctl //在 Linux 中,"ctl" 通常代表 "control" 或 "controller"。例如,在 SysV 初始化系统中,/etc/init.d 目录下的脚本通常以 "ctl" 作为后缀,表示它们是用于控制系统服务的控制器。此外,在某些驱动程序中,CTL 可能代表 "control",表示该驱动程序控制某个设备的操作。 |
设置时间同步
1 | timedatectl set-ntp true //开启ntp时间同步 |
分配磁盘空间
1 | fdisk -l //查看磁盘状态 |

1 | //p 查看布局 |
UEFI是指主板的引导启动方式
GPT是硬盘的分区模式
EFI是GPT硬盘分区模式中的系统启动分区
EFI分区全称是EFI system partition,一般简写成EFI分区或者ESP分区
EFI分区是用来引导系统启动的
分配好的空间如图
分区格式化
创建好的分区必须格式化为一种文件系统,Linux 上常见的文件系统有 ext4,btrfs,xfs 等。建议第一次安装的读者使用 ext4 文件系统。btrfs 提供子卷、写时复制、压缩、快照等高级功能,适合更加熟练的用户。
mkfs命令
1 | mkfs.btrfs /dev/nvme...n...1 //将根目录分区格式化为btrfs文件系统 |
挂载分区
mount命令的功能是将文件系统挂载到目录
1 | fdisk -l |
最终的布局
从上到下分别是 引导分区、根分区、交换分区
Linux分区和挂载是Linux系统管理硬盘的两个重要概念。分区是将硬盘划分为不同的逻辑区域,以便存储不同类型的数据和文件。挂载是将一个分区与一个目录联系起来,使得该目录可以访问该分区中的数据和文件。
linux为什么要挂载? 如果硬盘是一片空地,那么分区和挂载就是把一片空地建成不同的房间(分区),每个房间存放不同类型的货物,再把房间的钥匙发给使用这个房间里的货物的人(挂载)。如果不挂载,那么人要使用某个货物时,就会因为没有钥匙而无法使用这个货物。
为什么不直接访问/dev目录? 直接访问/dev目录,就相当于把房间都拆了,直接从空地上寻找需要的货物,这不方便,也不安全(空地货物可能会被弄乱)
Linux分区和挂载有以下几个用途:
提高系统的安全性。没有挂载的分区是无法访问的,这样可以防止恶意用户或程序对系统造成破坏。
提高系统的效率。通过合理地划分和挂载分区,可以减少系统维护文件的规模,提高磁盘空间的利用率和读写速度。
适应多用户操作系统。Linux是一个多用户操作系统,不同用户可能有不同的权限和需求。通过分区和挂载,可以实现对用户空间、临时文件、日志文件等的隔离和管理。
选择软件镜像源
1 | nano /etc/pacman.d/mirrorlist //手动添加镜像 |
在 Arch Linux 中,软件仓库就好比手机中的应用商店,软件包是通过软件仓库进行分发的。软件仓库镜像是软件仓库的复制品,同一个软件仓库可以在世界各地建立软件仓库镜像,以便于不同地区的用户下载。因此选择一个合适的软件仓库镜像对于您更新软件包数据库以及下载软件包的速度有很大影响。
pacman命令
nano编辑器

安装基础包
我们使用 pacstrap 安装 base,linux,linux-firmware 三个软件包,它们分别是基础包组,linux 内核和驱动程序。此外,如果您使用 2019 年及以后生产的笔记本电脑,可能需要安装 sof-firmware,否则可能没有声音[23]。
Arch linux 官方提供了 linux,linux-lts,linux-zen,linux-hardened 内核[24],但是对于初学者,只推荐使用 linux 内核。
1 | pacstrap -K /mnt base base-devel linux linux-firmware sudo nano vim networkmanager intel-ucode |
1 | pacman -Sy archlinux-keyring //如若报错则需更新keyring |
fstab是一个系统文件,决定了系统启动时如何自动挂载分区。没有 fstab,系统将找不到根分区,从而无法启动。fstab 有一定的格式,我们用一个例子说明 fstab 文件的格式。
1 | genfstab -U/mnt >> /mnt/ect/fstab |
其中“genfstab -U /mnt”是以 UUID 的描述方式生成 fstab,“>>” 的意思是,将输出结果附加在后面的文件之后。
生成完成后,记得使用 cat 命令打印文件内容,仔细检查一遍。
1 | cat /mnt/etc/fstab |
使用chroot
使用chroot切换到安装的新系统
1 | arch-chroot /mnt |
这里我顿悟了,之前的根目录在/mnt下,这里chroot直接把根目录移动回系统/下,/mnt相当于完成汉诺塔的倒数第二步
chroot命令
设置时区
1 | ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime //设置上海时间 |
ln命令
hwclock命令
本地化
我们将设置 locale、终端键盘布局和字体。locale 决定了系统的语言和格式,包括终端显示哪种语言,数字、时间和货币以哪国的格式显示等等。
1 | nano /etc/locale.gen |
1 | nano /etc/locale.conf //修改locale.conf文件 |
确定系统名和网络管理系统配置
1 | nano /etc/hostname |
设置root密码
root 用户是 Linux 系统中权限最高的用户,有些敏感的操作必须通过 root 用户进行,比如使用 pacman。我们之前进行所有的操作也都是以 root 用户进行的。也正是因为 root 的权限过高,如果使用不当会造成安全问题,所以我们在下一篇文章中会新建一个普通用户来进行日常的操作。在这里我们需要为 root 用户设置一个密码。
1 | passwd |
新建普通用户
1 | useradd -m -G wheel -s /bin/bash [username] //将用户添加到wheel组,root也在wheel组 |
1 | visudo //打开/etc/sudoers文件进行编辑设置sudo |
这里的意思是让wheel组下的所有用户都能免去输入密码使用sudo权限
sudo权限
Grub安装
GRUB 是什么?
GRUB 是一个用于加载和管理系统启动的完整程序。它是 Linux 发行版中最常见的*引导程序(bootloader)*。引导程序是计算机启动时运行的第一个软件。它加载 操作系统的内核,然后再由内核初始化操作系统的其他部分(包括 Shell、显示管理器、桌面环境 等等)。
1 | pacman -S grub efibootmgr os-prober //安装系统探测器 |
新版grub默认禁用os-prober,需要手动启用
去掉GRUB_DISABLE前面的注释
1 | grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB //安装Grub |
手动添加Windows启动项
1 | blkid /dev/nvme0n...... //查看引导分区信息 |
blkid命令

1 | nano/boot/grub/grub.cfg |
有概率os-prober无法探测到windows,需要手动添加windows启动项
输入红框中的内容,红圈中的内容为刚刚记下来的数字
1 | exit //保存后退出 |
进入Arch Linux美化
1 | root //输入密码登录root账户 |
重复之前的联网操作
1 | rfkill unblock wifi |
安装Gnome桌面
GNOME是一个自由开源的桌面环境,是 Linux 操作系统中最常用的桌面环境之一。 GNOME的目标是为 Linux 系统提供现代、易用的桌面环境,以提高用户的体验和生产力。 它提供了一个用户友好的界面和许多常用的应用程序,如文件管理器、文本编辑器、终端、图形 图像处理 程序
1 | pacman -S gnome gnome-tweaks //然后一路回车 |
安装相应的显卡驱动
注意这里只要安装集显驱动而不要安装英伟达驱动,原因是arch linux可能检测不到
1 | pacman -S mesa xf86-video-b |
1 | systemctl enable gdm |
GDM (The GNOME Display Manager)是GNOME显示环境的管理器,并被用来替代原来的X Display Manager
1 | reboot |
于是就进入gnome桌面了
下载软件
下载fcirx输入法、浏览器等必要软件
1 | sudo pacman -S git ntfs-3g wqy-zenhei firefox fcitx5-im fcitx5-chinese-addons |
/etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关。
1 | sudo nano /etc/environment |
输入:
1 | GTK_IM_MODULE=fcitx |
1 | reboot |
设置中文输入法
注意这个输入法是用ctrl+空格启用的
设置蓝牙连接
安装蓝牙模块并启动蓝牙服务
1 | sudo pacman -S bluez bluez-utils |
Bluez是Linux系统上的蓝牙协议栈,自带了很多有用的工具,Bluetoothctl就是其一
1 | bluetoothctl --help 查看帮助命令 |
1 | bluetoothctl 进入蓝牙管理工具环境 |
安装蓝牙音频
1 | sudo pacman -S pulseaudio-bluetooth |
蓝牙图形化管理工具安装
1 | sudo pacman -S bluedevil |
或
1 | sudo pacman -S blueman |
完结撒花🌸
Linux 系统结构
/bin:
bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。/boot:
这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev :
dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。/etc:
etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。/home:
用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。/lib:
lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。/lost+found:
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。/media:
linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。/mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。/opt:
opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。/proc:
proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
1 echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all/root:
该目录为系统管理员,也称作超级权限者的用户主目录。/sbin:
s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。/selinux:
这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。/srv:
该目录存放一些服务启动之后需要提取的数据。/sys:
这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。
sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp:
tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。/usr:
usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。/usr/bin:
系统用户使用的应用程序。/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。/usr/src:
内核源代码默认的放置目录。/var:
var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。/run:
是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。
值得提出的是 /bin、**/usr/bin** 是给系统用户使用的指令(除 root 外的通用用户),而/sbin, /usr/sbin 则是给 root 使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。
参考
本文参考:
Linux命令大全(手册) – 真正好用的Linux命令在线查询网站 (linuxcool.com)
linux中ctl代表什么缩写?很多命令都带结尾ctl,另外ifconfig和nmcli有什么区别? - 知乎 (zhihu.com)
Arch Linux 详细安装教程,萌新再也不怕了!「2023.10」 - 知乎 (zhihu.com)
【超简单】Windows+Arch Linux双系统双磁盘方案,全程不废话_哔哩哔哩_bilibili
Linux—带你区分”根目录” 和 “家目录”_根目录、家目录的路径分别是什么?可以用什么符号表示,用来快速访问?-CSDN博客
https://blog.csdn.net/qq_61683908/article/details/129430286
linux下的mnt文件夹用来干嘛,Linux/mnt目录主要用于什么?_Killer Seven的博客-CSDN博客
Linux 黑话解释:Linux 中的 GRUB 是什么? | Linux 中国 - 知乎 (zhihu.com)
什么是GNOME_GNOME简介_GNOME的优势以及应用场景-腾讯云开发者社区 (tencent.com)
etc/profile和/etc/environment的比较 - 明明是悟空 - 博客园 (cnblogs.com)






























