Linux常见故障及修复方法

一:MBR扇区故障修复

【[email protected]~】#mkdir  /backup

【[email protected]~】#mount  /dev/sdb1  /backup /    ##新建个硬盘分区,并挂载到新建文件夹内

【[email protected]~】#dd if=/dev/sda of=/backup/sda.mbr.bak bs=512 count=1  ##备份MBR扇区512字节

【[email protected]~】#dd if=/dev/zero of=/dev/sda bs=512 count=1   ##往MBR扇区内覆盖,模拟MBR故障

【[email protected]~】#reboot            //提前设置光盘引导重启

进入紧急救援模式

Bash-4.1#mkdir  /backup     ##挂载点名字可以随便起名,不做要求

Bash-4.1#mount /dev/sdb1  /backup  ##因为sda 是内核启动的地方无法读取

Bash-4.1#ls  /backup

Lost+found   sda.mbr.bak

Bash-4.1#dd if=/backup/sda.mbr.bak of=/dev/sda bs=512  count=1  ##写入扇区,完成修复

Bash-4.1#reboot

二.GRUB引导故障

1.MBR中的grub引导程序遭到丢失,重启显示“grub>”提示符

方法一:尝试手动输入(不建议)

【[email protected]~】#mount /dev/sdb1 /backup/

【[email protected]~】# cd /boot/grub2/

【[email protected]~】#cp grub.cfg  /backup/

【[email protected]~】#mv grub.cfg grub.cfg.bak   ##模拟丢失

【[email protected]~】#cat /boot/grub2/grub.cfg    ##查看内核版本等,并记下来

【[email protected]~】#reboot

Greb>省略

2 MBR中的grub引导程序遭到破坏,重启显示

三.遗忘root密码 并修改

方法一。

进入紧急救援模式

Bash-4.1#passwd root

即可修改密码

方法二

按e  进入

按下 ctrl+x  进入单用户模式

输入  passwd root  即可修改

exec  /sbin/init 退出单用户模式

方法三

进入单用户模式

输入  vim /etc/shadow   把密文 全删了  没有  密码  登录设置

四,误删/root目录 恢复方法

[email protected]~】#rm -rf /boot/       ##模拟实况

进入紧急救援模式

Bash-4.1#chroot /mnt/sysimage    ##切换硬盘

Bash-4.1#mkdir /media/

Bash-4.1#mount /dev/sr0  /media

Bash-4.1# rpm -ivh  /media/Packages/kernel-3.10.0.229.e17.x86 64.rpm  --force(看情况加)

Bash-4.1#ls boot

Bash-4.1# grub2-install /dev/sda

Bash-4.1# grub2-mkconfig -o /boot/grub2/grub.cfg(grub2 mkconfig>/boot/grub2/grub.cfg也可以用这个)

Bash-4.1#sync

Bash-4.1#reboot

五.文件系统修复

[[email protected] ~]# fdisk  /dev/sdb

[[email protected] ~]# mkfs.ext4 /dev/sdb1

[[email protected] ~]# dd if=/dev/zero of=/dev/sdb1 bs=512 count=4  ##模拟损坏

[[email protected] ~]# mount /dev/sdb1 /data/

mount: /dev/sdb1 写保护,将以只读方式挂载

mount: 文件系统类型错误、选项错误、/dev/sdb1 上有坏超级块、

缺少代码页或助手程序,或其他错误

有些情况下在 syslog 中可以找到一些有用信息- 请尝试

dmesg | tail  这样的命令看看。

(若是没损坏则成功挂载,损坏则出现以上情况)

[[email protected] ~]# fsck -y -t ext4 /dev/sdb1 (这是ext4文件系统恢复,若是xfs则命令:xfs_repair /dev/sdb1)

fsck,来自 util-linux 2.23.2

e2fsck 1.42.9 (28-Dec-2013)

ext2fs_open2: Bad magic number in super-block

fsck.ext4: 超级块无效, trying backup blocks...

超级块没有needs_recovery标志,但是日志中没有数据。

Recovery flag not set in backup 超级块, so running 日志 anyway.

/dev/sdb1: 正在修复日志

第一步: 检查inode,块,和大小

第二步: 检查目录结构

第3步: 检查目录连接性

Pass 4: Checking reference counts

第5步: 检查簇概要信息

/dev/sdb1: ***** 文件系统已修改 *****

/dev/sdb1: 11/655360 files (0.0% non-contiguous), 83137/2621440 blocks

[[email protected] ~]# mount /dev/sdb1 /data/  ##挂载成功

六.空间耗尽故障

[[email protected] ~]# fdisk /dev/sdb

[[email protected] ~]# mkfs.ext4 /dev/sdb1

[[email protected] ~]# mkdir /disk

[[email protected] ~]# mount /dev/sdb1  /maomao/

[[email protected] maomao]# df -i

文件系统                   Inode 已用(I)  可用(I) 已用(I)% 挂载点

/dev/sdb1                 655360      10   655350       1% /data

第二,创建多个文件,耗尽容量

[[email protected] ~]# cd /maomao/

[[email protected] maomao]# touch {1..115360} ##由于数量太大 就不创建满了

[[email protected] maomao]# df -i

文件系统                   Inode 已用(I)  可用(I) 已用(I)% 挂载点

/dev/sdb1                 655360  115370   539990      18% /data

第四,修复磁盘耗尽故障

[[email protected] maomao]# sudo find /maomao -type f -size 0 -exec rm {} \;

(遍历寻找0字节的文件,并删除)

也可以格式化

[[email protected] maomao]# df -i

文件系统                   Inode 已用(I)  可用(I) 已用(I)% 挂载点

/dev/sdb1                 655360      10   655350       1% /data

也可以改变inode大小

[[email protected] ~]# fdisk /dev/sdb

[[email protected] ~]# mkfs.ext3 /dev/sdb1 -N 500000
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
501760 inodes, 4194304 blocks
209715 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=4294967296
128 block groups
32768 blocks per group, 32768 fragments per group
3920 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

[[email protected] ~]# mkdir /aa
[[email protected] ~]# mount /dev/sdb1 /aa
[[email protected] ~]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点

/dev/sdb1 501760 11 501749 1% /aa

七.磁盘坏道故障修复

[[email protected] ~]# badblocks -sv /dev/sdb    (检查是否有坏道)

正在检查从 0 到 41943039的块

Checking for bad blocks (read-only test): done

Pass completed, 0 bad blocks found. (0/0/0 errors)

(当有硬盘坏道时,通常在dmesg输出的信息中会有 Buffer I/O error,)

2. 逻辑坏道修复方法

①、badblocks -s -w /dev/sda END START (END代表需要修复的扇区末端,START代表需要修复的扇区起始端)
②、fsck -a
/dev/sda

修复后再用badblocks
-s -v -o /root/bb.log /dev/sda监测看是否还有坏道存在,如果坏道还是存在的话说明坏道属于硬盘坏道。硬盘坏道要用隔离方法,首先记录监测出的硬盘坏道然后分区的时候把硬盘坏道所在的扇区分在一个分区(大小一般大于坏扇区大小),划分出的坏道分区不使用即可达到隔离的目的

3. 0磁道坏道和硬盘坏道(准备换硬盘)

0磁道坏道的修复方法是隔离0磁道,使用fdsk划分区的时候从1磁道开始划分区。

如果是硬盘坏道的话,只能隔离不能修复

方法二

检查命令:

[[email protected] ~]# badblocks -s -v -o /root/bb.log /dev/sda

检查 /home 是否有坏道,则命令如下:

[[email protected] ~]# badblocks -s -v -o /root/bb-home.log /dev/mapper/centos-home

逻辑坏道修复方式

下面是badblocks在/dev/mapper/ centos-home e分区检查出的坏道列表:

217874591

217874592

217874593

217874594

217874595

先备份数据

[[email protected] ~]# dd if=/dev/mapper/centos-home

原文地址:https://www.cnblogs.com/L1-5551/p/11438867.html

时间: 2024-10-08 01:50:44

Linux常见故障及修复方法的相关文章

RAID磁盘阵列常见故障以及修复方法

服务器数据安全有着至关重要的意义,目前大多数服务器都采用了RAID磁盘阵列技术.受服务器自身硬件局限和技术人员的操作因素,服务器无阵列无法做到100%的无故障发生.那么RAID磁盘阵列故障有哪些?RAID磁盘阵列如何进行数据恢复? 导致磁盘阵列RAID数据丢失的故障原因分为RAID逻辑层故障,RAID物理层故障以及RAID坏道层故障. 对于逻辑层故障,例如误删除,误格式化,误分区,RAID阵列信息丢失, RAID阵列信息混乱, 重新配置RAID阵列信息导致数据丢失, RAID阵列内磁盘顺序出错等

常见移动硬盘故障以及修复方法

移动硬盘因为容量大,体积小,现在越来越被大家当作电脑备用硬盘来使用,但是相对电脑硬盘,移动硬盘更需要小心地维护和使用,不然很容易就会导致故障,甚至会出现数据丢失的情况.以下就为大家列举几种常见的硬盘故障以及修复方法. 一.系统无法正确检测到移动硬盘 将移动硬盘正确的插入电脑的USB接口,听到硬盘发出的响声,硬盘上指示灯不停的闪烁,系统能正常的检测到使用了USB设备,但是在我的电脑中无法看到移动硬盘的图标.这种情况说明移动硬盘并没有损坏.将移动硬盘换到别一台机器上,能够正常使用.根据这种情况,判断

Linux 文件系统错误的修复方法 ddrescue替代dd的恢复软件 备用超级块

Linux 文件系统错误的修复方法  ddrescue替代dd的恢复软件  备用超级块 最近处理的一件 linux 服务器断电导致文件系统启动后文件系统不可读写,数据不可用的案例,现总结下 Linux 文件系统错误的修复方法.EXT3-fs error (device hda3) in start_transaction: Journal has abortedIf your system abruptly loses power, or if a RAID card is beginning

Linux常见故障-------MBR引导扇区恢复

本次给大家介绍的是Linux常见故障其中的MBR引导扇区. ----------------故障概述-------------- 基本概述在Linux系统的启动过程中,涉及MBR主引导记录.GRUB启动菜单.系统初始化配置文件等各方面,其中任何一个环节出现故障都可能会导致系统启动的失常,因此一定要注意做好相关文件的备份工作. 完整的开机引导流程 开机自检:也称加电自检(POST,Power On Self Test). 指计算机系统,接通电源,(BIOS程序)的行为,包括对CPU.系统主板.基本

老男孩教育每日一题-2017年4月28日- MySQL主从复制常见故障及解决方法?

MySQL主从复制常见故障及解决方法? 1.1.1故障1:从库数据与主库冲突 show slave status; 报错:且show slave status\G Slave_I/O_Running:Yes Slave_SQL_Running:No Seconds_Behind_Master:NULL Last_error:Error 'Can't create database 'xiaoliu'; database exists' on query. Default   database:'

灵岳点钞机常见故障及解决方法

1.      开机后机器没有任何反应:检查是否停电,电源开关是否开启,插头是否插好,保险丝是否烧断. 2.    控制键盘灯不亮:内插线是否脱落 3.    进钞台不进钞:进钞传感器损坏 4.    大电机不转:保险丝烧坏. 5.    小电机不转:小电机损坏 6.    接钞叶不转:皮带断 7.      接钞轮不转:电机皮带断 8.      不计数:计数传感器坏 9.      不清零:清零传感器坏 10.   外显数字缺边:数码管坏 11.   出现重张:间隙是否过大,调节进钞台后面的

验证码的三个常见漏洞和修复方法

把验证码存储在Cookie中 一般来说,我们会把验证码的值用Session存储起来,通过对比用户提交的验证码和Session中的验证码,就可以知道输入是否正确.由于Session会占用服务器资源,我曾经想过是否可以把验证码的值加密后存储在Cookie中.不过事实证明,这只是异想天开罢了. 假设验证码的值是a,通过sha1加密后得到的值为b = sha1(a),并且把b存储在Cookie中.而用户提交的验证码值为c,通过判断sha1(c)是否与b相等,可以知道输入的验证码是否正确.然而,Cooki

Linux Bash严重漏洞修复方法

bash 是一个为GNU计划编写的Unix shell.:Bourne-Again SHell - 这是关于Bourne shell(sh)的一个双关语(Bourne again / born again).Bourne shell是一个早期的重要shell,由史蒂夫·伯恩在1978年前后编写,并Version 7 Unix一起发布.bash则在1987年由布莱恩·福克斯创造.在1990年,Chet Ramey成为了主要的维护者. shell在linux系统所处的位置: 常见linux和UNIX

Linux -- 常见故障排除

目前Linux的擅长应用领域是:单一应用的基础服务器应用,譬如DNS.Web服务器.NFS服务器.防火墙.文件服务器.代理服务器.中小型数据库.Linux网络故障大多与服务器配置有关.下面我们介绍一下故障排除步骤. 一. Linux网络故障之网卡故障 Linux的网络实现是模仿FreeBSD的,它支持FreeBSD的带有扩展的Sockets(套接字)和TCP/IP协议.它支持两个主机间的网络连接和Sockets通讯模型,实现了两种类型的Sockets:BSD Sockets和INET Socke