Linux_系统破坏性修复实验
2015-11-03 17:46 云物互联 阅读(295) 评论(0) 编辑 收藏 举报目录
修改系统用户密码
随便介绍一个修改Linux系统用户密码的方法。
步骤:
开机读秒时按任意键
进入grub列表项配置按e
选择系统kernel版本按e
在最后添加空格1,回车后按b启动,进入单用户模式
setenforce 0 关闭SELinux
passwd root
init 5 切换到桌面模式
grub修复
vim /boot/grub/grub.conf
rm -f /boot/grub/grub.conf
reboot
grub>root (hd0,0) (如果系统不止一块硬盘,需执行grub>setup (hd0))
grub>kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=/dev/sda2 (lv系统改为root=/dev/mapper/vgqin1-lvroot或者root=LABEL=/)
grub>initrd /initramfs-2.6.32-71.e16.x86_64.img
grub>boot
系统修复
下面是一个修复的实验:
备份重要资料:
mkdir /backup
dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1
cp /etc/fstab /backup/fstab.bak
cp /etc/inittab /backup/inittab.bak
cp /etc/rc.d/rc.sysinit /backup/rc.sysinit.bak
cp /etc/rc.d/rc.local /backup/rc.local.bak
破坏性操作:
rm -rf /boot/*
rm -f /etc/fstab
rm -f /etc/inittab
rm -f /etc/rc.d/rc.sysinit
rm -f /etc/rc.d/rc.local
dd if=/dev/zero of=/dev/sda bs=446 count=1
reboot
选择修复模式:
光盘启动选择Rescue installed system (若需网络引导,选择URL模式,本地光盘选择Local cdrom)
continue
shell start shell
修复fstab:
fdisk -l
mkdir /jmilk
mount /dev/sda2 /jmilk (lv下需要执行lvm vgscan和lvm vgchange -ay激活vg才能挂载)
cp /bachup/fstab.bak /jmilk/etc/fstab
reboot
再次进入修复模式:
若看到chroot /mnt/sysimage,说明/etc/fstab恢复成功
恢复内核:
mkdir /jmilk
mount /dev/cdrom /jmilk
rpm -ivh /jmilk/Package/kernel-2.6.32-71.e16.x86_64.rpm –root=/mnt/sysimage/ –force
恢复引导程序:
chroot /mnt/sysimage/
grub-install /dev/sda
ls /boot/grub
vi /boot/grub/grub.conf
default=0
timeout=5
title linux for jmilk
root (hd0,0)
kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=/dev/sda2
#lv系统改为root=/dev/mapper/vgqin1-lvroot或者root=LABEL=/
#:r! ls /boot/vmlinuz-2.6.32-71.el6.x86_64
initrd /initramfs-2.6.32-71.e16.x86_64.img
#:r! ls /boot/initramfs-2.6.32-71.e16.x86_64.img
#可尝试写错,调试grub
恢复init:
rpm -qf /etc/inittab
rpm -qf /etc/rc.d/rc.sysinit
rpm -qf /etc/rc.d/rc.local
mount /dev/cdrom /mnt/cdrom
rpm -ivh /mnt/cdrom/Packagers/initscripts-9.03.17-1.el6.x86_64.rpm –force
两次exit退出到图形界面选择reboot Reboot
重启后系统自动执行selinux relabel,几分钟后自动重启,至此,系统修复完成。
最后
本次额实验主要是通过这种方式累对系统启动流程有一个更加深入额理解。
JMilk