在运行 CentOS7 的 1&1 专用服务器上重置 root 密码时遇到了一些问题。
能够通过终端访问 GRUB 并可以显示以下内容,但这看起来与许多示例不同。
setparams 'CentOS Linux, with Linux 3.10.0-327.28.2.el7.x86_64'
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod diskfilter mdraid09
insmod ext2
set root='hd0,msdos1'
linux16 /boot/vmlinuz-3.10.0-327.28.2.el7.x86_64 rd.driver.pre=raid1,ahci,dm_mod root=/dev/md1 domdadm dolvm rd.lvm.vg=vg00 rd.lvm.lv=vg00/usr ro console=ttyS0,57600 console=tty0 net.ifnames=0 biosdevname=0
initrd16 /boot/initramfs-3.10.0-327.28.2.el7.x86_64.img
我尝试将 ro 行更改为 rw 并添加 init=/sysroot/bin/sh 但这没有帮助。
在执行加载过程时,我收到错误
[FAILED] Failed to start Switch Root.
See 'systemctl status initrd-switch-root.service' for details.
答案1
尝试将“systemd.unit=rescue.target”添加到“linux16”行,如中所述https://fedoraproject.org/wiki/Systemd#Boot_Kernel_Command_Line
答案2
以下是在 CentOS 7 和 RHEL 7 中重置 root 密码的方法:
- 打开系统电源,然后在 GRUB 2 引导屏幕上按E编辑当前条目。
- 使用 编辑该行
linux16
,删除rhgb
和quiet
参数并rd.break
在末尾添加。 - 按CTRL+ X;系统将在 initramfs
switch_root
提示符下启动。 - 将文件系统重新挂载为可写:
mount -o remount,rw /sysroot
- 更改文件系统根目录:
chroot /sysroot
- 修改root密码:
passwd root
- 强制 SELinux 在下次启动时重新标记上下文:
touch /.autorelabel
- 将文件系统重新挂载为只读:
mount -o remount,ro /sysroot
- 退出chroot环境:
exit
- 恢复系统启动:
exit
来源:指引我前段时间写的。