Fedora34 qcow2 镜像无法密码登录解法
Fedora34 qcow2 镜像无法密码登录
fc34 qcow2 版本的镜像, 给 QEMU 使用.
能搜索的资料基本都是过时的, 没有 fedora 这个账号供登录
This type of installation uses the --cloud-init parameter without any value or subparameters. This approach causes the generation and display of a root password shortly after the start of installation, enabling a one-time login.
官方资料是用 virt-install
在初始安装完成时动态显示个一次生 root 的密码,
看来给 qemu 使用, 想登录进系统, 还得另寻方法.
解法:
- 以 single 模式, 启动系统;
- 给 root 账号设置一个密码;
- 屏蔽 selinux
设置启动参数, 以 single 启动
启动 qemu , 在出现 grub2 菜单时, 按 e
键, 进入编辑模式.
方向键移到加载内核的 linux 那一行末尾, 添加 single init=/sbin/bash selinux=0
完成后, 按 ctrl-x
启动
设置密码
稍后片刻, 提示按 Enter 进入 emergency mode 时, 按回车得到一个位于 initramfs 中的 shell.
按以下命令进入根文件系统, 给 root 设置一个密码.
# 令根文件系统可写
mount -o remount,rw /sysroot
# 切换到 qemu 镜像的根目录.
chroot /sysroot /bin/bash
# 更改 root 密码
passwd root
## 此处根据提示设置 root 用户的密码
## 在测试中, 光是改密码还不能登录, 还要禁止 selinux, 即给内核加上参数 `selinux=0`
## 在 shell 中继续以下命令
sed -r -i -e 's@(^\s*^options\s+[^#]*)(#.*)?@\1 selinux=0 \2@g' /boot/loader/entries/*.conf
# 退出根文件系统, 返回 emergency mode 的 shell
exit
# 重启系统
reboot -f
完成.
(实际此法也可更改任何Linux系统的密码,只要得到一个有必要工具的 shell)