Install Arch Linux on a removable medium (简体中文) - ArchWiki

Jump to content

相关文章

- 安装指南
- General recommendations (简体中文)
- General troubleshooting (简体中文)
- Install Arch Linux from VirtualBox
- 固态硬盘

翻译状态：本文是 Install Arch Linux on a removable medium 的翻译。上次翻译日期：2022-06-28。如果英文版本有所更改，则您可以帮助同步翻译。

本页介绍如何在可移动磁盘（如 U 盘）上进行常规的 Arch 安装。与此相对的是制作 LiveUSB（USB flash installation medium (简体中文) ）。结果将是与正常安装到硬盘一样的持久化安装。

## 安装

注意： 存储空间最好在 2 GiB 以上。适量的软件包将可以放得下，同时留下一些空间用于存储。不过，如果你打算安装 KDE 之类的应用程序，建议存储空间在 3 GiB 以上。

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

- 如果你有另一台 Linux 计算机（不必是 Arch），你可按照Install Arch Linux from existing Linux (简体中文)安装。
- Arch Linux CD/USB 可用于将 Arch 安装到可移动磁盘，只需从 CD/USB 启动并按照安装指南。如果从 Live USB 启动，则无法安装到同一个可移动磁盘。
- 如果你运行 Windows 或 macOS，下载 VirtualBox，安装 VirtualBox 扩展，将你的可移动磁盘连接到Linux 虚拟机（已安装好或从 live ISO 启动），然后按照安装指南安装到连接的磁盘。

### 安装时的微调

- 在创建初始 RAM disk 前，修改 `/etc/mkinitcpio.conf`，将 `block` 和 `keyboard` hook 移动到 `autodetect` hook 之前。这样才能在分别需要早期用户空间中不同模块的系统上启动。
- 如果你希望能在其他操作系统中使用安装完的磁盘，可以创建使用适当文件系统的分区（如 NTFS 或 exFAT）。注意，数据分区可能需要是设备的第一个分区，因为 Windows 会假定可移动磁盘仅有一个分区，并将自动挂载 EFI 系统分区。记得安装 dosfstools 和 ntfs-3g。网上的一些工具可能可以翻转可移动磁盘的可移动媒体位（RMB）。这将使得操作系统把它看作外置硬盘，这样你就可以随意使用你选择的分区方式。
- 如果你的 Arch 安装所在的可移动磁盘需要有两家制造商的微码，安装 amd-ucode 和 intel-ucode。见 Microcode (简体中文)#安装。

警告： 不是所有的 U 盘都可以翻转可移动媒体位（RMB），并且使用不兼容你的设备的软件可能会造成损坏。不建议尝试翻转RMB。

## 配置

- 请确认在 `/etc/fstab` 中 / 目录的分区信息和磁盘上的其他所有分区信息均正确。如果磁盘将在多台设备上启动，设备和可用的磁盘的数量都很可能不同。因此建议使用 UUID 或标签。

可使用 blkid 的 lsblk 获取分区的 UUID。详情请参阅 Persistent block device naming#by-uuid。

注意：

- 如果磁盘上安装了 GRUB，那么磁盘将总是 `hd0,0`。
- 当前版本的 GRUB 似乎默认使用 UUID。下面的内容适用于 GRUB legacy。

### GRUB legacy

GRUB legacy 的配置文件 `menu.lst` 应该大致按如下进行编辑：

使用文件系统标签时，你的 `menu.lst` 应该像这样：

    root (hd0,0)
    kernel /boot/vmlinuz-linux root=/dev/disk/by-label/Arch rw
    initrd /boot/initramfs-linux.img

使用 UUID 时，应该像这样：

    root (hd0,0)
    kernel /boot/vmlinuz-linux root=/dev/disk/by-uuid/3a9f8929-627b-4667-9db4-388c4eaaf9fa rw
    initrd /boot/initramfs-linux.img

### 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

## 小技巧

### 在多个机器上使用你的设备

#### 与 BIOS 系统的兼容性

由于你的设备将在多台设备上运行，而至今仍有仅支持BIOS的系统，因此你可能需要考虑同时支持 UEFI GPT 和 BIOS GPT/MBR 系统。见 Multiboot USB drive#Hybrid UEFI GPT + BIOS GPT/MBR boot。

#### 显卡驱动

注意：

- 对于这种安装，不建议使用专有的显卡驱动。
- 见 Intel graphics#Installation 中关于 xf86-video-intel 的注释。

为了支持最常见的 GPUs，安装 xf86-video-vesa、xf86-video-ati、xf86-video-intel、xf86-video-amdgpu、xf86-video-nouveau 和 xf86-video-fbdev。

#### 持久块设备命名

建议在 fstab 和启动管理器配置中使用 UUID。详情请参阅 Persistent block device naming。

或者，你可以自行创建 udev 规则为你的磁盘创建符号链接，然后在 fstab 和启动管理器配置中使用。详情请参阅 udev#Setting static device names。

#### 内核参数

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

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

### 兼容性

使用 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 上默认启用）。

详见调度算法。

## 参见

- ALMA - 用 Rust 编写的工具，可用于自动创建持久化的 Arch Linux Live USB 安装。
- Arch Linux USB[失效链接 2022-09-18 ⓘ] - c-magyar 关于创建持久化 Live USB 安装的精彩内容。
- archuseriso - Profiles for building Arch Linux Live ISO images. Bootable USB drives creation tools featuring persistent storage and encryption.

Category:

- Installation process (简体中文)

Hidden category:

- Pages with dead links