vlambda博客
学习文章列表

单用户启动CentOS跳过密码实例2


本文紧跟上一篇,结合一实际例子进行密码绕过,并对部分方法、参数进行说明。

第一句:linux /boot/vmlinuz-2.6.18-419.el5 root=UUID=d66e30d1-5ad3-4a52-992e-d1d47f1cbbf9 ro ide0=noprobe console=tty0 console=ttyS0,115200n8 net.ifnames=0 idle=halt

 

linuxlinux16的区别:

Linux:从file加载Linux内核映像。该行的其余部分逐字传递为内核命令行。使用此命令后,必须重新加载任何initrd。在x86系统上,将使用32位启动协议启动内核。

Linux16:从文件以16位模式加载Linux内核映像。该行的其余部分逐字传递为内核命令行。使用此命令后,必须重新加载任何initrd

 

参数一:ide0=noprobeLinux内核支持使用引导时指定的命令行参数来避免探测特定的IDE驱动器和IDE接口的能力。在系统启动期间,探测IDE设备可能需要花费几秒钟的时间。探测已知在嵌入式设备中不使用的接口尤其麻烦。所以在启动内核前,验证没有对ide1做任何探测。

 

网搜问题:

Kernel command line: root=/dev/hde3 ro hda=none hdb=none ide0: BM-DMA at 0xd800-0xd807, BIOS settings: hda:pio, hdb:pio 

Probing IDE interface ide0... hda: IRQ probe failed (0xfffffdb8) 

same for hda=noprobe hdb=noprobeNothing helps.

Is this a bug or not? I'd think that saying "noprobe" means "do NOT probe" - but it probes anyway.

回答:If your kernel uses modular IDE drivers and an initrd/initramfs that loads them, your result is the expected one (not a bug). One should add the following or similar options into /etc/modprobe.conf in the initrd in order to get the result:

options ide_core options="ide0=noprobe hda=noprobe hdb=noprobe"

If you don't use initrd, or have a non-modular IDE driver, please ignore this message.

 

参数二:console=tty0  

为了支持没有控制台的计算机,GRUB提供了远程终端支持,因此您可以从远程主机控制GRUB目前仅实现串行终端支持。


参数三:console=ttyS0,115200n8

其中ttyS0”,“0”表示串口使用COM1;“115200”表示波特率为115200bps;“n”表示无校验位;“8”表示有8位数据位。

 

跳过密码过程:

第一步:删除掉无用参数,增加init=/bin/sh

单用户启动CentOS跳过密码实例2

Ctrl+X重启,并重新挂载rw权限的硬盘。

单用户启动CentOS跳过密码实例2

Passwd直接修改密码,并touch记录。

重启后,重新登陆成功。