当前位置: 首页 > news >正文

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 命令行, 查询启动内核名称

  • 在启动过程中,快速按下 EscShift
  • 若出现菜单,按 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 -ayinitramfs 通常已自动发现并创建 /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-rootLVM 逻辑卷,根文件系统
(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 或 chroot
  • touch /.autorelabel 是防止 SELinux 锁死系统的关键
  • Alibaba Cloud Linux 3 官方镜像:https://mirrors.aliyun.com/alinux/

🎉 恭喜你!你已经掌握了在 Apple M 芯片 Mac 上通过 GRUB 命令行恢复 Alibaba Cloud Linux 3 密码的完整技能!

无论是否使用 LVM,无论是否能激活卷组,这套方法都能帮助你安全、高效地完成系统恢复。

如有疑问,欢迎继续提问!😊

http://www.dtcms.com/a/337526.html

相关文章:

  • API 接口在电商中的重要应用​||关于API接口接入
  • 构建者设计模式 Builder
  • python学习DAY45打卡
  • 【运维实战】系统全链路监测方案~架构到实践
  • 【HTML】document api
  • 【每天学点‘音视频’】前向纠错 和 漏包重传
  • 图像分类精度评价的方法——误差矩阵、总体精度、用户精度、生产者精度、Kappa 系数
  • 在 PyCharm Notebook 中安装 YOLO
  • Google 的 Opal:重新定义自动化的 AI 平台
  • 【项目】分布式Json-RPC框架 - 项目介绍与前置知识准备
  • ARM架构下的cache transient allocation hint以及SMMUv2的TRANSIENTCFG配置详解
  • kafka 冲突解决 kafka安装
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘pygame’问题
  • 数据赋能(401)——大数据——持续学习与优化原则
  • 删除并获得点数
  • 线程间通信(互斥锁,死锁,信号量)
  • 148-基于Python的2024物流年度销售收入数据可视化分析系统
  • PYTHON让繁琐的工作自动化-函数
  • 功能测试相关问题
  • 使用空模型实例调用辅助函数,确定在量化过程中哪些层会被跳过(43)
  • 实现make/makefile
  • Android RxBinding 使用指南:响应式UI编程利器
  • AI智能的“进化史”:从弱人工智能到通用人工智能的跨越
  • Linux中基于Centos7使用lamp架构搭建个人论坛(wordpress)
  • [Oracle数据库] Oracle 进阶应用
  • 【完整源码+数据集+部署教程】织物缺陷检测系统源码和数据集:改进yolo11-RevCol
  • 51单片机-驱动74HC595芯片实现IO口扩展模块教程
  • C++STL之list详解
  • MySQL 运算符详解:逻辑、位运算与正则表达式应用
  • CSS:水平垂直居中