Arch 的安装

前言

arch系统优点:

  1. 滚动升级,不会有ubuntu从16升级到18的种种问题
  2. 最新的软件支持.包括官网都没有放出的vivaldi浏览器的arch安装包
  3. 较好的软件依赖管理,CUDA这种需要驱动,cuda,cudnn,python一同搭配的软件包,
    在pacman市场可以找到相应的一站式安装包名,自动安装好

此处为在windows的电脑中安装第二个系统时使用的教程

安装准备

  1. usb启动盘(可以在windows下制作)
  2. 合适大小的磁盘区域(可以使用usb启动盘中自带的工具对磁盘进行分割)
  3. 慎重考虑的分区方案
    1. / 根目录(比如至少 30G)
    2. /home 目录(比如也 30G)
  4. BIOS中设置好启动顺序,U盘优先

安装

检查启动方式

1
ls /sys/firmware/efi/efivars

文件存在则为efi启动

联网

1
2
3
4
# 连接网络
wifi-menu
# 检查
ping google.com -c 2

分区

  1. 查看分区情况

    1
    fdisk -l

    比较重要的输出

    1
    2
    3
    Device        Boot    Start   End         Sectors Size    Id  Type
    /dev/sda1 * 0 985087 985088 481M 0 Empty
    /dev/sda2 164 131235 131072 64M ef EFI(FAT-12/16/32e)
    • /dev/sda 是物理设备
    • /dev/sda1 等是虚拟的分区
  2. 创建分区

    1
    fdisk /dev/sda

    流程:

    1. n 新建分区
    2. 默认开始点
    3. 使用+ 50G等方法确定结束点
    4. 默认结束点,确认创建
    5. p 确认影响
    6. w 保存退出

    分区设计

    1. 根目录
    2. home目录
    3. 为了方便交换空间的大小调整,不使用交换分区而使用交换文件
  3. 格式化分区

    1
    2
    mkfs.ext4 /dev/sda3 # root 预定
    mkfs.ext4 /dev/sda4 # home 预定
  4. 挂载分区

    1
    2
    3
    mount /dev/sda3 /mnt
    mkdir /mnt/boot/edi
    mount /dev/sda2 /mnt/boot/efi
    • 此处的/mnt是相对于启动盘讲
    • 如果之前已经是双系统,比如windows+ubuntu,
      由于ubuntu可能是将bootloader分区放在/boot/efi下,
      这里如果将BootLoader像教程一样挂载在了/boot下,
      则会造成找不到的状况
  5. 配置 Fstab

    1
    2
    3
    genfstab -L /mnt >> /mnt/etc/fstab
    # 确认一下
    echo /mnt/etc/fstab

开始安装包

  1. 设定服务器地址

    /etc/pacman.d/mirrorlist 文件的头部添加

    1
    2
    Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
    Server = http://mirrors.zju.edu.cn/archlinux/$repo/os/$arch
  2. 安装基本包

    1
    pacstrap /mnt base base-devel

到安装好的系统上继续配置

  1. 切换系统

    1
    arch-chroot /mnt
  2. 其他配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    # 更新系统时间
    timedatectl set-ntp true
    # 设置 eiqu
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    hwclock --systohc
    # 安装必要软件包
    pacman -S emacs vim dialog wpa_supplicant ntfs-3g networkmanager
    # 此处设置/ etc/locale.gen 文件,删除 en_US.UTF-8 UTF-8 于z h_CN.UTF-8 UTF-8 前井号
    # locale-gen
    echo "LANG=en_US.UTF-8" > /etc/locale.conf
    # 设置 hostname
    echo ThinkPad-E480 > /etc/hostname
    # 设置 hosts 文件
    echo "127.0.0.1 localhost" >> /etc/hosts
    echo "::1 localhost" >> /etc/hosts
    echo "127.0.0.1 ThinkPad-E480.localdomain ThinkPad-E480" >> /etc/hosts
    # 设置 root 密码
    passwd
    # 安装英特尔某驱动?
    pacman -S intel-ucode
    • dialog 必须安装,否则wifi-menu命令不能打开

安装 bootloader

  1. 该过程需要几个软件包

    1
    2
    # 安装软件包
    pacman -S os-prober grub efibootmgr
    • os-prober 用于寻找其他已经安装的系统
  2. 如果已经有windows,需要确保找到

    1
    os-prober
  3. 要求grub在配置时启用os-prober检测

    1. 编辑 /etc/default/grub 文件
    2. 添加或生效一句 GRUB_DISABLE_OS_PROBER=false
  4. 安装grub必要文件

    1
    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub
    • 有时 --efi-directory=/boot 会提示说 /boot 不是EFI分区,
      可以先尝试使用 /boot/efi 路径,再考虑其他的格式化,挂载等方案
  5. 整理grub配置文件

    1
    grub-mkconfig -o /boot/grub/grub.cfg
  6. 确认配置文件内容

    • 需要确认 menuentry 是否有自己已经在使用的系统

重启使用安装好的系统

1
2
exit
reboot
  • 不需要拔下U盘,主板自动选择安装好的系统启动

参考

  1. https://www.viseator.com/2017/05/17/arch_install/