跳转到内容
来自 Arch Linux 中文维基

本文介绍如何在可移动磁盘(如 U 盘)上进行常规的 Arch 安装,结果是与正常安装到硬盘一样的持久化安装。与此相对的是制作 LiveUSB(U 盘安装介质)。

安装

注意:请阅读分区#分区方案以决定需要的磁盘空间。

取决于您的操作系统,可通过多种方式在可移动磁盘上安装 Arch:

  • 若您有另一台 Linux 计算机(不必是 Arch),您可按照从现有 Linux 发行版安装 Arch Linux 安装。
  • Arch Linux CD/USB 可用于将 Arch 安装到可移动磁盘,只需从 CD/USB 启动并按照安装指南进行安装。如果从 Live USB 启动,则无法安装到同一个可移动磁盘。
  • 若您运行 Windows 或 macOS,则可以下载 VirtualBox,安装 VirtualBox 扩展,将您的可移动磁盘连接到 Linux 虚拟机(已安装好或从 live ISO 启动),然后按照安装指南安装到连接的磁盘。
  • 可以在您启动安装环境的 USB 设备上安装 Arch Linux,但是您不能在安装过程中重启。若如此做,您可能需要再次制作安装介质。

安装时的微调

  • 创建初始 RAM disk 前,修改 /etc/mkinitcpio.conf,将 blockkeyboard 钩子移动到 autodetect 钩子之前。这样才能在分别需要早期用户空间中不同模块的系统上启动。
  • 如果您希望能在其他操作系统中使用安装完的磁盘,可以创建使用适当文件系统的分区(如 NTFS 或 exFAT)。注意,数据分区可能需要是设备的第一个分区,因为 Windows 会假定可移动磁盘仅有一个分区,并将自动挂载 EFI 系统分区。记得安装 dosfstoolsntfs-3g。网上的一些工具可能可以翻转可移动磁盘的可移动媒体位(RMB)。这将使得操作系统把它看作外置硬盘,这样您就可以随意使用您选择的分区方式。
  • 如果您的 Arch 所在的可移动磁盘需要有两家制造商的微码,请安装 amd-ucodeintel-ucode。见 Microcode#加载微码
  • 确保在生成的 /etc/fstab 文件内删除了主机上的文件系统的相关条目。启动时,若相关条目的文件系统不存在,Arch 会等待该文件系统较长时间。
警告:不是所有的 U 盘都可以翻转可移动媒体位(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
注意:再次检查 device map,即使 /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 自从阻止 reclocking 后就一直在退步。(在 Talk:在可移动设备上安装 Arch Linux 中讨论)


注意:

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

声卡驱动

为支持最常见的声卡,请安装 sof-firmwarealsa-firmware。请参阅 ALSA 以获取更多关于配置音频设备的信息。

块设备持久化命名

建议在 fstab 和启动管理器配置中使用 UUID。详情请参阅块设备持久化命名

或者,您可以自行创建 udev 规则为您的磁盘创建符号链接,然后在 fstab 和启动管理器配置中使用。详情请参阅 udev#设置静态设备名

内核参数

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

原因: 该问题是否依然存在?未链接到错误报告。(在 Talk:在可移动设备上安装 Arch Linux 中讨论)


您可能由于各种各样的原因希望禁用 KMS,例如在使用 Intel 显卡时遇到空白屏幕、显示器“无信号”错误等。要禁用 KMS,添加 nomodeset 内核参数。详情请参阅内核参数

警告:KMS 禁用时某些 Xorg 驱动将无法工作。请在您的驱动对应的 wiki 页面上查找详细信息。特别是 Nouveau,它需要 KMS 才能判断正确的分辨率。如果您已添加 nomodeset,那么您可能需要在使用 Nvidia 显卡的设备上手动调整分辨率。详情请参阅 Xrandr

兼容性

这篇文章的某些内容需要扩充。

原因:这里应该独立成节,建议仅生成 fallback 镜像。 (在 Talk:在可移动设备上安装 Arch Linux 中讨论)

使用 fallback 镜像可获得最大的兼容性。

最小化磁盘访问

当安装到总写入量有限的设备(如 U 盘、SD 卡等)上时,减少写入量可以延长设备的寿命。这也可以减小写入慢对性能的影响。

  • 强烈建议在选择文件系统前阅读性能优化#减少磁盘读写。概括起来,对于基于闪存的磁盘(如 U 盘、SD 卡等),无日志的 ext4 应该就可以了,它可通过 mkfs.ext4 -O "^has_journal" /dev/sdXX 创建。使用无日志的文件系统的明显的缺点就是在 ungraceful dismount 时会丢失数据。不过要意识到闪存的总写入量是有限的,而日志会占用其中的一部分。由于同样的原因,最好也不要想着 swap 分区了。注意这并不影响安装到可移动硬盘。
  • 您可能想将 systemd 日志配置为在内存中存储日志。为此,可以创建一个配置文件:
/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-zenlinux-ckAUR 上默认启用)。

详见性能优化#调度算法

另请参阅

  • Arch Linux USB[失效链接 2022-09-18 ⓘ] - c-magyar 关于创建持久化 Live USB 安装的精彩内容。
  • archuseriso - 用于构建 Arch Linux Live ISO 镜像的配置文件。具有持久存储和加密功能的可启动 USB 驱动器创建工具。