将 arch-linux 安装到 USB 移动硬盘并且保留存储空间给 Windows 设备使用

💡 原文中文,约4500字,阅读约需11分钟。
📝

内容提要

本文介绍了如何将Arch Linux安装到USB移动硬盘,并保留存储空间供Windows使用。步骤包括准备虚拟机、分区、设置文件系统、安装内核和软件、配置系统、设置Secure Boot及引导程序等,确保USB驱动器在不同设备间的兼容性。

🔎

延伸解读

分区策略与空间分配

文章将U盘分为三个分区:EFI分区300MB、根分区160GB和剩余空间作为保留分区。这种分配在256GB U盘上为Windows设备预留了约90GB空间,兼顾了Arch Linux系统与跨平台文件传输。保留分区使用FAT32文件系统,确保Windows能直接读写。读者需根据自身U盘容量调整根分区大小,避免空间不足或浪费。

Secure Boot与shim签名

由于U盘是移动设备,无法使用sbctl签名,必须采用shim机制。文章详细描述了生成MOK密钥、签名内核和grub的步骤,并配置initcpio的post hook以便内核更新后自动签名。这一过程较为复杂,但能确保在开启Secure Boot的电脑上启动。注意,签名密钥需妥善保管,且每次内核更新后需重新签名。

initramfs的硬件兼容性调整

默认的initramfs使用autodetect hook,仅包含当前硬件模块,可能导致U盘在不同电脑上无法启动。文章建议将block和keyboard hook移到autodetect之前,确保存储和键盘驱动始终加载。这一修改提升了U盘在不同硬件间的兼容性,是移动系统能正常工作的关键步骤。

区域设置与系统兼容性

文章选择en_SG.UTF-8而非zh_CN或en_US,原因在于zh_CN易导致tty显示方块,且英文日志便于排错;en_SG则提供24小时制、A4纸张和公制单位。这种设置平衡了中文用户的使用习惯与系统兼容性,减少了跨设备使用时的显示问题。

❓

Q&A

如何准备虚拟机以安装Arch Linux到USB移动硬盘?

首先,在虚拟机中添加Arch Linux镜像,并连接USB驱动器。

如何在USB移动硬盘上进行分区?

使用fdisk命令创建GPT分区表,并分别创建EFI、根目录和保留分区。

安装Arch Linux后如何配置Secure Boot?

需要使用shim签名,生成Mok密钥并签名内核和grub。

如何安装和配置引导程序grub?

安装grub和efibootmgr后,使用grub-install命令设置引导程序,并生成配置文件。

如何确保USB驱动器在不同硬件间的兼容性?

配置initramfs,确保block和keyboard模块在autodetect之前加载。

在安装过程中如何设置文件系统类型?

使用mkfs命令设置根目录为ext4,EFI和保留分区为FAT32。

🏷️

标签

➡️

继续阅读