在可移动介质上安装 Arch Linux
本页面介绍如何将 Arch 常规安装到可移动介质(例如 USB 闪存驱动器)。与 USB 闪存安装介质 中介绍的 LiveUSB 不同,其结果将是与正常安装到 HDD 相同的持久安装。
安装
有多种在可移动介质上安装 Arch 的方法,具体取决于您可用的操作系统
- 如果您有另一台可用的 Linux 计算机(不一定是 Arch),您可以按照 从现有 Linux 安装 中的说明进行操作。
- Arch Linux CD/USB 可用于通过启动 CD/USB 并按照安装指南将 Arch 安装到可移动介质上。如果从 Live USB 启动,则无法安装到您正在从中启动的同一可移动介质。
- 如果您运行 Windows 或 macOS,请下载 VirtualBox,安装 VirtualBox 扩展,将您的可移动介质连接到运行 Linux 的虚拟机(无论是已安装的还是通过 live ISO),并在按照 安装指南 中的说明进行操作时,将安装指向现在连接的驱动器。
- 可以从您尝试从中安装 Arch 的同一 USB 驱动器上安装 Arch。但是,您无法在安装过程中关闭计算机或重新启动。如果您这样做,则需要再次创建安装介质。
安装调整
- 在创建初始 RAM 磁盘之前,在
/etc/mkinitcpio.conf
中,将block
和keyboard
钩子移动到autodetect
钩子之前。 这对于允许在多个系统上启动非常必要,每个系统都需要早期用户空间中的不同模块。 - 如果您选择将 Arch 安装到 USB 大容量存储设备上,并希望能够继续将其用作跨平台可移动驱动器,则可以通过创建一个分区来容纳适当的文件系统(最可能是 NTFS 或 exFAT)来实现。 请注意,数据分区可能需要是设备上的第一个分区,因为 Windows 假定可移动设备上只能有一个分区,否则会很乐意自动挂载 EFI 系统分区。请记住安装 dosfstools 和 ntfs-3g。 一些在线工具可用于翻转 USB 大容量存储设备上的可移动介质位 (RMB)。 这会将操作系统欺骗为将您的 USB 大容量存储设备视为外部硬盘,并允许您使用您选择的任何分区方案。
- 如果您的 Arch 安装在可移动驱动器上,并且需要同时具有制造商处理器的微代码,请同时安装 amd-ucode 和 intel-ucode 软件包。 请参阅 微代码#加载微代码。
引导加载程序配置
/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
参数。
技巧与诀窍
在多台机器上使用便携式安装
视频驱动
- 对于此类安装,不建议使用专有视频驱动程序。
- 请参阅 Intel graphics#Installation 中的关于 xf86-video-intel 和 Nouveau#Installation 中的 xf86-video-nouveau 的说明,以决定是否安装这些驱动。
为了支持最常见的 GPU,请安装 xf86-video-vesa、xf86-video-ati、xf86-video-amdgpu、xf86-video-fbdev。
音频驱动
为了支持最常见的声卡,请安装 sof-firmware 和 alsa-firmware。 有关配置音频设备的更多信息,请参阅 Advanced Linux Sound Architecture。
持久化块设备命名
建议在 fstab 和引导加载程序配置中都使用 UUID。 有关详细信息,请参阅 持久化块设备命名。
或者,您可以创建 udev 规则来为您的磁盘创建自定义符号链接。 然后在 fstab 和引导加载程序配置中使用此符号链接。 有关详细信息,请参阅 udev#设置静态设备名称。
内核参数
您可能出于各种原因想要禁用 KMS,例如在使用某些 Intel 显卡等时,从显示器获得空白屏幕或“无信号”错误。 要禁用 KMS,请添加 nomodeset
作为内核参数。 有关更多信息,请参阅 内核参数。
nomodeset
作为内核参数作为预防措施,则在使用配备 Nvidia 显卡的计算机时,您可能必须手动调整显示分辨率。 有关更多信息,请参阅 Xrandr。兼容性
回退映像应用于最大兼容性。
最小化磁盘访问
当安装到写入次数有限的设备(例如 USB 驱动器、SD 卡或类似设备)时,请减少写入次数以延长设备寿命。 这也减少了慢速写入对性能的影响。
- 强烈建议在选择文件系统之前查看 提高性能#减少磁盘读取/写入 文章。 总结一下,对于基于闪存的介质(例如 USB 闪存驱动器或 SD 卡),没有日志的 ext4 应该可以,可以使用
mkfs.ext4 -O "^has_journal" /dev/sdXX
创建。 使用禁用日志的文件系统的明显缺点是由于非正常卸载导致的数据丢失。 认识到闪存的写入次数有限,并且日志文件系统会占用其中一些,因为日志会更新。 出于同样的原因,最好忘记交换分区。 请注意,这不会影响安装到便携式硬盘驱动器。 - 您可能希望配置 systemd 日志 以将其日志存储在 RAM 中,例如通过创建自定义配置文件
/etc/systemd/journald.conf.d/usbstick.conf
[Journal] Storage=volatile RuntimeMaxUse=30M
- 要禁用 Web 浏览器和其他不写入重要数据的应用程序中的
fsync
和相关系统调用,请使用 libeatmydata 中的eatmydata
命令来避免此类系统调用
$ eatmydata firefox
UI 响应速度
您可能会在慢速驱动器上的高 I/O 负载下遇到 UI 卡顿。 提高性能#更改 I/O 调度器 或切换到使用不同默认调度器的内核可以显着影响您的 UI 响应速度。 例如,BFQ 可以提高 UI 响应速度,这是 linux-zen、linux-ckAUR 上的默认设置。
有关更多信息,请参阅 提高性能#调度算法。
参见
- Arch Linux USB - c-magyar 关于创建持久 Live USB 安装的出色文章。
- archuseriso - 用于构建 Arch Linux Live ISO 映像的配置文件。 可启动 USB 驱动器创建工具,具有持久存储和加密功能。