CentOS 6或7 啓動故障修復及root密碼破解

CentOS 6或7 啓動故障修復及root密碼破解

CentOS 6啓動流程修復:

實驗一:刪除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

實驗二:破壞扇區的446字節,進行修復

準備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

實驗三:破解CentOS 6密碼

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

  1. 開機錯誤提示直接跳入到grub界面去輸入內容:
kernel /vmlinuz-2.6.32-2754.e16.x86_64  root=/dev/sda2
 
initrd /initramfs-2.6.32-275.e16.86_64.img
  1. 臨時進入機器內,修改配置文件,保存:
# 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
  1. 保存退出,修復完畢。

實驗五:刪除/boot/下的全部文件,須要光盤修復

  1. 開機按esc進入救援模式:去修復內核啓動相關文件
mkdir /mnt/cdrom            # 新建臨時掛載文件
mount /dev/sr0  /mnt/cdrom  # 掛載光盤
rpm -ivh /mnt/cdrom/Packages/kernel....  --root=/mnt/sysimage(指定安裝路徑)  --force(強制安裝)
  1. 修復grub文件
chroot /mnt/sysimage      # 切換根

grub-install /dev/sda     # 修復此文件

sync sync sync            # 同步到磁盤中
exit
reboot
  1. 修復grub.conf文件
# vim /boot/grub/grub,conf
default=0
timeout=3
kernel /vmlinuz-內核版本   root=/dev/sda2
initrd /initramfs-內核版本.img
  1. 保存退出,修復完畢。

實驗六:刪除/boot/下的全部文件,且沒有/etc/fstab文件,須要光盤修復

  1. 開機按esc進入救援模式:去修復/etc/fstab文件centos7

  2. mkdir /mnt/rootfs 新建臨時掛載文件3d

  3. 將設備分別掛載,肯定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分區
  1. 最後肯定/dev/sda2爲根分區進行掛載blog

  2. mount /dev/sda2 /mnt/rootfs 掛載/dev/sda2設備

  3. 添加文件內容:

# 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
  1. 重啓按esc進入救援模式:去修復內核啓動相關文件
mkdir /mnt/cdrom            # 新建臨時掛載文件
mount /dev/sr0  /mnt/cdrom  # 掛載光盤
rpm -ivh /mnt/cdrom/Packages/kernel....  --root=/mnt/sysimage(指定安裝路徑)  --force(強制安裝)
  1. 修復grub文件
chroot /mnt/sysimage      # 切換根

grub-install /dev/sda     # 修復此文件

sync sync sync            # 同步到磁盤中
exit
reboot
  1. 修復grub.conf文件
# vim /boot/grub/grub,conf
default=0
timeout=3
kernel /vmlinuz-內核版本   root=/dev/sda2
initrd /initramfs-內核版本.img
  1. 保存退出,修復完畢。

CentOS 7故障修復流程:

實驗一:刪除/boot/grub2/下的文件進行修復:

  1. 進入救援模式:

  2. 而後切換根目錄:

chroot /mnt/sysimage
  1. 生成grub2文件
grub2-install /dev/sda
  1. 將grub.cfg啓動配置文件生成
grub2-mkconfig  -o /boot/grub2/grub.cfg
  1. sync sync sync sync 同步寫入磁盤中

  2. reboot

實驗二:刪除/boot/下的全部文件,須要光盤修復

  1. 進入救援模式rescue

  2. 切換根目錄:

chroot /mnt/sysimage
  1. 進行臨時掛載
mount /dev/sr0 /mnt
  1. 修復內核裏邊的相關啓動文件
rpm -ivh /mnt/Packages/kernel-3.10.0-957.el7.x86_64.rpm --force
  1. 修復grub2文件內容
grub2-install /dev/sda
  1. 最後修復grub.cfg啓動的相關配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
  1. sync sync sync sync 寫入磁盤保存

  2. reboot重啓。

實驗三:破解CentOS 7密碼

  1. 首先重啓,在grub菜單界面,按↑↓鍵,選擇第一項,同時按下e鍵進行編輯。

說明: 在這裏插入圖片描述

  1. 在此界面找到ro替換爲rw init=/sysroot/bin/sh,修改完成以後,按下Ctrl+x進入緊急模式

原理:啓動一個shell環境,系統並無真正啓動。

說明: 在這裏插入圖片描述

說明: 在這裏插入圖片描述

說明: 在這裏插入圖片描述

  1. 切換根目錄chroot /sysroot,修改密碼。

Linux命令須要在根目錄下執行。

chroot,即 change root directory (更改 root 目錄),在使用 chroot 以後,系統的目錄結構將以指定的位置做爲/位置,系統讀取到的目錄和文件將不在是舊系統根下的而是新根下(即被指定的新的位置)的目錄結構和文件。

說明: 在這裏插入圖片描述

修改密碼後,若是開啓了selinux服務,須要在根下建立文件/.autorelabel,最後退出跟系統,重啓。

chroot /sysroot
passwd
touch /.autorelabel
exit
reboot

改進方法:

  1. ro替換爲rw init=/bin/bash,刪除rhgb quiet

  2. Ctrl+X進入緊急模式

  3. 若是亂碼設置LANG=en

  4. passwd修改密碼

  5. 若是開啓selinux,須要建立文件touch /.autorelable

  6. 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  # 移走密碼文件,密碼即失效。
相關文章
相關標籤/搜索