在旧的笔记本上安装 Arch Linux
准备工作
下载镜像
最新版本: 2020.02.01,官方的下载地址:Arch Linux - Downloads,里面有种子、磁力和 HTTP 下载。
这里用清华大学的下载源:Index of /archlinux/iso/2020.02.01/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror,选择 archlinux-2020.02.01-x86_64.iso 下载。
制作安装介质
这里在 Windows 下使用 USBWriter 制作启动 U 盘,下载链接:USBWriter download | SourceForge.net。
安装
我要安装的电脑是联想 G460,开机长按 F2 可以进入 BIOS,电脑的启动方式是 BIOS(Legacy) + MBR。
BIOS 修改 U 盘启动
插入 U 盘,进入 BIOS,在 Boot 里把 U 盘的启动顺序调至第一位,保存并重启电脑。
启动 Live 系统
- 启动后,会进入一个带有 Arch Linux 的安装界面,选择第一项 
Boot Arch Linux (x86_64),进入 Live 系统。 - 等一会后出现 
root@archiso ~ #表示启动成功。 
验证启动模式
虽然已经知道了,但还是要验证一下(听官方文档的),输入以下命令:
$ ls /sys/firmware/efi/efivars
我这里提示目录不存在,也就是下面的代码:
$ ls: cannot access '/sys/firmware/efi/efivars': No such file or directory
说明系统以 BIOS 模式启动,而不是 UEFI 模式。
联网
我这里选择 WiFi 联网,使用有线的可以参考最后「参考文章」里的链接。
输入下面命令连接无线网:
$ wifi-menu
之后进行 ping 测试(按 Ctrl + C 停止):
$ ping archlinux.org
更新系统时间
使用下面命令同步系统时间:
$ timedatectl set-ntp true
成功后应该没有提示,可以用下面命令检查状态:
$ timedatectl status
硬盘分区
数据无价,操作前请做好备份。
- 
使用下面的命令查看硬盘设备:
$ fdisk -l白色字体以
Disk开头的设备中,路径以loop结尾的不用管,我这里还剩两个。第一个/dev/sda是 U 盘,第二个/dev/sdb是硬盘。当然也可以用
lsblk命令查看。 - 
使用 cfdisk 工具进行操作,UEFI 引导的可以用 cgdisk 工具。
$ cfdisk /dev/sdb - 
因为我要格盘重装,所以先选中每一项然后
Delete,最后剩下free space。 - 
选中
New,会让输入大小和选择主分区还是拓展分区,这里直接默认就好。 - 
创建好后,选择
Write,输入yes保存改动。 - 
最后选择
Quit退出。 - 
输入
lsblk查看分区是否分好。 
格式化分区
输入下面命令将刚分好的区以 ext4 文件系统进行格式化:
$ mkfs.ext4 /dev/sdb1
挂载分区
将根分区挂载到 /mnt:
$ mount /dev/sdb1 /mnt
选择镜像源
- 
使用
vim打开文件:$ vim /etc/pacman.d/mirrorlist - 
按
i进行编辑,在文件开头输入:## 清华大学 Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch ## 网易 Server = https://mirrors.163.com/archlinux/$repo/os/$arch##开头的注释可以不输。 - 
按
esc,再输入:wq保存并退出。 
安装软件包
把基本的系统和软件使用 pacstrap 命令安装:
$ pacstrap /mnt base base-devel linux linux-firmware dhcpcd
这里可以根据自己的需求定制。
配置 Fstab
貌似是生成挂载信息的东西。
默认情况下,只要电脑重启后,并不会自动挂在磁盘分区,会造成系统无法正常使用。因此,通过配置
/etc/fstab文件,系统开机会读取这个文件里面的挂在信息,然后挂在相应的磁盘分区。引用来源:Arch Linux 安装指南 - 简书
$ genfstab -U /mnt >> /mnt/etc/fstab
之后需要验证命令是否执行正确,输入以下命令:
$ cat /mnt/etc/fstab
如果 <dir> 对应的是 /,证明没问题。
执行 Chroot
目的是把操作由 Live 系统转移到已安装系统。
$ arch-chroot /mnt
可以看到终端里已经变成了 [root@archiso /]#。
配置
下面进行系统内的配置。
时区
依次执行下面两条命令:
$ ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
$ hwclock --systohc
本地化
- 
由于没装 Vim,所以先装 Vim:
$ pacman -S vim - 
编辑
/etc/locale.gen文件:$ vim /etc/locale.gen - 
找到下面的字段,并把前面的
#去掉,然后保存并退出:#en_US.UTF-8 UTF-8 …… #zh_CN.UTF-8 UTF-8 #zh_HK.UTF-8 UTF-8 #zh_TW.UTF-8 UTF-8 - 
之后执行下面命令:
$ locale-gen - 
打开
/etc/locale.conf文件:$ vim /etc/locale.conf - 
加入以下内容,保存并退出:
$ LANG=en_US.UTF-8 
主机名和 hosts 文件
- 
打开
/etc/hostname,输入自定义的主机名:$ vim /etc/hostname - 
打开
/etc/hosts,并添加下面的信息:$ vim /etc/hosts127.0.0.1 localhost ::1 localhost 127.0.1.1 myhostname.localdomain myhostnamemyhostname换成刚才的主机名。 
设置 root 密码
输入下面命令输入密码,密码在输入的时候不会显示:
$ passwd
设置引导
- 
电脑是 Intel 的 CPU,需要安装
intel-ucode:$ pacman -S intel-ucode - 
安装
grub:$ pacman -S grub - 
部署
grub:$ grub-install --target=i386-pc /dev/sdb - 
生成配置文件:
$ grub-mkconfig -o /boot/grub/grub.cfg - 
提示
done则已完成。 
重启系统
- 
退回启动盘:
$ exit - 
重启:
$ reboot 
常用操作
进入 Arch Linux 后登录 root 帐号。
连接网络
WiFi 没有搞明白怎么连。。wifi-menu 装不上。
有线的话,如果之前安装过 dhcpcd 这个包,那么直接输入下面命令即可:
$ dhcpcd
如果没安装,参考后面的「错误处理」部分。
安装社区仓库
Add repo:
[archlinuxcn] Server = https://repo.archlinuxcn.org/$archto your /etc/pacman.conf .
For mirrors (mainly in China), see https://github.com/archlinuxcn/mirrorlist-repo.
Import PGP Keys:
sudo pacman -Syy && sudo pacman -S archlinuxcn-keyring
图形界面
选择 xfce 作为桌面环境。
$ pacman -S xfce
我这里的选择全部默认。
输入下面命令启动:
$ startxfce4
不过重启还是会回到终端,想开机启动可以参考:ArchLinux 安装后的必须配置与图形界面安装教程 | viseator’s blog
其他
可以参考:ArchLinux 你可能需要知道的操作与软件包推荐「持续更新」 | viseator’s blog
错误处理
没装必要的包导致无法联网
- 
插上启动盘,进入 Live 系统并联网。
 - 
输入命令:
$ mount /dev/sda1 /mnt # sda 为主硬盘$ arch-chroot /mnt - 
之后输入 pacman 命令即可。
 
参考文章
以及文中的其他链接。