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 # 移走密碼文件,密碼即失效。