linux忘记root密码又忘记grub密码怎么办

用rescue重置密码

当我们忘记root密码时,如果GRUB没有设置密码(或者知道GRUB密码时)我们可以用单用户方法来修改密码,当GRUB密码也忘记了,这时我们就得用光盘修改root密码。

  1. 将系统光盘放入光驱,设置光驱引导。
  2. 选择F2进入系统修复,输入命令:linux rescue
  3. 以下出现的几个选择和安装系统时一样。
  4. 当出现这个提示的时候应该记住,他提示的命令:chroot /mnt/sysimage
  5. 下一步就是进入修改密码,我们先行:chroot /mnt/sysimage 不然不能进入可写模式。
  6. 最后运行命令:passwd重置root密码
  7. 重启计算机

设置grub密码

为grub密分为二种,一是明文,二是采用MD5算法的加密。

通过grub-md5-crypt对GRUB的密码进行加密码运算,比如我们想设置grub的密码是123456,所以我们先要用md5进行对123456这个密码进行加密。

/sbin/grub-md5-crypt

Password: 在这里输入123456
Retype password: 再输入一次123456
$1$7uDL20$eSB.XRPG2A2Fv8AeH34nZ0

\(1\)7uDL20$eSB.XRPG2A2Fv8AeH34nZ0就是通过grub-md5-crypt进行加密码后产生的值。这个值我们要记下来。

所以我要在/etc/grub.conf中加入password --md5 \(1\)7uDL20$eSB.XRPG2A2Fv8AeH34nZ0 这行,以及lock,应该加到哪呢,请看下面的更改实例:

default=1
timeout=10
splashimage=(hd0,7)/boot/grub/splash.xpm.gz

password --md5 $1$7uDL20$eSB.XRPG2A2Fv8AeH34nZ0  # 增加密码设置

title Fedora Core (2.4.22-1.2061.nptl)
    lock                                         # 增加锁定设置
    root (hd0,7)
    kernel /boot/vmlinuz-2.4.22-1.2061.nptl ro root=LABEL=/
    initrd /boot/initrd-2.4.22-1.2061.nptl.img

title WindowsXP
    rootnoverify (hd0,0)
    chainloader +1

lock的意思就是把Redhat Fedora锁住了。如果启动时会提示错误。这时就应该按P键,然后输入密码就行了。