Linux技巧:使用Fsck命令修复损坏的分区

2024-02-25 05:32

本文主要是介绍Linux技巧:使用Fsck命令修复损坏的分区,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如果Linux分区有损坏情况,启动有问题,不能正常进入文本或图形界面。那么一般会出现提示,需要输入Root密码登录后采用

fsck -t ext3 -r /usr/local 修复 , /usr 是提示检查不能通过的分区。

 


 

 

fsck的命令的几个使用方法

 

指令:fsck

使用权限 : 超级使用者

使用方式 : fsck [-sACVRP] [-t fstype] [–] [fsck-options] filesys […]

说明 : 检查与修复 Linux 档案系统,可以同时检查一个或多个 Linux 档案系统

 

参数 :

filesys : device 名称(eg./dev/sda1),mount 点 (eg. / 或 /usr)

 

-t : 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身已支援的则不需加上此参数

-s : 依序一个一个地执行 fsck 的指令来检查

-A : 对/etc/fstab 中所有列出来的 partition 做检查

-C : 显示完整的检查进度

-d : 列印 e2fsck 的 debug 结果

-p : 同时有 -A 条件时,同时有多个 fsck 的检查一起执行

-R : 同时有 -A 条件时,省略 / 不检查

-V : 详细显示模式

 

-a : 如果检查有错则自动修复

-r : 如果检查有错则由使用者回答是否修复

 

例子 :

检查 msdos 档案系统的 /dev/hda5 是否正常,如果有异常便自动修复 : fsck -t msdos -a /dev/hda5

 

注意 :

此指令可与 /etc/fstab 相互参考操作来加以了解。

tolywang 发表于:2007.11.24 10:10 ::分类: ( Linux/Unix管理 ) ::阅读:(1155次) :: 评论 (2) :: 引用 (0)
re: Linux技巧:使用Fsck命令修复损坏的分区 [回复]

运行fsck命令后产生的文件有什么用?

 当执行fsck命令时,fsck命令如果发现存在孤立的文件或目录,这些孤立的文件或目录对于系统管理员或用户来说,无法访问到它,因为它与它的上级目录失去了关联,如果用户允许fsck重新把它们找回来的话,fsck命令就会把这些孤立的文件或目录放在文件系统的/lost+found目录下,并用各自的i-node号来命名,以便用户查找自己需要的文件。Lost+found目录通过它的英文含义我们都可以知道,它是一个失物认领处。

  因此当某个用户发现自己丢失了某个文件,可以在执行fsck之后到/lost+found目录下去查找,这时通过文件名已无法辨认出文件的作用,只能用file之类的命令来确定文件的类型,如果是数据文件,可以用more或vi命令来查看,如果是二进制文件,可以用dbx命令来调试或者试着执行它(注意它可能是一个具有破坏性的程序),知道文件或目录的作用之后,可以对其进行改名。

  如果用户不允许fsck把这些孤立的文件或目录找回来,那么fsck命令就会破坏这些文件或目录,彻底丢失这些文件或目录,用户或系统管理员永远也无法找回它们。

www.oraclelblog.cn 评论于:2007.11.24 10:35
re: Linux技巧:使用Fsck命令修复损坏的分区 [回复]

fsck 命令

1、fsck
fsck是可以说是使用次数第一的工具(系统自己使用占90%以上)。它是FS完整性检查,包括supblk,cylgrpblk,inode.tab,data区等。检查的原理是:冗余发。修复时按照实际情况调整记录信息。
lost+found目录:在fsck的时候,将找不到父目录的那些文件拷贝到该目录中,并以i节点号作为文件名。
当系统启动的时候会使用fsck对文件系统进行扫描,并相应的报出扫描结果。例如:/dev/rdsk/c0t0d0s7 stable等。
后面是Fs的状态。其中,clean表示文件系统umount后无人用,stable表示文件系统用过,但却是完整的,好的。而出一大堆的话,还有什么fragment %什么的的那都表示文件系统上有乱的地方,那么就应该进入系统后使用fsck来整理。提起这个来,我想说说在非法关机后(各种原因),再次启动的时候会有很多的情况,上面说的是一种情况,再厉害一些是系统只能进入但用户状态,最厉害的是连单用户的状态都无法进入(肯定是/和/usr区有问题。这是因为fsck对/区的扫描无法通过的话,系统当然无法启动,而fsck调用的一些函数库又在/usr上。。。。)
当系统的状态是clean,stable和logging的状态的时候(logging??不知道的看上一课吧)fsck不运行。

2、fsck的使用
本课讲的三个参数:
-o f 对系统进行强制检查,不论系统是否在clean等状态
-o p 非交互式检查并修复文件系统,对有的问题则立即退出
-o b=xx 用来修复超级块的错误,就是将备份的超级块内容拷入超级块中。solaris对超级块很重视,它的备份有很多,一般的b=32就可以了,如果不行可以使用命令newfs -N /dev/rdsk/cxtxdxsx来查看超级块的位置,其中任何一个备份块都可使用

3、一些错误的情况
一、RECONNECT
表示目录丢失,可将其存入lost+found中再作转移。回答yes
二、SUPERBLK坏(注意是坏,不是wrong)
修复见上面(如果是wrong就随便了,修不修都可以)
三、CLEAR
删i节点,可能会错
四、REMOVE
删文件,一般给出文件名。file=....
五、ADJUST
调整连接数。实际数与原记录不符。回答yes
六、SALVAGE
自由列表计数不正确。回答yes
(题外话:其实我使用一般都是yes过去的,而且书上说不能在正在mount的文件系统上操作,否则有可能导致文件系统损坏。但我也没有碰到过用fsck导致发生错误的情况。不过还是建议大家操作的时候规范一些,否则出错了不要来找我呀。尤其是考试的时候)

4、df和du命令
最长用的是
df -k看现在系统的挂接和使用情况
du -ks看一个目录的总容量。
别的我觉的不常用,而且书上讲的也很清楚,就不在这里说了。

 

 

 

 

是出现经常非法关机,断电,导致文件系统不连续,而在强制检查后不能通过的情况,系统会进入一个修复(repair)模式……
  【一】

  是出现经常非法关机,断电,导致文件系统不连续,而在强制检查后不能通过的情况,系统会进入一个修复(repair)模式,

  需要远程协助开启network和sshd服务,然后 cd /boot; umount / ; fsck -y /dev/sda3(假设根目录分区为sda3)

  这里可能会有一些不连续或者部分损坏的文件被系统搁置到/lost+found目录下,都以#开头,以节点命名的目录,

  需要手动恢复,恢复步骤自行到网上查询,需要确认原来的目录结构

  【二】

  另外一种比较严重,同样因为某些原因,例如升级内核,例如频繁断电,导致启动到内核后,出现类似以下错误,


      Boot error:
  -----------------------------------------------------
  root (hd0,0)
  Filesystem type is ext2fs, partition type 0x83
  kernel /vmlinuz-2.6.15.6 ro root=LABLE=/ rhgb quiet
  [Linux-bzImage, setup=0x1e00, size=0x1807f8]
  initrd /initrd-2.6.15.6.img
  [Linux-initrd @ 0x37f82000, 0x6d283 bytes]
  Uncompressing Linux... Ok, booting the kernel.
  Red Hat nash version 4.1.18 starting
  mkrootdev: label / not found
  umount /sys failed:16
  mount: error 2 mounting ext3
  mount: error 2 mounting none
  switchroot: mount failed: 22
  umount /initrd/dev failed: 2
  Kernel panic - not syncing: Attempted to kill init!
  -------------------------------------------------------


  a. 远程协助,进入grub后,能否检测到系统完整的 LINUX分区,如果分区完整,并且进一步分区下的目录结构和文件初步完整,OK

  将 kernel 后的 root=LABEL=/ 改成 root=/dev/hda3 或者 root=/dev/sda3 (根目录所在分区,我一般分为sda3)

  应该可以顺利进入系统,然后参考 mklabel 命令,给根分区打上LABEL,或者修改grub.conf,将标签项改成用分区表示,然后grub-install ....

  进行grub安装

  b. 远程协助,进入grub后,只能检测到/boot所在分区,而root分区不完整,只能通过进入rescue模式,或者用live cd, 利用fsck了,

  这里提醒一下,尽量别用带x-window的LIVECD,这种垃圾盘把我害惨了.

  另外尽量平时能备些CD的盘,大家用习惯了DVD,可是这次的情况就是服务器上没有DVD,全是CD,又找不来移动DVD

  只能通过网络PXE来完成了.....

  c. 把磁盘挂载到其他的主机上个别分区如果挂载不上提示指定文件系统的话我们可以通过如下步骤来恢复数据:

  恢复数据实践步骤!!!

  1.复制磁盘

  dd if=源盘分区 of=目标盘分区 (最好一模一样大小) ,例如目标盘分区为/dev/sdb3

  2.

  mkfs.ext3 -n /dev/sdb3 (一定要有-n,切记) 记住最后一个数字值

  3.

  screen -S check

  fsck -b XXXX /dev/sdb3 -y

  XXX为第二部里最后一个数字

  开始检测,不用管,按 Ctrl+a -> d ,切换到后台,等扫描完, fsck -y /dev/sdb3 确认。

  4.

  mount /dev/sdb3 /mnt

  【三】

  至于连grub都进不去的,不用说了,远程协助,直接进入live cd 或者 rescue模式,先看分区是否完整,如果完整,直接用grub-install.......,具体使用参考网络

  如果分区不完整,那只能用数据恢复软件,数据重要的话就花点时间找吧,或者花点money,不重要的话直接reinstall吧

文章来自中国建站:http://www.jz123.cn/text/1628386.html

这篇关于Linux技巧:使用Fsck命令修复损坏的分区的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/744521

相关文章

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

python使用库爬取m3u8文件的示例

《python使用库爬取m3u8文件的示例》本文主要介绍了python使用库爬取m3u8文件的示例,可以使用requests、m3u8、ffmpeg等库,实现获取、解析、下载视频片段并合并等步骤,具有... 目录一、准备工作二、获取m3u8文件内容三、解析m3u8文件四、下载视频片段五、合并视频片段六、错误

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

Windows下C++使用SQLitede的操作过程

《Windows下C++使用SQLitede的操作过程》本文介绍了Windows下C++使用SQLite的安装配置、CppSQLite库封装优势、核心功能(如数据库连接、事务管理)、跨平台支持及性能优... 目录Windows下C++使用SQLite1、安装2、代码示例CppSQLite:C++轻松操作SQ

qt5cored.dll报错怎么解决? 电脑qt5cored.dll文件丢失修复技巧

《qt5cored.dll报错怎么解决?电脑qt5cored.dll文件丢失修复技巧》在进行软件安装或运行程序时,有时会遇到由于找不到qt5core.dll,无法继续执行代码,这个问题可能是由于该文... 遇到qt5cored.dll文件错误时,可能会导致基于 Qt 开发的应用程序无法正常运行或启动。这种错

电脑提示xlstat4.dll丢失怎么修复? xlstat4.dll文件丢失处理办法

《电脑提示xlstat4.dll丢失怎么修复?xlstat4.dll文件丢失处理办法》长时间使用电脑,大家多少都会遇到类似dll文件丢失的情况,不过,解决这一问题其实并不复杂,下面我们就来看看xls... 在Windows操作系统中,xlstat4.dll是一个重要的动态链接库文件,通常用于支持各种应用程序