ArchLinux折腾系列文章:
1.ArchLinux安装(一)
2.Archlinux安装(二)-安装并配置AwesomeWM
3.Archlinux安装(三)-i3WM安装及配置(out of date)
4.ArchLinux配置samba共享文件夹到Windows虚拟机
5.在Z3735F CPU平板上安装ArchLinux的思路


先上目前折腾的截图(2018-12-19):

2019-07-27:

2019-12-06:

2019-12-06:由于Arch对base包做了改动,并且官方的安装指南已经很详细了,所以建议参考https://wiki.archlinux.org/index.php/Installation_guide,以下仅作留恋。

准备工作

  • 网络:有线无线均可(不过建议使用有线网络,无线网络在安装完系统重启后,可能需要安装wifi-menu。老司机不会看本文。)
  • PC:足够大的空间与内存(测试为50G硬盘,4G内存)
  • 镜像文件以及U盘(建议8G以上)
  • (非必要)有安装Linux经验
  • (要)充足的时间投资(1.5h左右,因人而异)
  • (必要)遇到问题能冷静分析坚持解决的操作员

由于安装过程,许多命令需要纯手敲,建议安装前,门前埋雷,以防干扰!
你可以ssh连接Arch,这样就不用每一条命令都手敲了。

U盘刻录

简述:使用Win32 Disk Imager刻录ISO镜像到U盘中
采用UEFI模式启动。(BIOS模式在后面的安装中并无差别,只是安装引导时有所不同,有经验者可自行操作)

进入安装环境

通过U盘启动进入安装环境。

网络连接

进入后,确保网络连接成功。
有线网络:
ip a #查看网卡kou
dhcpcd enp0s3 #改为你的网卡口
无线网络使用wifi-menu命令选择连接。

陆续输入:

ping -c 4 www.baidu.com #测试网络是否连接成功
timedatectl set-ntp true #刷新本地时间

换源

更换安装源,以便下载速度更快。

vi /etc/pacman.d/mirrorlist

搜索China,将

## China
Server = ……

剪切到配置文件开头。

启动模式检查

键入:ls /sys/firmware/efi/efivars

若存在输出目录,则为UEFI模式启动。

磁盘分区

分区方案可自己任意确定,下面给出out of date的分区方案(因为对大内存机器而言,无需swap分区。讲道理,要不是怕搞坏引导不便修复,我只想给一个/分区)
1.确认安装位置:
键入:fdisk -l

此处确定安装位置在sda上。
2.确定分区方案:

磁盘分区 挂载点 大小
sda1 /mnt/boot/efi 512M
sda2 SWAP交换区不挂载 4G
sda3 /mnt 26.1G
sda4 /mnt/home 20G

3.开始分区:
键入:cfdisk /dev/sda

选择gp:

建立分区:

新建分区:

  1. [↑]/[↓](方向键)选中 Free space(空闲空间)
  2. [←]/[→](方向键)选中 New 新建分区
  3. [←]/[→](方向键)选中 Type 选择分区类型(默认为 Linux filesystem;对于 EFI 系统分区选择 EFI System)
  4. 输入分区大小(默认单位为字节,可以加上后缀K、M、G),[回车键] 确认
    写入分区表:
  5. [←]/[→](方向键)选中 Write
  6. 输入 yes [回车] 确定写入

本文分区方案不详述,可自行查阅文章,当然你也可以使用其他的分区方案。
4.格式化分区并挂载:
先格式化:

mkfs.fat /dev/sda1  #格式化为fat文件系统

mkswap /dev/sda2    #格式化为交换区
swapon /dev/sda2    #激活交换区

mkfs.ext4 /dev/sda3 #格式化为ext4文件系统,下同
mkfs.ext4 /dev/sda4

后挂载:

mount /dev/sda3 /mnt    #先挂载根目录
mkdir -p /mnt/boot/efi  
mkdir /mnt/home         
# 2019-07-26指出,防止目录重复为*/efi/EFI/*,可更改为/mnt/boot/
mount /dev/sda1 /mnt/boot/efi   #挂载启动位置
mount /dev/sda4 /mnt/home       #挂载家目录

lsblk   #查看分区

安装系统

pacstrap /mnt base base-devel

2019-11-01:据说Arch的base做重大改动,base包被精简,内核包linux变为可选依赖,所以此处命令应为pacstrap /mnt base base-devel linux dhcp netctl linux-firmware(此处参考Archlinux吧,目前暂未测试)

坐等近10分钟,安装完成:

配置系统

生成分区表

genfstab -U /mnt >> /mnt/etc/fstab  #生成分区表
cat /mnt/etc/fstab  #查看分区表

进入新系统

arch-chroot /mnt

设定时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #时区设置
hwclock --systohc   #硬件时间设置

本地化设置

键入:

vi /etc/locale.conf    #添加一行LANG=en_US.UTF-8
vi /etc/locale.gen     #把en_US.UTF-8 UTf-8,zh_CN.GBK GBK,zh_CN.UTF-8 UTF-8,zh_CN GB2312前面的注释去掉
locale-gen  #更新语言环境

设定主机名

键入:

vi /etc/hostname    #添加主机名,例如chern
vi /etc/hosts       #添加hosts条目

hosts条目添加:

127.0.0.1  localhost.localdomain   localhost
::1        localhost.localdomain   localhost
127.0.1.1  <主机名>.localdomain   <主机名>

root用户密码更改

执行passwd,并输入两次密码:

passwd

安装引导程序

grub方式

键入:

pacman -S dosfstools grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

其中第二条指令的挂载点可以自己根据你所做的分区方案更改:
grub-install --target=x86_64-efi --efi-directory=<EFI 分区挂载点> --bootloader-id=GRUB

refind引导(推荐)

pacman -S intel-ucode refind-efi
refind-install
efibootmgr -c -l /boot/efi/refind/refind_x64.efi -L 'refind boot manager'

注意refind_x64.efi路径

修改/boot/refind_linux.conf内容:

# "Boot with standard options"  "archisobasedir=arch archisolabel=ARCH_201812" //注释前两行,否则无法启动。
# "Boot to single-user mode"    "archisobasedir=arch archisolabel=ARCH_201812 single"
"Boot with minimal options"   "ro root=/dev/sda3 quiet initrd=/boot/intel-ucode.img initrd=/boot/initramfs-linux.img"  
//如果安装了微码更新,请按照这个格式修改,启用微码,且intel-ucode在前

其中的ro root=/dev/sda3是你挂载/的分区。
2019-07-26提醒:若initrd=/boot/intel-ucode.img initrd=/boot/initramfs-linux.img无法启动Arch,那么可去掉/boot进行尝试,差别原因尚不明。

也可参考(官方文档)[https://wiki.archlinux.org/index.php/REFInd_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#%E8%87%AA%E5%AE%9A%E4%B9%89%E8%8F%9C%E5%8D%95%E9%A1%B9]

完成安装

pacman -S dialog wpa_supplicant #保证重启后进入系统可以在root下使用wifi-menu
exit    #退出/mnt
umount -R /mnt  #取消挂载
reboot  #重启

重启后,以用户名root登录。
连接有线网络,查看以太网卡接口(当然可以使用wifi-menu连接无线网络):

ip a
dhcpcd enp0s3

参考文章:
https://www.jianshu.com/p/d3078c2cb6f5
https://blog.csdn.net/shuxiao9058/article/details/9020863
https://yehuohan.github.io/2017/06/11/%E7%AC%94%E8%AE%B0/Arch-Linux%E5%AE%89%E8%A3%85%E8%AE%B0%E5%BD%95/

文章目录