Linux_系统破坏性修复实验
目录
修改系统用户密码
随便介绍一个修改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_系统破坏性修复实验的更多相关文章
- 【Linux程序设计】之环境系统函数综合实验
这个系列的博客贴的都是我大二的时候学习Linux系统高级编程时的一些实验程序,都挺简单的.贴出来纯粹是聊胜于无. 实验题目:Linux环境下系统函数综合实验 实验目的:熟悉并掌握Linux环境下数学函 ...
- 引用 xp系统引导修复(转载)
引用 3592wangxiaoxi 的 xp系统引导修复(转载) 原文来自百度知道a12424106关于“急需xp系统引导方面的知识!”的回复. XP系统的引导过程 如果想学习排除计算机系统故障,首先 ...
- 『学了就忘』Linux启动引导与修复 — 74、Linux系统的修复模式(光盘修复模式)
目录 1.光盘修复模式概念 2.光盘修复模式修复系统问题 (1)准备系统光盘 (2)进入BIOS (3)修改BIOS的启动顺序 (4)进入光盘修复模式 (5)修复系统 (6)修复系统实操 (7)总结 ...
- Linux 破坏性修复
1.备份数据 [root@rhel6 ~]# dd count= + records in + records out bytes ( B) copied, 0.000181577 s, 2.8 MB ...
- Windows和Ubuntu双系统,修复UEFI引导的两种办法
查看ubuntu是否是从 efi/uefi 启动的方法: 若 /sys/firmware/efi 存在则是,否则不是.shell命令: [ -d /sys/firmware/efi ] && ...
- 系统引导修复 ---- Windows 和 Ubuntu
Windows: 1.准备windows相应镜像盘,u盘启动该系统 (以下均为windows10安装界面) 2.进入安装界面<语言,时间,键盘格式>,点击"下一步" 3 ...
- 使用 boot-repair 对 Windows + Ubuntu 双系统引导修复
问题描述: 由于在windows上进行更新/重装/修改了引导设置以后,windows会“自私”地重写引导,导致Ubuntu系统引导消失而无法选择Ubuntu启动.
- Linux/Windows双系统引导修复
安装双系统建议先安装windows,然后在安装Linux,使用Linux(grub2)引导双系统 如果重新安装了windows,则无法引导进入linux,需要修复引导 在windows下安装easyB ...
- centos 6.8 启动损坏修复实验
前两天遇到了一个问题,centos必须借助CD的启动才能进入系统,当时想着做个测试,这会儿正好有时间,在VMWare里面试试. 思想是这样的,删除boot里面的文件,然后重启看效果. 具体过程如下: ...
随机推荐
- C#线程中LOCK的意义
学习心得,为的是让新人能理解,高手直接绕~ lock 确保当一个线程位于代码的临界区时,另一个线程不进入临界区.如果其他线程试图进入锁定的代码,则它将一直等待(即被阻止),直到该对象被释放. 引用一句 ...
- redis 加锁与释放锁(分布式锁)
使用Redis的 SETNX 命令可以实现分布式锁 SETNX key value 返回值 返回整数,具体为 - 1,当 key 的值被设置 - 0,当 key 的值没被设置
- CentOS 6的系统启动流程
一.POST加电自检 按下电源后ROM芯片中的CMOS程序执行并检测CPU.内存等设备是否存在并正常运行,CMOS中的程序叫BIOS,可以设置硬盘接口,网卡声卡开关之类的简单设置.一般PC机主板上有一 ...
- 给DataFrame的列命名或重命名
1.读取文件的时候重命名 names = new_col,可以在读取文件的时候,给出新列名. new_col = ['new1', 'new2',... , 'newn'] pd.read_csv(' ...
- hiho #1308 : 搜索二·骑士问题
#1308 : 搜索二·骑士问题 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi:小Ho你会下国际象棋么? 小Ho:应该算会吧,我知道每个棋子的移动方式,马走日象 ...
- WTL自定义控件:需要的头文件
这两天自定义了一个Edit控件,继承自CEdit,如下: class CCheckEditEx : public CWindowImpl< CCheckEditEx, CEdit > 需要 ...
- 【leetcode】1237. Find Positive Integer Solution for a Given Equation
题目如下: Given a function f(x, y) and a value z, return all positive integer pairs x and y where f(x,y ...
- C# IIS域名绑定
C#解决IIS域名批量绑定: https://shiyousan.com/post/636022975388168065 C#程序控制IIS 添加站点域名绑定: https://blog.csdn.n ...
- JS中生成随机数
1.Math 对象方法: Math.ceil(); //向上取整. Math.floor(); //向下取整. Math.round(); //四舍五入. Math.random(); //0.0 ~ ...
- JS Module
JS Module Summary I. Why we need to use the Module? In the past, Javascript can execute independentl ...