如何在便携式硬盘上安装 Arch Linux,使其即插即用

在便携式硬盘上安装 Arch Linux 以实现跨不同计算机的“即插即用”兼容性是可行的,但这需要仔细配置,尤其是在引导加载程序和硬件检测方面。关键在于使安装尽可能通用,以适应各种硬件。


1. 先决条件 🛠️

  • Arch Linux ISO: 从官方网站下载最新的 Arch Linux ISO。
  • USB 闪存盘(安装程序): 一个单独的 USB 闪存盘(至少 2GB),用于创建可启动的 Arch Linux 安装介质。
  • 便携式硬盘(目标): 您将安装 Arch Linux 的 USB 硬盘。建议使用 USB 3.0 外壳中的快速 SSD,以获得更好的性能和更长的寿命。
  • 互联网连接: 安装过程中下载软件包所需。
  • 另一台计算机: 用于创建可启动的 Arch 安装程序(可用 Windows 或 Ubuntu)。
  • 基本的 Arch Linux 知识: 熟悉 Arch 安装过程和命令行非常重要。

2. 准备安装介质 💾

在您的 Windows 或 Ubuntu 系统上:

Windows

使用 Rufus

  • 选择 Arch Linux ISO、您的 USB 闪存盘。
  • 分区方案选择 GPT(用于 UEFI 引导),文件系统选择 FAT32。
  • 若默认的 ISO 模式无法启动,选择 DD 映像模式

Ubuntu

使用 dd 命令:

sudo dd if=/path/to/archlinux.iso of=/dev/sdX bs=4M status=progress
  • /path/to/archlinux.iso 替换为实际路径。
  • /dev/sdX 是 USB 闪存盘的设备名(例如 /dev/sdb)。
  • 使用 lsblk 辨别正确设备,避免误格式化。

3. 在便携式硬盘上安装 Arch Linux 🚀

这是最关键的步骤。

3.1 启动到 Arch Live 环境

  • 插入安装 USB 和便携式硬盘。
  • 从 USB 启动计算机(进 BIOS/UEFI 启动菜单,通常按 F2、F10、F12 或 Esc)。
  • 进入 Live 环境后,以 root 登录。

3.2 安装前准备和检查

1. 禁用 reflector 服务

1.通过以下命令将该服务禁用:

systemctl stop reflector.service

2.通过以下命令查看该服务是否被禁用,按下 q 退出结果输出:

systemctl status reflector.service
2. 检查是否支持UEFI启动(基本都支持,但是建议检查一下)
ls /sys/firmware/efi/efivars
# 提示:如果没有报错就是支持UEFI
# 若输出了一堆东西(efi 变量),则说明已在 UEFI 模式。否则请确认你的启动方式是否为 UEFI。
3. 检查网络连接
✅ 无线网络(Wi-Fi)
  1. 解除网卡的禁用
rfkill unblock all
  1. 启动 iwd(无线管理器
systemctl start iwd
  1. 进入交互式配置工具
# 依次输入以下命令
iwctl
# 查看无线网卡(如 wlan0)
device list             
# 扫描附近网络
station wlan0 scan      
# 查看可连接的Wi-Fi
station wlan0 get-networks   
# 连接网络,系统会提示输入密码
station wlan0 connect WIFI名称   
  1. 测试网络是否连通
ping archlinux.org
✅ 有线网络(Ethernet)

如果你插上网线,大多数情况下系统会自动连接。可通过以下命令确认网络是否正常:

ping archlinux.org

如果不幸没有反应,可以尝试以下命令:

dhcpcd
systemctl restart dhcpcd

3.3 更新系统时间

# 将系统时间与网络时间进行同步
timedatectl set-ntp true 
# 查看系统时间状态,检查是否成功 看到(system clock synchronized :yes)这一句就是成功了
timedatectl status		 

3.4 换源

注意:选择自己喜欢的编辑器,这里笔者使用vim来编辑。

# 备份原来的配置文件
cp -a /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak

# 编辑配置文件
vim /etc/pacman.d/mirrorlist

# ---------------下面为vim操作,不同于终端-------------

# 找到第一个 Server=... 的行在该行上一行写入以下内容
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch # 中国科学技术大学开源镜像站
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch # 清华大学开源软件镜像站
Server = https://repo.huaweicloud.com/archlinux/$repo/os/$arch # 华为开源镜像站
Server = http://mirror.lzu.edu.cn/archlinux/$repo/os/$arch # 兰州大学开源镜像站
Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch # 阿里云镜像站

# --------------------------------------------------
#也可以按/,搜索China,找到中科大的镜像源,然后2dd 剪切2行,再按GG回到第一行,按 p 粘贴

3.5 分区便携式硬盘

假设目标设备为 /dev/sdX,使用 lsblk 确认:

fdisk /dev/sdX

创建两个分区:

  1. ESP 分区(FAT32,+500MB)
  2. 根分区(Ext4/Btrfs,剩余空间)

分区类型分别为 1(EFI)和 23(Linux 文件系统)。


3.6 格式化分区

mkfs.fat -F 32 /dev/sdX1     # EFI 分区
mkfs.ext4 /dev/sdX2          # 根分区

3.7 挂载分区

mount /dev/sdX2 /mnt
mkdir /mnt/boot
mount /dev/sdX1 /mnt/boot

3.8 安装基本系统

pacstrap /mnt base linux linux-firmware base-devel

3.9 生成 Fstab

# 生成 fstab文件 (用 `-U` 或 `-L` 选项设置 UUID 或卷标)
# efi + gpt (大部分电脑都是这个格式)
genfstab -U /mnt >> /mnt/etc/fstab
# biso + mbr
genfstab -p /mnt >> /mnt/etc/fstab
# 查看是否生成
cat /mnt/etc/fstab

使用 vim 检查 /mnt/etc/fstab,确保使用的是 UUID 而非设备名 /dev/sdX


3.10 Chroot 进入新系统

arch-chroot /mnt

4. 配置系统以实现可移植性

设置时区:
ln -sf /usr/share/zoneinfo/Asia/Singapore /etc/localtime
hwclock --systohc
设置语言:
nano /etc/locale.gen
# 取消注释: en_US.UTF-8 UTF-8
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
设置主机名与 Hosts:
echo "Arch" > /etc/hostname

nano /etc/hosts
# 添加以下内容:
127.0.0.1   localhost
::1         localhost
127.0.1.1   Arch.localdomain Arch
设置 root 密码:
passwd root
可选:添加普通用户
useradd -mG wheel,audio,video,storage,power -s /bin/bash yourusername
passwd yourusername
nano /etc/sudoers
# 取消注释: %wheel ALL=(ALL:ALL) ALL
mkinitcpio 配置(确保 USB 支持)
vim /etc/mkinitcpio.conf
# 修改 HOOKS,例如:
HOOKS=(base udev autodetect modconf block filesystems keyboard fsck usb)
mkinitcpio -P
安装 GRUB(BIOS + UEFI 双兼容)
pacman -S grub efibootmgr os-prober

# BIOS 安装
grub-install --target=i386-pc /dev/sdX --recheck

# UEFI 安装, --removable一定要要加!!!
grub-install --target=x86_64-efi --efi-directory=/boot --removable --recheck

grub-mkconfig -o /boot/grub/grub.cfg
网络配置:
pacman -S networkmanager
systemctl enable NetworkManager
微码支持(Intel 和 AMD):
pacman -S intel-ucode amd-ucode
grub-mkconfig -o /boot/grub/grub.cfg

5 退出并重启

exit
umount -R /mnt
reboot

移除安装 USB,尝试从便携式硬盘启动。


4. 安装后可移植性注意事项 💡

  • 使用 UUID 挂载分区genfstab -U 已生成,但请人工检查 /etc/fstab 和 grub.cfg。

  • 避免专有显卡驱动: 建议使用开源驱动以最大化兼容性。

  • 内核参数调整: 可在 grub 中加入 nomodeset 等参数,解决硬件兼容问题。

  • 优化日志以减少闪存磨损

    # 文件:/etc/systemd/journald.conf.d/usbstick.conf
    [Journal]
    Storage=volatile
    RuntimeMaxUse=30M
    
  • 文件系统日志禁用(可选)

    mkfs.ext4 -O "^has_journal" /dev/sdX2
    

    ⚠️ 禁用日志可能导致断电时更高的数据损坏风险。

  • 性能建议

    使用 USB 3.0 以上接口、高速 SSD,避免使用低速 U 盘或 USB 2.0 接口。


通过上述步骤,您可以创建一个功能完整、可移植性强的 Arch Linux 系统,几乎可以在任何现代计算机上“即插即用”运行。

附录

💡 1. 为什么在安装Arch之前建议运行rfkill unblock all这行命令?

参考链接

链接1

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐