跳转至内容

在可移动介质上安装 Arch Linux

来自 ArchWiki

本页面介绍如何在可移动介质(例如 USB 闪存驱动器)上执行常规 Arch 安装。与《USB 闪存安装介质》中介绍的 LiveUSB 不同,最终结果将是一个与安装在内部驱动器上的安装完全相同的持久化安装。

安装

注意 有关所需磁盘空间,请参阅分区#分区方案

根据您可用的操作系统,有多种方法可以在可移动介质上安装 Arch。

  • 如果您有另一台 Linux 计算机(不一定是 Arch),可以按照从现有 Linux 安装中的说明进行操作。
  • 可以使用 Arch Linux CD/USB,通过引导 CD/USB 并遵循安装指南来将 Arch 安装到可移动介质上。如果从 Live USB 引导,则无法将安装到您正在引导的同一个可移动介质上。
  • 如果您运行 Windows 或 macOS,请下载 VirtualBox,安装 VirtualBox 扩展,将您的可移动介质连接到运行 Linux 的虚拟机(可以是已安装的,也可以通过 Live ISO),并在使用安装指南中的说明时,将安装指向现在已连接的驱动器。
  • 可以将 Arch 安装到您尝试从中安装的同一个 USB 驱动器上。但是,您不能在安装过程中关闭机器或重新启动。如果这样做,您需要重新创建安装介质。

安装调整

  • 创建初始 RAM 磁盘之前,在 /etc/mkinitcpio.conf 中将 blockkeyboard 钩子移到 autodetect 钩子之前。这对于允许在需要不同早期用户空间模块的多个系统上启动是必需的。
  • 如果您选择将 Arch 安装到 USB 大容量存储设备,并希望能够继续将其用作跨平台可移动驱动器,可以通过创建一个包含适当文件系统的分区(最可能是 NTFS 或 exFAT)来实现。请注意,数据分区可能需要是设备上的第一个分区,因为 Windows 假设可移动设备上只有一个分区,否则会愉快地自动挂载 EFI 系统分区。请记住安装 dosfstoolsntfs-3g。在线有一些工具可能允许您翻转 USB 大容量存储设备上的可移动介质位 (RMB)。这将欺骗操作系统将您的 USB 大容量存储设备视为外部硬盘,并允许您使用任何分区方案。
  • 如果您的 Arch 安装在需要两个制造商处理器的微码的可移动驱动器上,请同时安装 amd-ucodeintel-ucode 包。请参阅微码#加载微码
  • 如果在生成 fstab 文件条目时,只保留与可移动介质相关的条目,否则系统可能会因尝试查找不存在的设备而花费很长时间才能启动。
警告 并非所有 USB 大容量存储设备都能翻转可移动介质位 (RMB),尝试使用与您的设备不兼容的软件可能会损坏它。**不**建议尝试翻转 RMB。

引导加载器配置

注意 Systemd 将自动检测根文件系统 /,无需在 /etc/fstab 中定义它。

GRUB

请遵循GRUB#BIOS 系统GRUB#UEFI 系统中的说明,为 BIOS 和 UEFI 引导安装 GRUB。

# grub-install --target=i386-pc /dev/sdX --recheck
# grub-install --target=x86_64-efi --efi-directory=esp --removable --recheck
注意 重新检查设备映射,即使 /boot/grub/device.map 已存在。每当向计算机添加/删除磁盘时,都应使用此选项。 [1]

Syslinux

使用您的 UUID

LABEL Arch
        MENU LABEL Arch Linux
        LINUX ../vmlinuz-linux
        APPEND root=UUID=3a9f8929-627b-4667-9db4-388c4eaaf9fa rw
        INITRD ../initramfs-linux.img

rEFInd

menuentry "Arch Linux" {
   icon     /EFI/BOOT/icons/os_arch.png
   volume   5028fa50-0079-4c40-b240-abfaf28693ea
   loader   /path/to/vmlinux_image
   initrd   /path/to/initramfs
   options  "root=PARTUUID=5028fa50-0079-4c40-b240-abfaf28693ea rw"
}

有关创建手动引导项的详细信息,请参阅rEFInd#手动引导项

在安装 rEFInd 时,您还必须使用 --usedefault /dev/sdXY 参数。

技巧与提示

在多台机器上使用您的便携式安装

显卡驱动

本文或本章节的准确性存在争议。

原因: 唯一剩余的专有驱动程序是 NVIDIA,它工作得很好,而 nouveau 自从被禁止超频以来一直在衰落。(在Talk:Install Arch Linux on a removable medium中讨论)

为了支持最常见的 GPU,请安装 xf86-video-vesaxf86-video-atixf86-video-amdgpuxf86-video-fbdev

声卡驱动

为了支持最常见的声卡,请安装 sof-firmwarealsa-firmware。有关配置音频设备的更多信息,请参阅高级 Linux Sound Architecture

持久块设备命名

建议在 fstab 和引导加载程序配置中使用 UUID。有关详细信息,请参阅持久化块设备命名

或者,您可以创建 udev 规则来为您的磁盘创建自定义符号链接。然后,在 fstab 和引导加载程序配置中使用此符号链接。有关详细信息,请参阅udev#设置静态设备名称

内核参数

本文或本章节的准确性存在争议。

原因:这是否仍然是一个问题?没有链接的 bug 报告。(在Talk:Install Arch Linux on a removable medium中讨论)

您可能希望禁用 KMS,原因有很多,例如在使用某些 Intel 显卡时出现黑屏或“无信号”错误等。要禁用 KMS,请将 nomodeset 添加为内核参数。有关更多信息,请参阅内核参数

警告 某些 Xorg 驱动程序在禁用 KMS 时将无法工作。有关详细信息,请参阅您的特定驱动程序的 wiki 页面。特别是 Nouveau 需要 KMS 来确定正确的显示分辨率。如果您出于预防措施添加 nomodeset 作为内核参数,在使用带有 Nvidia 显卡的机器时,您可能需要手动调整显示分辨率。有关更多信息,请参阅Xrandr

兼容性

本文章或章节需要扩充。

原因:这应该在单独的部分中充实,以便只生成一个备用映像。(在Talk:Install Arch Linux on a removable medium中讨论)

为了获得最大的兼容性,应使用备用映像。

最小化磁盘访问

当安装到写入次数有限(直到磨损)的设备(如 USB 驱动器、SD 卡或类似设备)时,请减少写入次数以延长设备寿命。这也能降低慢速写入带来的性能影响。

  • 强烈建议在选择文件系统之前,仔细阅读提高性能#减少磁盘读/写一文。总而言之,对于闪存介质,如 USB 闪存驱动器或 SD 卡,禁用了日志的 ext4 应该就可以了,可以使用 mkfs.ext4 -O "^has_journal" /dev/sdXX 创建。使用禁用日志的文件系统的明显缺点是由于非正常卸载导致数据丢失。请注意,闪存的写入次数有限,并且在更新日志时,带有日志的文件系统会消耗其中一些次数。出于同样的原因,最好忘记交换分区。请注意,这不会影响安装到便携式硬盘。
  • 您可能希望配置 systemd journal 将其日志存储在 RAM 中,例如通过创建自定义配置文件。
/etc/systemd/journald.conf.d/usbstick.conf
[Journal]
Storage=volatile
RuntimeMaxUse=30M
  • 要在网络浏览器和其他不写入重要数据的应用程序中禁用 fsync 和相关系统调用,请使用来自 libeatmydataeatmydata 命令来避免此类系统调用。
$ eatmydata firefox

UI 响应性

在高 I/O 负载下,尤其是在慢速驱动器上,您可能会遇到 UI 冻结。 提高性能#更改 I/O 调度程序或切换到使用不同默认调度程序的内核可以极大地影响您的 UI 响应性。例如,BFQ 可以提高 UI 响应性,这在 linux-zen 上是默认设置。

有关更多信息,请参阅提高性能#调度算法

参见

  • Arch Linux USB - c-magyar 关于创建持久化 Live USB 安装的出色撰写。
  • archuseriso - 构建 Arch Linux Live ISO 映像的配置文件。支持持久化存储和加密的可启动 USB 驱动器创建工具。