适用系统

  • Arch Linux
  • Manjaro
  • EndeavourOS
  • Garuda Linux
  • ArcoLinux
  • BlackArch
  • 其他基于 Arch 的发行版

Arch Linux 特点

  • 滚动更新发行版
  • 使用 systemd
  • 默认无图形安装器
  • 文件系统通常为 ext4 或 Btrfs
  • 无 SELinux(除非手动安装)
  • 简洁配置,少有安全限制

方法一:init=/bin/bash(推荐)

步骤 1:编辑 GRUB/systemd-boot

GRUB 启动器

  1. 启动时按 e 编辑启动项

  2. 找到 linux 行:

1
linux /vmlinuz-linux root=UUID=xxxx rw quiet
  1. 在行末添加:
1
init=/bin/bash
  1. Ctrl+XF10 启动

systemd-boot(常用于 UEFI)

  1. 启动时按 e 编辑

  2. 在 options 行末添加 init=/bin/bash

  3. Enter 启动

步骤 2:修改密码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 通常已经是读写模式,检查
mount | grep ' / '

# 如果是只读,重新挂载
mount -o remount,rw /

# 修改密码
passwd root
passwd username

# 重启
exec /sbin/init
# 或
reboot -f

方法二:single/rescue 模式

GRUB 启动参数

linux 行末添加以下任一:

1
single
1
1
1
systemd.unit=rescue.target
1
systemd.unit=emergency.target

区别

  • rescue.target:挂载文件系统,启动少量服务
  • emergency.target:最小化启动,只有根分区

方法三:Arch Linux Live USB

步骤 1:启动 Live 环境

  1. 使用 Arch Linux 安装 ISO 启动

  2. 等待进入 root shell

步骤 2:挂载目标系统

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 查看分区
lsblk
fdisk -l

# 挂载根分区(ext4)
mount /dev/sda2 /mnt

# 如果是 Btrfs
mount /dev/sda2 /mnt
# 或指定子卷
mount -o subvol=@ /dev/sda2 /mnt

# 如果使用 LVM
vgchange -ay
mount /dev/mapper/vg-root /mnt

# 挂载 boot 分区(如果单独)
mount /dev/sda1 /mnt/boot

# 挂载 EFI 分区(UEFI 系统)
mount /dev/sda1 /mnt/boot/efi

步骤 3:arch-chroot(推荐)

Arch 提供便捷的 chroot 脚本:

1
2
3
4
5
6
7
8
9
10
# 使用 arch-chroot(自动挂载 proc/sys/dev)
arch-chroot /mnt

# 修改密码
passwd root
passwd username

# 退出
exit
reboot

传统 chroot 方式

1
2
3
4
5
6
7
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt /bin/bash
passwd root
exit
reboot

方法四:直接修改 shadow

通过 Live 环境

1
2
mount /dev/sda2 /mnt
nano /mnt/etc/shadow

清空密码

1
root::18000:0:99999:7:::

设置已知密码

1
2
3
4
# 生成哈希
openssl passwd -6 password123

# 将输出替换到 shadow 文件第二字段

Manjaro 特别说明

GRUB 菜单

Manjaro 默认显示 GRUB 菜单,操作与 Arch 相同

Manjaro 工具

Manjaro 安装介质提供图形化工具:

  1. 从 Live USB 启动
  2. 使用 Manjaro Hello 或终端
  3. 方法与 Arch 相同

Manjaro 特定恢复

1
2
3
4
# 使用 mhwd-chroot(Manjaro 工具)
mhwd-chroot
passwd root
exit

EndeavourOS

基本与 Arch 相同

  1. 从 EndeavourOS Live 启动
  2. 使用 arch-chroot 或手动 chroot
  3. 修改密码

systemd-boot 启动器

许多 Arch 安装使用 systemd-boot 而非 GRUB:

编辑启动项

  1. 启动时按 e 编辑当前条目

  2. options 行添加:

1
init=/bin/bash
  1. Enter 启动

默认配置位置

1
/boot/loader/entries/*.conf

加密分区 (LUKS)

解锁加密分区

1
2
3
4
5
6
7
8
9
10
# 解锁
cryptsetup luksOpen /dev/sda2 cryptroot

# 如果使用 LVM on LUKS
vgchange -ay

# 挂载
mount /dev/mapper/cryptroot /mnt
# 或
mount /dev/mapper/vg-root /mnt

注意

需要 LUKS 密码才能继续


Btrfs 子卷(如使用)

常见 Arch Btrfs 布局

1
2
3
4
5
@           /
@home /home
@log /var/log
@pkg /var/cache/pacman/pkg
@snapshots /.snapshots

挂载

1
2
3
4
5
# 挂载根子卷
mount -o subvol=@ /dev/sda2 /mnt

# 挂载其他子卷
mount -o subvol=@home /dev/sda2 /mnt/home

常见分区方案

BIOS + MBR

1
2
3
/dev/sda1   /boot   ext4
/dev/sda2 / ext4
/dev/sda3 swap

UEFI + GPT

1
2
3
/dev/sda1   /boot/efi   vfat (ESP)
/dev/sda2 / ext4
/dev/sda3 swap

UEFI + Btrfs

1
2
/dev/sda1   /boot/efi   vfat (ESP)
/dev/sda2 / Btrfs (subvol=@)

常见问题

Q: 没有 GRUB 菜单?

A:

  • 启动时按住 Shift(BIOS)
  • 或在 UEFI 启动选择界面选择正确的启动项
  • systemd-boot 按 Space↑↓

Q: arch-chroot 命令找不到?

A: 确保从 Arch 安装介质启动,或使用传统 chroot 方法。

Q: 没有 root 用户?

A: 某些配置禁用 root,修改普通用户密码并使用 sudo。

Q: 键盘布局错误?

A:

1
2
loadkeys us    # 美式键盘
loadkeys de # 德语键盘

Q: reboot 无效?

A:

1
echo b > /proc/sysrq-trigger

安全说明

Arch Linux 默认:

  • 无 SELinux
  • 无 AppArmor(除非手动配置)
  • 无密码复杂度要求
  • 操作相对简单直接

适用系统:Arch Linux, Manjaro, EndeavourOS, Garuda, ArcoLinux, BlackArch