initramfs-2.6.32-754.el6.x86_64.img
进行恢复该文件很重要initramfs-2.6.32-754.el6.x86_64.img,做为启动系统的重要文件,加载文件系统的驱动。linux
开机按esc进入救援模式shell
chroot /mnt/sysimage # 切换根 mkinitrd /boot/ininramfs-`uname -r`.img `uname -r` # 修复此文件 sync sync sync # 同步到磁盘中 exit reboot
准备vim
dd if=/dev/zero of=/dev/sda bs=1 count=446 # 破坏扇区的446字节 hexdump -C /dev/sda -n 512 -v # 查询出前446字节已被破坏
开机按esc进入救援模式centos
chroot /mnt/sysimage # 切换根 grub-install /dev/sda # 修复sda磁盘设备 sync sync sync # 同步到磁盘中 exit reboot
1.启动grub界面 2.输入e 添加1 进入单用户模式 3.输入passwd根据提示修改密码 4 reboot
CentOS 6添加单用户模式密码,没法破解:bash
[root@centos6 ~]# grub-crypt #建立单用户模式密码 Password: #输入口令 Retype password: #输入口令 $6$9M4MYaaShQLTXYAU$cIFuNc7SpKZw1NLCBG3/yoi6UHAWiMNxzBtDl3TGYzsmx3lRDjNRoRbNLEN8v8UsWldud2HHFRVqhbSFsqdly0
光盘破解CentOS 6密码:ui
进入救援模式 chroot /mnt/sysimage vim /boot/gub/grub.conf # 注释掉passwd行便可 reboot
grub.conf
kernel /vmlinuz-2.6.32-2754.e16.x86_64 root=/dev/sda2 initrd /initramfs-2.6.32-275.e16.86_64.img
# vim /boot/grub/grub.conf default=0 timeout=3 kernel /vmlinuz-2.6.32-2754.e16.x86_64 root=/dev/sda2 initrd /initramfs-2.6.32-275.e16.86_64.img
/boot/
下的全部文件,须要光盘修复mkdir /mnt/cdrom # 新建临时挂载文件 mount /dev/sr0 /mnt/cdrom # 挂载光盘 rpm -ivh /mnt/cdrom/Packages/kernel.... --root=/mnt/sysimage(指定安装路径) --force(强制安装)
chroot /mnt/sysimage # 切换根 grub-install /dev/sda # 修复此文件 sync sync sync # 同步到磁盘中 exit reboot
# vim /boot/grub/grub,conf default=0 timeout=3 kernel /vmlinuz-内核版本 root=/dev/sda2 initrd /initramfs-内核版本.img
/boot/
下的全部文件,且没有/etc/fstab
文件,须要光盘修复开机按esc进入救援模式:去修复/etc/fstab
文件centos7
mkdir /mnt/rootfs
新建临时挂载文件3d
将设备分别挂载,肯定root根分区:code
mount /dev/sda1 /mnt/rootfs # 肯定/dev/sda1为boot分区 mount /dev/sda2 /mnt/rootfs # 肯定/dev/sda2为/分区 mount /dev/sda3 /mnt/rootfs # 肯定/dev/sda3为data分区 mount /dev/sda5 /mnt/rootfs # 肯定/dev/sda5为swap分区
最后肯定/dev/sda2为根分区进行挂载blog
mount /dev/sda2 /mnt/rootfs
挂载/dev/sda2设备
添加文件内容:
# vim /mnt/rootfs/etc/fstab /dev/sda1 /boot ext4 defaults 0 0 /dev/sda2 / ext4 defaults 0 0 /dev/sda3 /data ext4 defaults 0 0 /dev/sda5 swap swap defaults 0 0
mkdir /mnt/cdrom # 新建临时挂载文件 mount /dev/sr0 /mnt/cdrom # 挂载光盘 rpm -ivh /mnt/cdrom/Packages/kernel.... --root=/mnt/sysimage(指定安装路径) --force(强制安装)
chroot /mnt/sysimage # 切换根 grub-install /dev/sda # 修复此文件 sync sync sync # 同步到磁盘中 exit reboot
# vim /boot/grub/grub,conf default=0 timeout=3 kernel /vmlinuz-内核版本 root=/dev/sda2 initrd /initramfs-内核版本.img
/boot/grub2/
下的文件进行修复:进入救援模式:
而后切换根目录:
chroot /mnt/sysimage
grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg
sync sync sync sync 同步写入磁盘中
reboot
/boot/
下的全部文件,须要光盘修复进入救援模式rescue
切换根目录:
chroot /mnt/sysimage
mount /dev/sr0 /mnt
rpm -ivh /mnt/Packages/kernel-3.10.0-957.el7.x86_64.rpm --force
grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg
sync sync sync sync 写入磁盘保存
reboot重启。
↑↓
键,选择第一项,同时按下e
键进行编辑。ro
替换为rw init=/sysroot/bin/sh
,修改完成以后,按下Ctrl+x
进入紧急模式原理:启动一个shell环境,系统并无真正启动。
chroot /sysroot
,修改密码。Linux命令须要在根目录下执行。
chroot,即 change root directory (更改 root 目录),在使用 chroot 以后,系统的目录结构将以指定的位置做为/
位置,系统读取到的目录和文件将不在是旧系统根下的而是新根下(即被指定的新的位置)的目录结构和文件。
修改密码后,若是开启了selinux服务,须要在根下建立文件/.autorelabel
,最后退出跟系统,重启。
chroot /sysroot passwd touch /.autorelabel exit reboot
改进方法:
将ro
替换为rw init=/bin/bash
,删除rhgb quiet
按Ctrl+X
进入紧急模式
若是乱码设置LANG=en
passwd
修改密码
若是开启selinux,须要建立文件touch /.autorelable
exec /sbin/init
直接启动系统
CentOS 7添加grub引导加载程序密码,没法破解:
[root@centos7 ~]# grub2-setpassword # 建立密码命令 [root@centos7 ~]# cat /boot/grub2/user.cfg # 保存密码的文件位置 GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.978E5C106D6A102F6912FF51C37CE674483C0AAE52B84EC4DBB6C08AF818CE83BCA8A9743F31A72AA0BD0AB644A66D34AA774EEDDF913DE22C71A6C4A2826860.2B0701EF272ADE6E518EAA613F966F3C1F5C1150B2F61A04FCC34D2588A1FAB2F75922AB8A5DC5C02AA1A84F5EEE919F8C3DE5526FBCB46EA85082EE98CD6919 [root@centos7 ~]# mv /boot/grub2/user.cfg /root # 移走密码文件,密码即失效。