目录

修改系统用户密码

随便介绍一个修改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

Linux_系统破坏性修复实验的更多相关文章

  1. 【Linux程序设计】之环境系统函数综合实验

    这个系列的博客贴的都是我大二的时候学习Linux系统高级编程时的一些实验程序,都挺简单的.贴出来纯粹是聊胜于无. 实验题目:Linux环境下系统函数综合实验 实验目的:熟悉并掌握Linux环境下数学函 ...

  2. 引用 xp系统引导修复(转载)

    引用 3592wangxiaoxi 的 xp系统引导修复(转载) 原文来自百度知道a12424106关于“急需xp系统引导方面的知识!”的回复. XP系统的引导过程 如果想学习排除计算机系统故障,首先 ...

  3. 『学了就忘』Linux启动引导与修复 — 74、Linux系统的修复模式(光盘修复模式)

    目录 1.光盘修复模式概念 2.光盘修复模式修复系统问题 (1)准备系统光盘 (2)进入BIOS (3)修改BIOS的启动顺序 (4)进入光盘修复模式 (5)修复系统 (6)修复系统实操 (7)总结 ...

  4. Linux 破坏性修复

    1.备份数据 [root@rhel6 ~]# dd count= + records in + records out bytes ( B) copied, 0.000181577 s, 2.8 MB ...

  5. Windows和Ubuntu双系统,修复UEFI引导的两种办法

    查看ubuntu是否是从 efi/uefi 启动的方法:  若 /sys/firmware/efi 存在则是,否则不是.shell命令: [ -d /sys/firmware/efi ] && ...

  6. 系统引导修复 ---- Windows 和 Ubuntu

    Windows: 1.准备windows相应镜像盘,u盘启动该系统 (以下均为windows10安装界面) 2.进入安装界面<语言,时间,键盘格式>,点击"下一步" 3 ...

  7. 使用 boot-repair 对 Windows + Ubuntu 双系统引导修复

    问题描述:     由于在windows上进行更新/重装/修改了引导设置以后,windows会“自私”地重写引导,导致Ubuntu系统引导消失而无法选择Ubuntu启动.

  8. Linux/Windows双系统引导修复

    安装双系统建议先安装windows,然后在安装Linux,使用Linux(grub2)引导双系统 如果重新安装了windows,则无法引导进入linux,需要修复引导 在windows下安装easyB ...

  9. centos 6.8 启动损坏修复实验

    前两天遇到了一个问题,centos必须借助CD的启动才能进入系统,当时想着做个测试,这会儿正好有时间,在VMWare里面试试. 思想是这样的,删除boot里面的文件,然后重启看效果. 具体过程如下: ...

随机推荐

  1. Tomcat各版本及源码包下载

    Tomcat各版本及源码包下载 1.百度 Tomcat 进入官网2.Tomcat 官网地址:http://tomcat.apache.org/3.所有 Tomcat 版本及源码包下载地址:https: ...

  2. kubernetes管理存储

    一.Kubernetes 如何管理存储资源: 理解volume 首先我们学习 Volume,以及 Kubernetes 如何通过 Volume 为集群中的容器提供存储:然后我们会实践几种常用的 Vol ...

  3. Zookeeper集群快速搭建

    Zookeeper集群快速搭建 1.cd /usr/local/zookeeper/conf(如在192.168.212.101服务器) mv zoo_sample.cfg zoo.cfg 修改con ...

  4. 泛型 class TimeComparator<Asr> implements Comparator<Asr>

    class TimeComparator<Asr> implements Comparator<Asr> 为何需要改为 class TimeComparator impleme ...

  5. 绑定与非绑定方法及反射,isinstance和issubclass内置函数

    目录 绑定方法与非绑定方法 1.绑定方法 2.非绑定方法(staticmethod) isinstance和issubclass 内置函数 1.isinstance 2.issubclass 反射(面 ...

  6. 2019春Python程序设计练习6(0423--0429)

    1-1 定义Python函数时,如果函数中没有return语句,则默认返回空值None. (2分) T         F 1-2 在函数内部没有任何声明的情况下直接为某个变量赋值,这个变量一定是函数 ...

  7. jquery input选择器 语法

    jquery input选择器 语法 作用::input 选择器选取表单元素.该选择器同样适用于 <button> 元素.大理石平台价格表 语法:$(":input") ...

  8. Java多线程和并发(一),进程与线程的区别

    目录 1.进程和线程的由来 2.进程和线程的定义 3.进程和线程的区别 一.进程和线程的区别 1.进程和线程的由来 2.进程和线程的定义 进程是资源分配的最小单位,线程是CPU调度的最小单位 3.进程 ...

  9. UE4添加模块

    添加模块在这篇文章里已经有详细的描述了: https://orfeasel.com/creating-custom-modules/ 但是这篇文章中少写了一个步骤: 最后要在 <工程名>E ...

  10. Jmeter -- 入门,基础操作

    1. 添加线程组 设置线程组参数(线程数.准备时长.循环次数等): a)线程数:虚拟用户数.一个虚拟用户占用一个进程或线程.设置多少虚拟用户数在这里也就是设置多少个线程数. b)Ramp-Up Per ...