Arch 安装使用 - 基础系统安装(1)

1、archlinux的基本安装

1.1、停止reflector服务 禁止自动更新服务器列表

1
systemctl stop reflector.service

1.2、检查电脑是否支持UEFI引导模式

1
2
ls /sys/firmware/efi/efivars
# 提示:如果没有报错就是支持UEFI

1.3、连接网络

1.3.1、有线连接

直接插上网线就可以自动联网了

1.3.2、无线网络(wifi)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 是否启用了网络接口
ip link 
# 执行 iwctl 命令,进入交互式命令行
iwctl 
# 列出设备名,比如无线网卡看到叫 wlan0
device list   
# 用 wlan0 网卡扫描网络
station wlan0 scan 
# 列出网络
station wlan0 get-networks  
# 连接网络名字 输入密码
station wlan0 connect 无线网名字    
# 成功后退出
exit或者quit   

连接成功后ping一下百度是否有网

1
ping baidu.com

1.4、同步时间

1
2
3
4
# 同步网络时间
timedatectl set-ntp true
# 提示:检查是否成功 看到(system clock synchronized :yes)这一句就是成功了
timedatectl status

1.5、修改软件源

  • 把中国的源放在头部
1
vim /etc/pacman.d/mirrorlist
  • 36 dd : 剪切36行

  • p : 粘贴

1.6、分区

1.6.1、fdisk分区

1
2
3
4
# 查看磁盘分区
lsblk
# 分区
fdisk  /dev/sda

1.6.2、cfdisk分区

1
cfdisk /dev/sda

现在使用 cfdisk 分区有主分区和扩展分区,如果超过4 个主分区,那么就需要在扩展分区上进行分区。

例子:2G扩展分区(1G的 /boot 分区,1G 的 /boot/efi 分区),16G主分区(swap 交换分区),500G主分区 ( /home 分区),482G主分区( 根分区)

一般分区都有跟分区(/)、交换分区(swap)、引导分区(boot)

1.6.3、格式化分区

EFI 分区

两个选择其中一个

1
2
# mkfs.fat -F32 /dev/sda1 和 mkfs.vfat /dev/sda1
mkfs.vfat /dev/sda1

swap 分区

1
mkswap /dev/sda2

普通分区

1
2
3
4
5
# 使用 ext4 格式格式化
mkfs.ext4 /dev/sda3

# 使用 btrfs 格式进行格式化
mkfs.btrfs -f -L arch /dev/sda3
  • btrfs
    • -f :强制格式化为 btrfs 格式
    • -L : 表示分区 label (可以自定义),可以理解为 win 下的磁盘名称。

1.7、挂载分区

  • 根据自己的分区情况进行挂载分区(尽量不要把usr目录挂载出去,如果挂载出去是不能开机的(网上也有教程是可以挂载的,我没有试过)),一般挂载第三方应用安装目录(opt)、临时文件目录(tmp)
信息

必须先挂载根目录才能挂载其他目录

挂载根分区

  • btrfs 格式化挂载方法

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    # 先挂载 /dev/sda3 分区。注意: 这个分区是 btrfs 分区,也是我的根分区
    mount -t btrfs -o compress=zstd /dev/sda3 /mnt
    
    # 创建两个子卷
    btrfs subvolume create /mnt/@
    btrfs subvolume create /mnt/@home
    
    # 查看创建的子卷,-p : 指定哪个分区
    btrfs subvolume list -p /mnt
    
    # 卸载 /dev/sda3 分区
    umount /mnt
    
    # 挂载根目录
    mount -t btrfs -o subvol=/@,compress=zstd /dev/sda3 /mnt
    
    # 挂载 home 目录
    mkdir /mnt/home
    mount -t btrfs -o subvol=/@home,compress=zstd /dev/sda3 /mnt/home
    
    # 挂载 EFI 分区
    mkdir /mnt/boot
    mount /dev/sda1 /mnt/boot
    
    # 挂载 swapon 分区
    swapon /dev/sda2
    信息

    快照工具 timeshift 只支持 /@ 这种子卷布局,如果采用不同的布局,thimeshift 可能会存在问题。

  • ext4 格式化挂载方法

    1
    2
    3
    4
    5
    
    # 挂载 
    mount /dev/sda3 /mnt
    swapon /dev/sda2  请用swap分区
    mkdir /mnt/boot
    mount /dev/sda1 /mnt/boot

1.8、安装内核

1
2
3
4
5
6
# 往/mnt目录里安装系统
# 其中最基础的四个包是 base base-devel linux linux-firmware
# linux-lts (lts:稳定版)
# 如果内核安装了稳定版,那么独显也要是稳定版的,要不然就会发生问题(我也不知道什么问题)
# 如果使用 btrfs 分区需要安装 btrfs-progs
pacstrap /mnt base base-devel linux linux-firmware nvim btrfs-progs

image-20220924005039396

1.9、配置系统

1.9.1、Fstab

1
2
# 生成 fstab文件 (用 `-U` 或 `-L` 选项设置 UUID 或卷标)
genfstab -U /mnt >> /mnt/etc/fstab
信息

在执行完以上命令后,检查一下生成的 /mnt/etc/fstab 文件是否正确。

1.9.2、Chroot

1
2
# chroot到新安装的系统
arch-chroot /mnt

1.9.3、设置时区

1
2
3
4
5
6
# ln -sf /usr/share/zoneinfo/Region(地区名)/City(城市名) /etc/localtime
# 设置上海时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# 将硬件时钟调整为与目前的系统时钟一致
hwclock --systohc

1.9.4、本地化

修改 local.gen 文件

程序和库如果需要本地化文本,都依赖区域设置,后者明确规定了地域、货币、时区日期的格式、字符排列方式和其他本地化标准。

需在这两个文件设置:locale.genlocale.conf

编辑 /etc/locale.gen,然后取消掉 en_US.UTF-8 UTF-8 和其他需要的 区域设置前的注释#。

接着执行 locale-gen 以生成 locale 信息:

1
2
3
vim /etc/locale.gen
# 更新locale
locale-gen

创建 locale.conf 文件

创建 locale.conf 文件,并编辑设定 LANG 变量,比如:

vim /etc/locale.conf
LANG=en_US.UTF-8

警告: 不推荐在此设置任何中文 locale,会导致 tty 乱码。

例子:

1
2
3
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_SG.UTF-8 UTF-8

1.9.5、网络配置

创建hostname文件

1
2
3
4
5
# 编辑 hostname,写入下面内容
vim /etc/hostname

# 写入内容
arch(主机名)

创建hosts文件

1
2
3
4
5
6
# 编辑 hosts,写入下面内容
vim /etc/hosts

# 写入内容
127.0.0.1   localhost
::1         localhost

1.9.6、Root 密码

1
2
# 修改 root 密码
passwd

1.10、安装引导程序

1.10.1、安装 cpu微码和引导软件

1
2
3
# 如果是amd的cpu 则输入amd-ucode
# os-prober 查找已安装的操作系统 推荐实体机上安装,如果不是双系统不需要安装
pacman -S intel-ucode  grub efibootmgr

1.10.2、安装grub引导

1
2
#安装grub引导
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH

说明

  • grub-install:安装grub
  • –target=x86_64-efi :目标架构x86架构64位 efi启动方式 若不确定使用uname -a 可以查看
  • –efi-directory=/boot :安装系统是 efi 分区挂载的文件目录。例如:我 efi 挂载到 /boot 目录下,这里就是 /boot,如果是 /boot/efi 目录下,那这里就要写成 /boot/efi
  • –bootloader-id=ARCH :ARCH 是引导的别名,甚至这一段都可以不用写

1.10.3、生成grub

1
2
# 生成grub ,如果没有 /boot/grub 目录就创建。(创建目录:mkdir /boot/grub)
grub-mkconfig -o /boot/grub/grub.cfg

1.11、安装软件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# 连接网络相关的包,如果安装了 networkmanager 就不需要安装 dhcpd 。如果你使用的是 dhcpcd 那就需要结合 iwd 来使用 wifi,networkmanager 不需要 iwd。
dhcpcd iwd	networkmanager
# 命令补全工具
bash-completion  
# 网络工具
iproute2 
#
zsh
# 查看系统信息命令
neofetch  

# 安装  
pacman -S networkmanager neofetch bash-completion

# 开机自启动网络管理。如果安装的是 dhcpd ,执行 systemctl enable dhcpcd
systemctl enable NetworkManager

1.12、退出

1
2
3
4
5
6
#输入 exit 或按 Ctrl+d 退出 chroot 环境。
exit
#卸载被挂载的分区
umount -R /mnt
#重启
reboot
0%