Arch Linux安装教程 (最新版) – wiki基地


Arch Linux 最新版终极安装指南:从零开始构建你的专属系统 (约3000字)

前言:拥抱 Arch Linux 的哲学

Arch Linux,一个以简洁、现代、实用、用户中心和滚动更新为核心理念的 Linux 发行版。它并非为新手准备,但对于那些渴望深入了解 Linux 系统运作、追求极致定制化和最新软件的用户来说,Arch Linux 无疑是充满魅力的选择。安装 Arch Linux 的过程本身就是一次宝贵的学习经历,它不会像许多发行版那样隐藏细节,而是要求你亲手构建系统的每一个核心部分。

本指南旨在提供一个详尽的、基于最新 Arch Linux 安装镜像(撰写时为 2024 年)的安装步骤。我们将覆盖从准备安装介质到配置一个基本可用的命令行系统的全过程,并为后续图形环境的安装打下基础。请注意,Arch Linux 的安装过程高度依赖命令行,需要一定的耐心和解决问题的能力。强烈建议在安装过程中随时查阅官方的 Arch Wiki (wiki.archlinux.org),它是最权威、最及时的信息来源。

核心原则:“The Arch Way”

  • 简洁 (Simplicity): 避免不必要的复杂性、修改和添加。保持软件接近上游。
  • 现代 (Modernity): 努力提供最新稳定版本的软件。
  • 实用 (Pragmatism): 不拘泥于意识形态,基于实际需求和技术考量。
  • 用户中心 (User-Centricity): 用户完全掌控自己的系统,系统不会试图“猜测”用户的需求。
  • 自主性 (Versatility): Arch Linux 提供了一个基础系统,用户可以自由地构建任何类型的系统。

准备工作

  1. 下载 Arch Linux ISO:

    • 访问 Arch Linux 官网的下载页面 (https://archlinux.org/download/)。
    • 选择一个靠近你地理位置的镜像站点,下载最新的 ISO 文件(通常文件名类似 archlinux-yyyy.mm.dd-x86_64.iso)。
    • (可选但推荐)验证 ISO 完整性: 下载对应的 PGP 签名文件 (.sig),并使用 GnuPG 根据 Arch Wiki 上的说明验证 ISO 文件未被篡改。
  2. 创建可启动 USB 驱动器:

    • 你需要一个容量至少 2GB 的 USB 驱动器。注意:此过程将擦除 USB 驱动器上的所有数据!
    • 在 Linux/macOS 上: 可以使用 dd 命令。首先,用 lsblk 或类似命令确定 USB 驱动器的设备名(例如 /dev/sdx不是 /dev/sdx1)。然后执行(请极其小心,确保 of= 指向正确的设备!):
      bash
      sudo dd bs=4M if=/path/to/archlinux-yyyy.mm.dd-x86_64.iso of=/dev/sdx status=progress oflag=sync

      /path/to/archlinux...iso 替换为你的 ISO 文件路径,/dev/sdx 替换为你的 USB 设备名。
    • 在 Windows 上: 可以使用 Rufus (https://rufus.ie/) 或 Ventoy (https://www.ventoy.net/) 等工具。Rufus 通常选择 “DD Image” 模式写入。Ventoy 则允许你将多个 ISO 文件复制到 USB 驱动器上并从中选择启动。
  3. 备份重要数据: 如果你计划将 Arch Linux 安装在已有数据的硬盘上,或者进行双系统安装,务必提前备份所有重要文件!分区操作具有风险。

  4. 确保网络连接: 安装过程需要从互联网下载软件包。确保你的计算机可以通过有线(推荐,通常无需配置)或无线网络连接到互联网。

  5. 了解你的硬件: 知道你的网络接口名称、磁盘设备名、是使用 BIOS 还是 UEFI 启动模式至关重要。

启动到 Arch Linux Live 环境

  1. 将创建好的 USB 驱动器插入目标计算机。
  2. 重启计算机,并在启动时进入 BIOS/UEFI 设置(通常按 F2, F10, F12, DELESC 键,具体取决于主板)。
  3. 关闭 Secure Boot: 大多数情况下,需要禁用 Secure Boot 才能启动 Arch Linux 安装介质。
  4. 设置启动顺序: 将 USB 驱动器设置为第一启动设备。
  5. 保存设置并退出 BIOS/UEFI。计算机将从 USB 驱动器启动。
  6. 你应该会看到 Arch Linux 的启动菜单。选择第一个选项 “Arch Linux install medium (x86_64, UEFI)” 或类似条目(如果你是 UEFI 系统)。如果是旧的 BIOS 系统,选项可能略有不同。
  7. 稍等片刻,系统将加载必要的组件,最终你会看到一个 root@archiso ~ # 的命令行提示符。恭喜,你已成功进入 Arch Linux Live 环境!

第一阶段:预安装配置

  1. 设置键盘布局 (如果不是 US 布局):

    • 默认是 US 键盘布局。如果你使用其他布局(如 UK, German 等),需要加载它。
    • 列出可用布局:ls /usr/share/kbd/keymaps/**/*.map.gz
    • 加载布局(例如,加载 UK 布局):
      bash
      loadkeys uk

      (将 uk 替换为你的布局名称,如 de-latin1 等)
  2. 验证启动模式 (非常重要):

    • 确认你是以 UEFI 模式还是 BIOS (Legacy) 模式启动的。这将影响后续的分区和引导加载器安装。
    • 执行以下命令:
      bash
      ls /sys/firmware/efi/efivars
    • 如果该目录存在并列出文件,则表示你是以 UEFI 模式启动的。
    • 如果目录不存在或命令报错,则表示你是以 BIOS (Legacy) 模式启动的。请务必记住你的启动模式!
  3. 连接到互联网:

    • 有线连接: 通常插入网线后会自动通过 DHCP 获取 IP 地址。验证连接:
      bash
      ping archlinux.org

      如果收到回复,表示网络已连接。按 Ctrl+C 停止 ping。如果没有连接,检查网线是否插好,或使用 ip link 查看网络接口状态,并尝试 dhclient <interface_name>(例如 dhclient enp3s0)。
    • 无线连接 (Wi-Fi): Arch ISO 包含 iwctl 工具用于管理无线网络。
      • 启动 iwctl 交互模式:
        bash
        iwctl
      • 列出无线设备 (通常是 wlan0):
        [iwd]# device list
      • 扫描可用网络 (用你的设备名替换 wlan0):
        [iwd]# station wlan0 scan
      • 列出扫描到的网络:
        [iwd]# station wlan0 get-networks
      • 连接到你的网络 (用你的网络名称 SSID 替换 YourWifiSSID):
        [iwd]# station wlan0 connect "YourWifiSSID"
        如果网络有密码,它会提示你输入。
      • 退出 iwctl:
        [iwd]# exit
      • 验证连接:
        bash
        ping archlinux.org
  4. 更新系统时钟: 确保系统时间准确对于软件包签名验证等至关重要。
    bash
    timedatectl set-ntp true

    可以用 timedatectl status 检查状态。

  5. 磁盘分区:

    • 警告: 这是安装过程中最具风险的步骤。错误的操作可能导致数据丢失!如果你不确定,请停止并寻求帮助或查阅更多资料。
    • 识别磁盘: 列出系统中的块设备(硬盘、SSD、USB 等):
      bash
      lsblk

      或者使用 fdisk -l。你需要确定要安装 Arch Linux 的目标磁盘(例如 /dev/sda, /dev/nvme0n1)。
    • 选择分区工具:
      • fdisk: 经典的 MBR 和 GPT 分区工具。
      • gdisk: 专门用于 GPT 分区的工具,功能更强。
      • cfdisk: 一个基于 curses 的、相对用户友好的分区工具 (推荐给初学者)。
      • parted: 功能强大的命令行工具,也可用于脚本化。
    • 分区方案示例 (根据你的启动模式选择):

      • UEFI 系统 (推荐 GPT 分区表):
        • EFI 系统分区 (ESP): 至少 300MB,推荐 512MB 或更大。类型为 EFI System,格式化为 FAT32。挂载点:/mnt/boot (或 /mnt/efi)。
        • Swap 分区 (可选但推荐): 大小取决于你的 RAM 和是否需要休眠。一般建议等于 RAM 大小或稍大(例如,8GB RAM -> 8GB Swap)。类型为 Linux swap
        • 根 (Root) 分区 (/): 占用剩余空间。类型为 Linux filesystem。格式化为 Ext4 (常用) 或其他 Linux 文件系统 (如 Btrfs, XFS)。挂载点:/mnt
      • BIOS 系统 (可以使用 MBR 或 GPT 分区表):
        • 引导分区 (可选,有时需要): 如果使用某些旧的引导加载器或特定配置,可能需要一个小的(~100MB)引导分区。通常可以直接安装到根分区。
        • Swap 分区: 同 UEFI。类型为 Linux swap
        • 根 (Root) 分区 (/): 占用剩余空间。类型为 Linux filesystem。格式化为 Ext4 或其他。挂载点:/mnt。 如果使用 MBR,确保根分区或包含 /boot 的分区被标记为 “bootable”。
    • 使用 cfdisk 进行分区的简要步骤 (以 /dev/sda 为例):

      1. 启动 cfdisk: cfdisk /dev/sda
      2. 选择分区表类型: gpt (推荐) 或 dos (MBR)。
      3. 使用箭头键选择 Free space
      4. 选择 [ New ] 创建新分区。
      5. 输入分区大小 (例如 512M for ESP, 8G for Swap, 留空使用剩余空间 for Root)。
      6. 设置分区类型:
        • 对于 ESP: 选择 [ Type ], 找到并选择 EFI System
        • 对于 Swap: 选择 [ Type ], 找到并选择 Linux swap
        • 对于 Root: 默认通常是 Linux filesystem,无需更改。
      7. 重复步骤 3-6 创建所有分区。
      8. 检查分区表: 确保分区布局符合你的计划。
      9. 选择 [ Write ] 将更改写入磁盘。输入 yes 确认。
      10. 选择 [ Quit ] 退出。
  6. 格式化分区:

    • 警告: 确认你选择了正确的分区!
    • 假设分区如下 (请根据你的实际情况调整设备名):
      • /dev/sda1: EFI System Partition (ESP)
      • /dev/sda2: Swap
      • /dev/sda3: Root (/)
    • 格式化 ESP 为 FAT32:
      bash
      mkfs.fat -F32 /dev/sda1
    • 初始化并启用 Swap:
      bash
      mkswap /dev/sda2
      swapon /dev/sda2
    • 格式化 Root 分区为 Ext4:
      bash
      mkfs.ext4 /dev/sda3

      (如果你选择其他文件系统,如 Btrfs,使用 mkfs.btrfs /dev/sda3)
  7. 挂载分区:

    • 必须先挂载根分区!
    • 挂载根分区到 /mnt:
      bash
      mount /dev/sda3 /mnt
    • 创建挂载点并挂载其他分区 (如果需要):
      • 对于 UEFI 系统,挂载 ESP:
        bash
        mkdir /mnt/boot # 或者 mkdir /mnt/efi,选择一个并保持一致
        mount /dev/sda1 /mnt/boot # 或者 mount /dev/sda1 /mnt/efi
      • 如果你创建了单独的 /home 分区 (例如 /dev/sda4),也需要创建挂载点并挂载:
        bash
        mkdir /mnt/home
        mount /dev/sda4 /mnt/home
    • 使用 lsblkmount | grep /mnt 确认分区已正确挂载。

第二阶段:安装基本系统

  1. 选择镜像源 (可选但推荐):

    • 为了提高下载速度,可以编辑 /etc/pacman.d/mirrorlist 文件,将靠近你的镜像源(取消注释 #)移到文件顶部。
    • 或者,使用 reflector 自动选择和排序镜像:
      bash
      pacman -Syy # 先同步一下包数据库
      pacman -S reflector # 安装 reflector
      # 示例:选择中国的 HTTPS 镜像,按速度排序,并覆盖 mirrorlist 文件
      reflector --country China --protocol https --sort rate --save /etc/pacman.d/mirrorlist
      # 你可以根据需要调整国家、协议等参数
  2. 安装基本包: 使用 pacstrap 脚本将基本系统、Linux 内核和常用固件安装到新系统的根目录 (/mnt)。
    bash
    pacstrap /mnt base linux linux-firmware

    • base: 包含一个能够运行的基本 Arch Linux 系统所需的所有包(如 bash, systemd, pacman 等)。
    • linux: 最新的稳定版 Linux 内核。
    • linux-firmware: 包含各种硬件驱动所需的固件文件。
    • 强烈建议同时安装一些基础工具:
      bash
      pacstrap /mnt base linux linux-firmware nano vim networkmanager man-db man-pages texinfo

      • nano / vim: 文本编辑器,至少装一个。
      • networkmanager: 强大的网络管理工具,方便后续配置网络。
      • man-db, man-pages, texinfo: 用于查看帮助文档。

    这个过程会下载并安装不少软件包,需要一些时间,具体取决于你的网络速度和镜像源。

第三阶段:配置系统

  1. 生成 Fstab 文件: fstab 文件定义了磁盘分区如何在系统启动时自动挂载。
    bash
    genfstab -U /mnt >> /mnt/etc/fstab

    • -U 表示使用 UUID (Universally Unique Identifier) 来标识分区,这比设备名(如 /dev/sda1)更可靠,因为设备名可能会改变。
    • 检查生成的 fstab 文件:
      bash
      cat /mnt/etc/fstab

      确保所有之前挂载的分区(Root, ESP, Swap, Home 等)都已正确列出,并且挂载点无误。
  2. Chroot 到新系统: “Change Root”,将当前环境的根目录切换到新安装的系统 (/mnt)。这样,后续的命令就如同在新系统内部执行一样。
    bash
    arch-chroot /mnt

    你会注意到命令提示符发生了变化,不再是 root@archiso

  3. 设置时区:

    • /etc/localtime 链接到你的时区文件。首先找到你的时区(例如 Asia/Shanghai, Europe/London, America/New_York)。可以用 ls /usr/share/zoneinfo/ 逐级查找。
    • 创建链接 (替换 Region/City):
      bash
      ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    • 将系统时间同步到硬件时钟 (UTC):
      bash
      hwclock --systohc
  4. 本地化 (Localization): 设置语言、编码等。

    • 编辑 /etc/locale.gen 文件,取消注释你需要的 locale(编码)。例如,取消注释 en_US.UTF-8 UTF-8zh_CN.UTF-8 UTF-8
      bash
      nano /etc/locale.gen

      找到对应行,删除行首的 #。按 Ctrl+X 保存退出 (如果是 nano)。
    • 生成 locale 信息:
      bash
      locale-gen
    • 创建 /etc/locale.conf 文件,设置默认语言:
      bash
      echo "LANG=en_US.UTF-8" > /etc/locale.conf

      (将 en_US.UTF-8 替换为你主要使用的 locale)
    • (可选) 设置控制台键盘布局 (持久化): 如果你在 Live 环境中设置了非 US 布局,需要在这里再次设置,使其在系统启动时生效。
      bash
      echo "KEYMAP=uk" > /etc/vconsole.conf

      (将 uk 替换为你的布局)
  5. 网络配置:

    • 设置主机名 (Hostname): 这是你的计算机在网络上的名称。
      bash
      echo "myarchpc" > /etc/hostname

      (将 myarchpc 替换为你喜欢的主机名)
    • 编辑 hosts 文件: 添加与主机名匹配的条目。
      bash
      nano /etc/hosts

      添加以下内容 (将 myarchpc 替换为你的主机名):
      127.0.0.1 localhost
      ::1 localhost
      127.0.1.1 myarchpc.localdomain myarchpc
    • 启用网络管理服务: 如果你之前安装了 networkmanager
      bash
      systemctl enable NetworkManager

      这会让 NetworkManager 在系统启动时自动运行,管理你的网络连接(包括有线和无线)。如果你没有安装 NetworkManager,则需要配置 systemd-networkddhcpcd 等其他网络工具。
  6. 设置 Root 用户密码:
    bash
    passwd

    输入并确认一个新的、强密码。请务必记住这个密码!

  7. 安装引导加载程序 (Bootloader) (关键步骤): 引导加载程序负责在开机时加载 Linux 内核。选择哪种以及如何安装取决于你的启动模式 (UEFI 或 BIOS)。

    • 必需:安装 Microcode 更新: 为了CPU的稳定性和安全性,强烈建议安装。

      • Intel CPU: pacman -S intel-ucode
      • AMD CPU: pacman -S amd-ucode
    • 选项一:UEFI 系统 (推荐使用 GRUB 或 systemd-boot)

      • 使用 GRUB:
        1. 安装 GRUB 和 efibootmgr:
          bash
          pacman -S grub efibootmgr
        2. 安装 GRUB 到 EFI 分区 (确保 /boot 或你选择的 ESP 挂载点正确):
          bash
          # 如果你的 ESP 挂载在 /boot
          grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH
          # 如果你的 ESP 挂载在 /efi
          # grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=ARCH

          --bootloader-id=ARCH 定义了在 UEFI 启动菜单中显示的名称。
        3. 生成 GRUB 配置文件:
          bash
          grub-mkconfig -o /boot/grub/grub.cfg

          这个命令会自动检测内核、initramfs 和 microcode 更新。
      • 使用 systemd-boot (更简洁,仅适用于 UEFI):
        1. 安装 systemd-boot (它通常已随 systemd 一起安装,只需配置):
          bash
          bootctl --path=/boot install # 假设 ESP 挂载在 /boot
        2. 创建引导项配置文件 /boot/loader/loader.conf:
          bash
          nano /boot/loader/loader.conf

          内容类似:
          default arch.conf
          timeout 3
          console-mode max
          editor no
        3. 创建 Arch Linux 的引导项文件 /boot/loader/entries/arch.conf (文件名需与 loader.conf 中的 default 对应):
          bash
          nano /boot/loader/entries/arch.conf

          内容类似 (确保 options 行中的 root= 指向你的根分区 UUID,可以用 blkid /dev/sda3 查看):
          title Arch Linux
          linux /vmlinuz-linux
          initrd /intel-ucode.img # 如果是 AMD,用 /amd-ucode.img
          initrd /initramfs-linux.img
          options root=UUID=YOUR_ROOT_PARTITION_UUID rw quiet

          注意: 替换 YOUR_ROOT_PARTITION_UUID 为你根分区的实际 UUID。rw 表示读写挂载,quiet 可以移除内核启动信息(可选)。
    • 选项二:BIOS 系统 (通常使用 GRUB)

      1. 安装 GRUB:
        bash
        pacman -S grub
      2. 安装 GRUB 到 MBR (Master Boot Record) 或分区的引导扇区 (替换 /dev/sda 为你的目标磁盘,不是分区):
        bash
        grub-install --target=i386-pc /dev/sda

        警告: 确保 /dev/sda 是正确的磁盘!
      3. 生成 GRUB 配置文件:
        bash
        grub-mkconfig -o /boot/grub/grub.cfg

    安装完引导加载程序后,基本系统配置完成!

第四阶段:收尾与重启

  1. 退出 Chroot 环境:
    bash
    exit
  2. 卸载所有分区:
    bash
    umount -R /mnt

    如果提示设备忙 (device is busy),可能是有进程仍在访问挂载点。尝试 umount -l /mnt/xxx 来强制卸载,或查找并结束相关进程。通常 umount -R /mnt 应该可以工作。
  3. 重启系统:
    bash
    reboot
  4. 拔掉 USB 安装介质: 在计算机重启后,系统提示之前,及时拔掉 USB 驱动器。

第五阶段:首次启动与基本配置

  1. 登录: 系统启动后,你应该会看到一个文本登录提示符。使用 root 用户和你之前设置的密码登录。

  2. 创建普通用户: 不建议长期使用 root 用户操作。创建一个普通用户:
    bash
    useradd -m -G wheel username

    • -m: 创建用户的家目录 (/home/username)。
    • -G wheel: 将用户添加到 wheel 组。wheel 组通常被配置为允许使用 sudo 命令。
    • username 替换为你想要的用户名。
  3. 设置用户密码:
    bash
    passwd username

    输入并确认新用户的密码。

  4. 安装并配置 Sudo: 允许普通用户执行管理员命令。

    • 安装 sudo 包:
      bash
      pacman -S sudo
    • 编辑 sudoers 文件 (必须使用 visudo 命令!):
      bash
      EDITOR=nano visudo

      (如果你更喜欢 vim,可以省略 EDITOR=nano)
      找到类似下面这行,并取消注释 (删除行首的 #):
      %wheel ALL=(ALL:ALL) ALL
      # 或者 %wheel ALL=(ALL) ALL,较旧的格式

      这允许 wheel 组中的所有用户以任何用户身份执行任何命令 (需要输入自己的密码)。
      Ctrl+X 保存退出 (nano)。visudo 会在保存前检查语法,防止配置错误导致无法使用 sudo。
  5. 测试 Sudo:

    • 退出 root 用户: exit
    • 使用你新创建的用户名和密码登录。
    • 尝试执行一个需要 root 权限的命令,例如更新包数据库:
      bash
      sudo pacman -Syu

      系统会提示你输入你的用户密码 (不是 root 密码)。如果命令成功执行,说明 sudo 配置正确。

至此,你已经拥有了一个基本的、可用的 Arch Linux 命令行系统!

后续步骤:迈向图形界面

现在你的系统还只有命令行界面。下一步通常是安装:

  1. 显卡驱动:

    • 识别你的显卡: lspci | grep -E "VGA|3D"
    • 根据你的显卡类型 (Intel, AMD, NVIDIA) 安装相应的驱动。查阅 Arch Wiki 的 “Xorg” 和具体显卡(如 “NVIDIA”, “AMDGPU”, “Intel graphics”)页面获取详细信息。
    • 通用开源驱动 mesa 通常已经作为依赖安装。NVIDIA 可能需要安装闭源驱动 nvidia
  2. Xorg Server (显示服务器): 图形界面的基础。
    bash
    sudo pacman -S xorg-server

  3. 桌面环境 (Desktop Environment) 或 窗口管理器 (Window Manager):

    • 桌面环境 (提供完整体验):
      • GNOME: sudo pacman -S gnome gnome-extra
      • KDE Plasma: sudo pacman -S plasma kde-applications
      • XFCE: sudo pacman -S xfce4 xfce4-goodies
      • Cinnamon: sudo pacman -S cinnamon
      • MATE: sudo pacman -S mate mate-extra
    • 窗口管理器 (更轻量、更可定制): i3, Sway (Wayland), AwesomeWM, Openbox 等。安装方式各异,请查阅 Wiki。
  4. 显示管理器 (Display Manager): 提供图形登录界面。

    • GDM (GNOME): sudo systemctl enable gdm.service
    • SDDM (KDE): sudo systemctl enable sddm.service
    • LightDM (通用): sudo pacman -S lightdm lightdm-gtk-greeter; sudo systemctl enable lightdm.service
  5. 声音服务器: 推荐 PipeWire (现代标准)。
    bash
    sudo pacman -S pipewire pipewire-pulse pipewire-alsa pipewire-jack wireplumber

    安装后通常会自动工作,或需要用户启用/配置 wireplumber 服务。

  6. 常用应用程序: 浏览器 (firefox, chromium), 终端模拟器 (gnome-terminal, konsole, alacritty), 文件管理器 (nautilus, dolphin, thunar), 文本编辑器等。

结语:旅程的开始

恭喜你完成了 Arch Linux 的安装!这只是探索 Arch Linux 世界的开始。你现在拥有了一个完全由自己掌控、高度定制化的系统。

请记住:

  • Arch Wiki 是你最好的朋友: https://wiki.archlinux.org/ 遇到任何问题,首先查阅 Wiki。
  • 滚动更新: 定期使用 sudo pacman -Syu 更新系统,以获取最新的软件和安全修复。阅读更新前的信息,有时可能需要手动干预。
  • AUR (Arch User Repository): 了解并谨慎使用 AUR 获取官方仓库之外的软件。推荐使用 AUR Helper 如 yayparu (需要先安装 base-develgit)。
  • 学习与探索: Arch Linux 鼓励用户不断学习和探索 Linux 系统的内部工作原理。

享受你的 Arch Linux 之旅吧!

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部