在可移动设备上安装 Arch Linux - Arch Linux 中文维基

跳转到内容

# 在可移动设备上安装 Arch Linux

来自 Arch Linux 中文维基

相关文章

- 安装指南
- 建议阅读
- 常规故障排除
- VirtualBox/在虚拟机中安装 Arch Linux
- 固态硬盘

翻译状态：

- 本文（或部分内容）译自 Install Arch Linux on a removable medium，最近一次同步于 2025-04-25，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

本文介绍如何在可移动磁盘（如 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`，将 `block` 和 `keyboard` 钩子移动到 `autodetect` 钩子之前。这样才能在分别需要早期用户空间中不同模块的系统上启动。
- 如果您希望能在其他操作系统中使用安装完的磁盘，可以创建使用适当文件系统的分区（如 NTFS 或 exFAT）。注意，数据分区可能需要是设备的第一个分区，因为 Windows 会假定可移动磁盘仅有一个分区，并将自动挂载 EFI 系统分区。记得安装 dosfstools包 和 ntfs-3g包。网上的一些工具可能可以翻转可移动磁盘的可移动媒体位（RMB）。这将使得操作系统把它看作外置硬盘，这样您就可以随意使用您选择的分区方式。
- 如果您的 Arch 所在的可移动磁盘需要有两家制造商的微码，请安装 amd-ucode包 和 intel-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

注意： 此处安装grub时必须使用--removable参数，该参数可以使efi被安装于uefi固件的默认检索位置，对于多设备启动至关重要，缺失几乎必然导致其他设备下无法检索引导程序。 再次检查 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 中讨论）

注意：

- 对于这种安装，不建议使用专有的显卡驱动。
- 在决定安装 xf86-video-intel包 和 xf86-video-nouveau包 前请先阅读 Intel 图形处理器#安装 和 Nouveau#安装 中分别关于此二者的注释。

为支持最常见的 GPU，请安装 xf86-video-vesa包、xf86-video-ati包、xf86-video-amdgpu包 和 xf86-video-fbdev包。

#### 声卡驱动

为支持最常见的声卡，请安装 sof-firmware包 和 alsa-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` 和相关的系统调用，可以使用来自 libeatmydata包 的 `eatmydata` 命令：

    $ eatmydata firefox

### UI 响应速度

高 I/O 负载可能会导致 UI 冻结，特别是在慢磁盘上。更改 I/O 调度器，或者切换到默认使用不同调度器的内核，可以极大地改进 UI 的响应速度。例如 BFQ 可以改进 UI 的响应速度（它在 linux-zen包 和 linux-ckAUR 上默认启用）。

详见性能优化#调度算法。

## 另请参阅

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

分类：​

- 安装过程
- 包含失效链接的页面

隐藏分类：​

- 使用“模板:准确性”标记的页面或章节

在可移动设备上安装 Arch Linux
添加话题