Arch Linux 安装教程

关于Arch Linux

Keep It Simple, Stupid

保持简单, 且一目了然

​ —— Arch之道

Arch Linux原则

  • 简洁

  • 现代

  • 实用

  • 以用户为中心

Arch Linux是一个GNU/Linux发行版,是一个滚动发行系统,具有更新迅速,不稳定,开源等特点

使用Arch Linux,我们可以获得最新的系统,最新的文件系统,强大的Arch wiki与文档等等

Arch Linux的操作基本由终端进行(但是这不代表没有桌面),如果觉得指令繁琐就算了吧,这篇文章会浪费你的时间与精力的(((

Arch Linux对动手能力有一定的要求,使用Arch Linux必须多读文档,理解原理(学好了之后和我一起传教吧)

强烈建议在看完这份教程后,访问Arch Wiki(当然arch的文档由于信息量庞大有可能中文翻译跟不上,就只能配合翻译软件猜意思吧awaa),自己对Arch进行研究,而不是对别人进行无意义的询问

对了有必要还是要去问的,吸收别人的经验不断成长,成为真正的Arch教徒,和我一起传教awaaaaaa

下面正式开始教程

准备的材料

  • u盘(大于1gb即可)
  • 能上网的不那么古老阴间的电脑,最好是x86_64的电脑,arch已经在2017年11月对i686停止支持(太旧的的电脑兼容性有点…)
  • 足够的储存空间
  • 脑子(请尝试对我教的内容进行理解,而不是照抄)
  • 认真的态度(如果因为不认真遇到了问题而在评论区对我进行提问,我不会给予回答)

livecd安装环境

安装环境建议使用u盘进行刻录(由于现在大部分电脑都没有光驱,且u盘更为普及,在此只讲述如何使用u盘进行刻录,cd和u盘的刻录方法其实都是大同小异的)

准备Archlinux livecd镜像

由于arch linux下载服务器在国外,所以这里推荐使用清华的archlinux镜像源tuna进行下载tuna 官网.pngtuna官网

进入官网后,找到右侧的下载链接部分,点击获得下载链接,在弹出的界面找到archlinuxtuna 下载arch livecd.pngtuna镜像下载连接列表

然后下载适合自己电脑架构的iso

下载完成后,获取镜像这步就完成了

livecd刻录

下载balena etcher

2021-01-19_19-59.pngetcher官网

刻录

2021-01-19_20-17.pngetcher界面

打开etcher,选择flash from file,在弹出的文件管理器选择你刚刚下载完成的镜像etcher选择iso.png之后在select target选择你的u盘,点击flash,等待刻录完成

进入livecd环境

进入bios

bios是电脑上的一个芯片,电脑启动时会先让它对电脑硬件进行自检,对cpu,显卡,内存的运行频率等进行初始化……,之后便会对系统进行引导

所以我们要进入bios,把u盘插进电脑,设置我们的livecd环境为第一引导项,让电脑进入livecd环境(由于bios界面太多,这部分本文不作讲解,请上网查找资料)

关闭安全启动

若你之前接触过GNU/Linux,应该会对安全启动很熟悉

安全启动会检测引导的系统,如果不是windows系统,就会自动关机或引导错误(巨硬垄断石锤),安全启动在bios中一般显示为secure boot等,请设置为关闭(disable)

进入livecd

将我们刚刚刷入了镜像的u盘设置为第一启动项(如果看不到界面就自己翻译吧,更改启动项一般带有boot,uefi等字眼),之后保存重启,等待livecd加载

如果你看到了这个界面vm arch.pngArch livecd界面

则证明你成功进入了livecd,可以进行下一步了(如果引导错误请访问archwiki查询或者问度娘)

开始安装

以下内容皆以Archlinux Wiki的安装教程为基础进行修改

确认电脑引导方式

这步非常重要,决定了我们的系统能否正确地引导,如果这步做不好,grub引导器就无法安装

如果你的电脑支持uefi引导,且之前安装过windows系统,分区表内应该会有一个200m左右的efi分区

例如
efi.png

此时,/dev/sda1就是efi分区,如果你的电脑存在此分区,则一般是uefi引导

若没有,则一般为bios引导(如果是新硬盘或电脑,请忽略)

最好的方法就是询问电脑或主板卖家,这样获得的答案是绝对正确的

确定引导方式为uefibios后,我们就可以进行下一步分区

(tips:如果上述方法均无法确认,我们可以根据电脑购买时间确认,较新的电脑基本为uefi引导方式)

连接互联网

由于Archlinux的安装方式属于在线安装,u盘内并不会有任何你安装时需要的包,只会有livecd环境的包,所以我们需要联网才能安装Archlinux

有线连接(推荐)

有线连接是最稳定,也是最快的安装方式,这对Archlinux的安装有很大好处(时间更短awaaa),故推荐这种连接方法

最新的livecd内置了systemd-networkd,有线连接并不需要额外配置,只需要在开机前插上宽带,进入livecd时就会自动连接

WIFI连接

开机后,在终端中输入iwctl这段命令,之后root@archiso ~ #变成了[iwd]#,这样就进入了iwctl的界面

之后输入device list,之后记住name一栏的名字,那就是你的无线网卡的名字

之后让网卡扫描附近的无线网络

station name scan (请将name修改为上文获得的网卡名)

接着,列出扫描到的网络

station name get-networks (请将name修改为上文获得的网卡名)

之后,network name一栏就会显示无线网络名

最后,输入

station name connect wlan_name (将name替换为网卡名,wlan_name替换为你要连接的wifi名)

这时,如果你连接到wifi有密码,会提示你输入密码,请输入你的密码并回车

注意:这里输入的密码错误也不会有提示,请保证密码正确,如果发现没有连上网,请重新执行上述操作

之后输入quit退出iwctl

然后我们可以使用ping来测试是否连接上网络

ping baidu.com

如果没有提示错误则成功连接上网络

联网对时

输入

timedatectl set-ntp true

(如果什么都没有输出则证明对时成功)

分区

在分区前请备份数据,最好在分区前做好自己的分区规划,如果分区错误造成数据丢失,作者不负任何责任

只要认认真真地操作,就不会造成数据丢失,所以(敲黑板)给我认真听课

查看当前分区情况

输入

fdisk -l

如果你的电脑有一块硬盘,此时应该会显示出有两个设备

其中/dev/sda应该是我们的livecd环境,而剩下的,就是电脑的硬盘

fdisk -l.png

像这样,电脑硬盘可能会显示为/dev/sda,也有可能显示为/dev/nvme0n1/dev/mmcblk0,请自己辨认

分区
  • UEFI

UEFI引导方式需要有一个至少200m左右的efi分区,如果安装过windows系统,一般此分区已经存在,不需要特殊操作

创建efi分区(若你的电脑已经存在,请跳过)

若是全新,未进行过任何操作的硬盘,在确认自己电脑为uefi引导后,使用

fdisk /dev/**** (将****替换为你的硬盘名,而不是分区名)

之后,输入g创建空的gpt分区表(若硬盘上有重要数据,请备份,创建全新分区表会清除所以数据,uefi必须搭配gpt分区表才能正常使用)

之后输入n创建新分区,之后回车,number可随意设置,一般按回车使用默认的number,之后回车(这里是使用默认的扇区,一般不建议修改),之后输入+200m(这里设置分区大小为200m)

正常输出:Created a new partition * of type ‘Linux Filesystem’ and of size 200MiB(这里的*代表你的分区号)

然后可能就有人问了:诶不是要创建efi分区吗?这作者一定在忽悠我

emm,别急a,之后输入t,用来指定分区的类型

之后输入你的分区号(创建分区后会输出,请看上文)

之后再输入1

应该会输出Changed type of ‘Linux filesystem’ to ‘EFI System’(这样就证明分区类型已经成功修改为EFI分区)

EFI分区就创建完成了

之后记得输入w保存修改

  • BIOS引导

bios并不需要创建其他分区,可直接跳到下一步(若是全新硬盘,请进入fdisk并输入o创建mbr分区表,与创建gpt同理,这步会清除所以数据,请备份)

输入w保存

  • 创建根分区

进入fdisk,输入n创建新分区,之后,分区号仍然随意,之后回车,设定分区的大小(输入+***设定大小,***代表分区大小)

创建好后,输入w保存,分区就完成了

  • 创建交换分区(可选)

交换分区可以在电脑内存不足的情况下充当内存使用,若电脑内存偏小,建议设置交换分区

先创建一个分区,输入n,大小建议设置为8gb左右,这个可以自由调整

之后输入t,更改分区类型为linux swap,输入交换分区的分区号,选择类型为19,回车

如果输出:Changed type of ‘Linux filesystem’ to ‘Linux Swap’

则证明成功

格式化

  • efi

若电脑已存在efi分区,请跳过对efi分区的格式化

若没有,使用

mkfs.fat -F32 /dev/*** (***改为你的efi分区名)

格式化efi分区

  • bios

bios仍然不需要特殊操作,请直接进行下一步

  • 交换分区

若在分区这一步创建了交换分区,请使用

mkswap /dev/*** (同理,***为交换分区名)

交换分区就格式化完成

格式化根分区

在这里,我推荐使用ext4文件系统对根分区进行格式化(btrfs虽然是准备成为下一代的linux文件系统,但仍然不算成熟,而且断电容易死,故在此不推荐btrfs)

使用

mkfs.ext4 /dev/*** (还是这样,把***替换为根分区)

之后就完成了对根分区的格式化

挂载分区

挂载根分区

首先,将根分区挂载至/mnt,输入

mount /dev/*** (记得改为对于的根分区)
然后挂载efi分区(bios跳过)

使用mkdir创建挂载点

mkdir /mnt/boot/efi

然后使用

mount /dev/*** /mnt/boot/efi (***更改为对应的efi分区)
交换空间

如果创建了交换分区,请使用

swapon /dev/*** (***改为对应的交换分区)

修改livecd镜像源

现在我们已经完成了分区,联网等等操作,接下来我们就要下载基本的arch linux,但是由于arch linux的官方仓库在国外,所以我们一般使用镜像源下载系统

在这里我使用nano编辑器修改

输入

nano /etc/pacman.d/mirrorlist

在最顶端输入

Server = https://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.tuna.tsinghua.edu.com/archlinux/$repo/os/$arch (清华大学tuna镜像)

修改后,使用ctrl + x,之后输入y,之后回车,我们就完成了修改

安装基本的Archlinux

输入

pacstrap /mnt base base-devel linux linux-firmware nano vim

其中,linux是系统的内核

可以更换为linux-zen(内置fsync,对v社游戏有优化,),linux-lts(linux内核的一个fork,使用的内核版本较旧,对某些硬件兼容有奇效)

之后,系统就会开始下载软件包并自动安装,这段时间请耐心等待

fstab

fstab是一个文件,开机时系统会按照这个文件自动对分区进行挂载,所以这一步也非常重要

使用

genfstab -U /mnt >> /mnt/etc/fstab

chroot

change root到新的系统

arch-chroot /mnt

之后我们就进入了刚刚安装的系统,之后我们的修改都是修改的我们刚刚安装的基础系统

设置时区

输入

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

设定时区为上海

本地化

编辑/etc/locale.gen

nano /etc/locale.gen

去掉对应语言前的#(只建议使用utf-8编码,其他编码很有可能出现乱码问题)

之后执行

locale-gen

然后执行

nano /etc/locale.conf

新建locale.conf并输入LANG=****(这边建议还没有安装桌面环境前先使用en_US.UTF-8)

网络配置

新建hostname文件

nano /etc/hostname

里面写一个自己电脑的名字(随意),例如我的电脑叫做jackiecat-desktop,这个文件的内容就是jackiecat-desktop

修改hosts文件

nano /etc/hosts

输入

127.0.0.1 	localhost
::1	localhost
127.0.1.1	myhostname.localdomain myhostname

(将hostname修改为前面所设置的hostname)

root密码

修改root密码

passwd

安装grub

安装引导器,这里使用主流的grub

安装grub,os-prober,ntfs-3g,efibootmgr

pacman -S grub os-prober ntfs-3g efibootmgr
  • bios引导
grub-install --target=i386-pc /dev/*** (***修改为硬盘名)
  • 64位uefi
grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB (esp改为挂载点,就是挂载步骤efi分区挂载的地方/boot/efi)
  • 32位uefi
grub-install --target=i386-efi --efi-directory=esp --bootloader-id=grub

之后生成grub配置文件

grub-mkconfig -o /boot/grub/grub.cfg

若前面两步都输出done,恭喜你,最基本的archlinux已经安装完成

重启进入系统

使用exit退出chroot,之后执行shutdown now,再开机(如果没有进入我们安装的archlinux可能需要进入bios将grub设置为第一启动项)

我们就进入了archlinux,输入用户名root,再输入你设置的密码,就可以进入系统了!

在下一篇文章,我会介绍怎么安装桌面环境(篇幅限制),所以先建议先不要那么着急,先看着文章好好消化,学会了再安装不是更好吗?还是那句话,多看archwiki哟~~~