Alibaba Cloud Linux 3 在 Apple M 芯片 Mac 的 VMware Fusion 上部署的完整密码重置教程(二)
Alibaba Cloud Linux 3 在 Apple M 芯片 Mac 的 VMware Fusion 上部署的完整密码重置教程(二)
适用系统:Alibaba Cloud Linux 3(aarch64)
虚拟化平台:VMware Fusion(Apple M1/M2/M3 芯片)
目标:忘记 root 密码后,通过 GRUB 命令行与 initramfs 紧急模式重置密码
作者:Qwen,来自阿里云
(本文作者使用通义千问AI协助编写)
📌 前言
当您在 Apple M 系列芯片的 Mac 上使用 VMware Fusion 部署 Alibaba Cloud Linux 3 时,若忘记 root 密码(上篇文章并没有设置密码, alinux/aliyun也失效),可通过 GRUB 命令行直接启动内核并进入紧急 shell 完成恢复。本教程涵盖从进入 GRUB 命令行、手动加载内核到最终修改密码的完整流程,适用于 NVMe 磁盘、LVM 分区、XFS 文件系统等典型配置。
在本地虚拟机使用Alibaba Cloud Linux镜像-阿里云[官方]-VMWare安装不了
🔍 第一步:启动虚拟机并进入 GRUB 命令行模式
1.1 启动虚拟机
- 打开 VMware Fusion
- 选择您的 Alibaba Cloud Linux 3 虚拟机
- 启动(Power On)
1.2 进入 GRUB 命令行, 查询启动内核名称
- 在启动过程中,快速按下
Esc
或Shift
键 - 若出现菜单,按
c
键进入 GRUB 命令行模式:
grub>ls /boot/
vmlinuz-5.10.134-19.1.al8.aarch64
initramfs-5.10.134-19.1.al8.aarch64.img
⚙️ 第二步:编辑启动设置
- 在启动过程中,快速按下
上
或下
键 - 若出现菜单,按
e
键进入 GRUB 编辑模式:
2.1 编辑设置, 阿里云没有linux…行
# 1. 设置根分区
set root=(hd0,gpt2)# 2. 设置 GRUB 模块路径
set prefix=(hd0,gpt2)/boot/grub2# 3. 加载内核(注意:是 vmlinuz,不是 umlinuz!)
linux /boot/vmlinuz-5.10.134-19.1.al8.aarch64 root=/dev/vda3 rw init=/bin/sh# 4. 加载 initramfs(注意文件名拼写)
initrd /boot/initramfs-5.10.134-19.1.al8.aarch64.img# 5. 启动系统
boot```> ✅ `root=/dev/nvme0n1p2`:指定根文件系统设备(Apple M 芯片 + VMware 通常为 NVMe)
> ✅ `rw`:以读写模式挂载
> ✅ `init=/bin/sh`:跳过 systemd,直接进入 shell### 3.2 加载 initramfs 镜像(注意文件名拼写)```grub
initrd /boot/initramfs-5.10.134-19.1.al8.aarch64.img
❌ 错误示例:
initramfs-...img
(缺少.img
)或拼写错误
2.2 启动系统
control + x #执行命令
系统将启动并进入 dracut
紧急 shell:
dracut:/#
🔎 第三步:使用 ls /dev/
查看设备并挂载根文件系统
说明:本方法跳过
lvm
命令,直接通过设备文件识别和挂载,适用于lvm: command not found
场景。
3.1 列出所有设备文件
ls /dev/
在 Apple M 芯片 + VMware Fusion 环境中,典型输出包含:
/dev/nvme0n1p1
/dev/nvme0n1p2
nvme0n1p1
:通常是/boot
nvme0n1p2
:通常是根文件系统或 LVM 物理卷
3.2 检查是否为 LVM 成员(可选)
blkid /dev/nvme0n1p2
若输出含 TYPE="LVM2_member"
,说明是 LVM 物理卷。但即使无 lvm
命令,我们仍可尝试挂载逻辑卷设备。
🔗 第四步:直接挂载根文件系统(无需激活 LVM)
核心思路:即使无法使用
lvm vgchange -ay
,initramfs
通常已自动发现并创建/dev/mapper/cl-root
4.1 查看逻辑卷设备是否存在
ls /dev/mapper/
若输出包含:
cl-root control
说明 LVM 设备节点已存在。
4.2 挂载根文件系统
mkdir -p /sysroot
mount /dev/nvme0n1p2 /sysroot
4.3 验证挂载成功
ls /sysroot/etc/passwd
若显示 /sysroot/etc/passwd
,说明挂载成功!
🔐 第五步:修改 root 密码
5.1 方法 A:进入真实系统修改密码
chroot /sysroot /bin/bash
若提示
/bin/sh
不存在,使用/bin/bash
进入后执行:
passwd root
输入新密码。
5.2 方法 B:直接修改 shadow 文件(推荐,无需 chroot)
sed -i 's|^root:.*|root::18337:0:99999:7:::|' /sysroot/etc/shadow
此操作将 root 密码清空,允许无密码登录。
🛡️ 第六步:修复 SELinux(必须!)
touch /sysroot/.autorelabel
系统重启时将自动重新标记文件上下文,防止因 SELinux 策略导致无法登录。
🔁 第七步:重启系统
# 方式1:正常退出
exit
# 系统继续启动流程# 方式2:强制重启(推荐)
echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger
🔓 第八步:登录并完成设置
9.1 登录系统
- 用户名:
root
- 密码:
- 若使用
passwd root
→ 输入新密码 - 若使用
sed
清空 → 直接回车(空密码)
- 若使用
9.2 登录后立即设置新密码
passwd root
9.3 确认 Linux 修复完成
系统首次启动会执行 /.autorelabel
,可能需要 2-5 分钟,请耐心等待。
📌 常见设备名与分区布局(Apple M + VMware)
设备 | 说明 |
---|---|
/dev/nvme0n1p1 | /boot ,XFS 文件系统 |
/dev/nvme0n1p2 | 根分区或 LVM 物理卷 |
/dev/mapper/cl-root | LVM 逻辑卷,根文件系统 |
(hd0,gpt2) | GRUB 中第二个 GPT 分区 |
✅ 总结:关键命令速查
# GRUB 命令行
set root=(hd0,gpt2)
set prefix=(hd0,gpt2)/boot/grub2
linux /boot/vmlinuz-5.10.134-19.1.al8.aarch64 root=/dev/nvme0n1p2 rw init=/bin/sh
initrd /boot/initramfs-5.10.134-19.1.al8.aarch64.img
boot
# dracut 紧急 shell
ls /dev/
ls /dev/mapper/
mount /dev/mapper/cl-root /sysroot
sed -i 's|^root:.*|root::18337:0:99999:7:::|' /sysroot/etc/shadow
touch /sysroot/.autorelabel
echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger
🌟 来自阿里云的温馨提示
init=/bin/sh
是最可靠的恢复入口sed
修改/etc/shadow
不依赖 LVM 或 chroottouch /.autorelabel
是防止 SELinux 锁死系统的关键- Alibaba Cloud Linux 3 官方镜像:https://mirrors.aliyun.com/alinux/
🎉 恭喜你!你已经掌握了在 Apple M 芯片 Mac 上通过 GRUB 命令行恢复 Alibaba Cloud Linux 3 密码的完整技能!
无论是否使用 LVM,无论是否能激活卷组,这套方法都能帮助你安全、高效地完成系统恢复。
如有疑问,欢迎继续提问!😊