如何在linux上使用fsck命令

我们所有的重要数据都位于一个或另一个类型的文件系统中,文件系统问题必然会发生。在Linux上,我们可以使用fsck命令查找并修复文件系统错误。...

我们所有的重要数据都位于一个或另一个类型的文件系统中,文件系统问题必然会发生。在Linux上,我们可以使用fsck命令查找并修复文件系统错误。

文件系统是软件

文件系统是计算机最关键的组件之一。如果没有文件系统,计算机就无法在硬盘上存储任何数据,无论硬盘是旋转机械盘还是固态硬盘。事实上,必须先创建文件系统,然后才能在硬盘上安装操作系统。必须有一些操作系统文件可以存储在其中。因此,在安装过程中会创建一个文件系统。

10 Basic Linux Commands for Beginners
RELATED10 Basic Linux Commands for Beginners

文件系统由软件创建,由软件写入,并由软件读取。正如你所知,所有复杂的软件都有bug。我们的数据对我们来说至关重要,因此我们非常信任文件系统以及创建和使用它们的软件。如果出现问题,我们可能会失去对部分文件系统甚至整个分区的访问。

现代日志文件系统更善于处理突然断电或系统崩溃可能导致的问题。他们很强壮,但不是无敌的。如果他们的内部表被打乱,他们可能会丢失每个文件在驱动器上的位置、大小、名称以及设置的文件权限。

fsck命令允许您检查文件系统是否正常。如果它发现任何问题,通常也可以为您解决。

做飞行前检查

使用fsck需要sudo权限。任何可以对文件系统进行更改的命令都需要谨慎对待,并仅限于那些知道自己在做什么的人。

飞行员不会跳上飞机,启动飞机,然后飞到那边淡蓝色的地方。他们做飞行前检查。否则,风险太大。这是一个好习惯。在使用fsck之前,您需要确保在正确的驱动器上使用它。所以在对fsck做任何事情之前,我们要做一点侦察。

我们将从fdisk开始,并将其导入较少的。我们不是在询问有关特定分区的信息。通过使用-l(list)选项,fdisk列出在“/proc/partitions”文件中找到的所有设备上的分区表(如果存在)。

sudo fdisk -l | less

如何在linux上使用fsck命令

我们可以看到/dev/sda和/dev/sdb的条目。您可以滚动文件以查看计算机上可能存在的任何其他条目。

如何在linux上使用fsck命令

/dev/sda上的分区列为/dev/sda1、/dev/sda2和/dev/sda3。所以我们在第一个驱动器上有三个分区。通过使用parted命令,我们可以看到更多的信息。我们将使用“打印”选项在终端窗口中显示分区表。

sudo parted /dev/sda 'print'

如何在linux上使用fsck命令

这次我们得到了一些额外的信息,包括每个分区上的文件系统类型。

如何在linux上使用fsck命令

Model: ATA VBOX HARDDISK (scsi) 
Disk /dev/sda: 34.4GB 
Sector size (logical/physical): 512B/512B 
Partition Table: gpt 
Disk Flags:

Number Start  End    Size    File system   Name                 Flags 
1      1049kB 2097kB 1049kB                                     bios_grub 
2      2097kB 540MB  538MB   fat32         EFI System Partition boot, esp 
3      540MB 34.4GB  33.8GB  ext4

这台测试计算机中有三个驱动器。以下是其他两个驱动器/dev/sdb和/dev/sdc的结果。请注意,这些文件系统没有“名称”字段。

sudo parted /dev/sdb 'print'
Model: ATA VBOX HARDDISK (scsi) 
Disk /dev/sdb: 21.5GB 
Sector size (logical/physical): 512B/512B 
Partition Table: msdos 
Disk Flags:

Number Start  End    Size   Type     File system Flags 
1      1049kB 21.5GB 21.5GB primary  ext4
sudo parted /dev/sdc 'print'
Model: ATA VBOX HARDDISK (scsi) 
Disk /dev/sdc: 21.5GB 
Sector size (logical/physical): 512B/512B 
Partition Table: msdos 
Disk Flags:

Number Start  End    Size   Type     File system Flags
1      1049kB 21.5GB 21.5GB primary  ext3

第二个和第三个驱动器恰好大小相同,并且每个驱动器都有一个分区。但是第二个驱动器上的文件系统是ext4,第三个驱动器上文件系统是旧的ext3。

How to Mount and Unmount Storage Devices from the Linux Terminal
RELATEDHow to Mount and Unmount Storage Devices from the Linux Terminal

我们将一个分区标识符传递给fsck,它检查该分区上的文件系统。但是我们不能在装载的文件系统上运行fsck。我们需要卸载驱动器。要做到这一点,我们需要知道分区以及文件系统所在的装载点。

我们可以使用df命令轻松地找到这一点。

df /dev/sdb1
df /dev/sdc1

如何在linux上使用fsck命令

使用fsck命令

我们已经得到了所需的所有信息。我们要做的第一件事是卸载要检查的文件系统。我们将在/dev/sdb的第一个也是唯一一个分区上处理文件系统,即/dev/sdb1。我们之前看到这是一个ext4文件系统,它安装在“/run/mount/dave/sata2”

我们将使用umount命令。注意“umount”中没有“n”

sudo umount /run/mount/dave/sata2

如何在linux上使用fsck命令

没有消息就是好消息。如果您默默地返回到命令提示符,我们就可以开始了。

sudo fsck /dev/sdb1

如何在linux上使用fsck命令

此文件系统报告为干净。这意味着文件系统报告它没有错误或问题。不会自动执行更深入的文件系统检查。我们还可以查看fsck返回到shell的返回代码。

echo $?

如何在linux上使用fsck命令

返回值为零表示没有错误。可能的返回代码有:

  • 0:无错误
  • 1:已更正文件系统错误
  • 2:应重新启动系统
  • 4:文件系统错误未更正
  • 8:操作错误
  • 16:用法或语法错误
  • 32:用户请求取消了检查
  • 128:共享库错误

尽管文件系统报告为干净,但我们可以使用-f(force)选项强制执行文件系统检查。

sudo fsck /dev/sdb1 -f

如何在linux上使用fsck命令

这一次,检查需要更长的时间才能完成,但它会对文件系统进行更彻底的测试。我们的文件系统确实很干净,没有报告任何错误。如果在测试过程中发现问题,系统会提示您让fsck解决问题或忽略错误。

完成测试后,需要重新装载文件系统。最简单的方法是将mount与-a(all)选项一起使用。这将检查“/etc/fstab”中的文件系统列表,并确保它们都按照正常引导后的方式安装。

sudo mount -a

如何在linux上使用fsck命令

Which Linux File System Should You Use?
RELATEDWhich Linux File System Should You Use?

注意,我们不需要告诉fsck分区上的文件系统类型;该实用程序通过检查文件系统来确定。这意味着我们可以使用与我们在/dev/sdb1(ext4分区)上使用的命令完全相同的命令,对测试PC上的ext3文件系统/dev/sdc1强制执行文件系统检查。

sudo fsck /dev/sdc1 -f

如何在linux上使用fsck命令

您可能不想直接修复文件系统。你最好三思而后行。您可以要求fsck不要提供修复任何问题,只向终端窗口报告问题。-N(干运行)选项仅执行以下操作:

sudo fsck -N /dev/sdb1

如何在linux上使用fsck命令

与此相反的是,告诉fsck如果发现任何错误,不要麻烦提示,只需继续并修复它们。为此,请使用-y(无提示)选项。

sudo fsck -y /dev/sdb1

在根分区上使用fsck

不能在已安装的分区上使用fsck,但要启动计算机,必须安装根分区。那么我们如何在根分区上运行fsck?答案是中断引导过程并以恢复模式运行fsck。

在计算机启动时,按住“Shift”键。如果计时正确,就不会启动到Linux。引导过程将在黑白菜单处停止。本文使用的测试机器运行的是Ubuntu,但其他发行版的菜单类型相同,尽管外观可能有所不同。屏幕截图中显示“Ubuntu”的地方将显示您的发行版名称。

如何在linux上使用fsck命令

用“向上箭头”和“向下箭头”键移动高亮显示栏,以选择“Ubuntu的高级选项”菜单项。点击“Enter”进入下一个屏幕。

如何在linux上使用fsck命令

选择以“(recoverymode)”结尾的选项。在我们的示例中,它是“Ubuntu,with Linux 5.11.0-20-generic(recoverymmode)”。点击“Enter”键。

您将看到恢复菜单。选择“fsck check all file system”(fsck检查所有文件系统),然后按“Tab”键将突出显示移动到“OK”(确定)按钮。按“Enter”

如何在linux上使用fsck命令

您将看到一个通知,即根分区将与“/etc/fstab”文件中定义的任何其他分区一起装入。

如何在linux上使用fsck命令

按“Tab”键将突出显示移动到“Yes”按钮,然后按“Enter”

您将看到fsck在交互模式下运行。如果有问题,系统会提示您让fsck修复或忽略它们。检查文件系统后,您将再次看到恢复菜单。

选择“resume”选项,按“Tab”键将突出显示移动到“Ok”按钮,然后按“Enter”。引导过程将继续,您将引导到Linux。

恢复模式引导可能会影响某些驱动程序,因此最好在引导到Linux时再次重新启动。这将确保您的计算机以其标准方式运行。

当事情出错时

安全网是有原因的。了解fsck命令。如果有一天需要在愤怒中使用它,你会很高兴提前熟悉了自己。

RELATED: Best Linux Laptops for Developers and Enthusiasts

  • 发表于 2023-02-19 07:49
  • 阅读 ( 33 )
  • 分类:互联网

你可能感兴趣的文章

如何在linux上安装和使用powershell

... 在本文中,我将向您展示如何在Linux上安装、运行和使用PowerShell! ...

  • 发布于 2021-03-16 02:34
  • 阅读 ( 307 )

如何在android和termux上使用linux命令行

...许您在Android设备上安装诚实善良的Linux应用程序。下面是如何使用Termux应用程序。 ...

  • 发布于 2021-03-18 07:26
  • 阅读 ( 373 )

如何在windows10上获得linux bash shell

... 如何在windows10上安装linux bash shell ...

  • 发布于 2021-03-21 11:48
  • 阅读 ( 287 )

linux下如何重命名文件

要在Linux中重命名文件吗?如果您知道如何在Windows、macOS或Chrome操作系统中完成这项工作,那么您就知道如何在这里完成这项工作。在大多数版本的Linux上,您只需右键单击一个文件并选择Rename选项。 ...

  • 发布于 2021-03-22 02:48
  • 阅读 ( 276 )

如何在linux上使用groupadd管理用户组

... 相关:如何在Linux中更改密码 ...

  • 发布于 2021-03-26 17:15
  • 阅读 ( 185 )

如何在linux中添加用户

想在Linux系统上添加用户但不知道如何添加?在Linux上使用命令行界面管理用户无疑是一项复杂的工作。而对于初学者来说,即使添加新用户也是一场噩梦。 ...

  • 发布于 2021-03-26 23:29
  • 阅读 ( 334 )

如何在linux上编写fstab文件

...是你在任何地方都看不到你的新硬盘。为什么没有出现?如何让Linux“看到”驱动器以便开始配置它? 实际上,Linux已经看到了您的硬件,但它并没有很快宣布它。或者给你一个提示,它已经找到了你的新硬件。您必须询问Linux...

  • 发布于 2021-04-03 00:45
  • 阅读 ( 156 )

如何在Windows10上导出和导入linux系统

...已配置的系统,与其他计算机共享,或者只保存备份。 如何工作 导入和导出功能是在2019年5月的Windows10版本1903更新中添加的。如果尚未安装,则无法使用这些命令行选项。 您只需要为Windows wsl命令提供两个新选项:--export和--i...

  • 发布于 2021-04-03 10:24
  • 阅读 ( 189 )

如何在linux上将ext2或ext3文件系统迁移到ext4

...的Linux文件系统,但是你不能面对这个问题吗?下面介绍如何将ext2和ext3转换为ext4,而不必完全重新安装。 linux文件系统 如果你有礼貌的话,你可以称ext3文件系统为“受人尊敬的”,就像2001年一样。至于可怜的旧ext2,这个文...

  • 发布于 2021-04-03 11:00
  • 阅读 ( 184 )

如何在linux上使用yes命令

...,但是在本教程中,我们将向您展示它的应用程序,以及如何从Linux和macOS中被压抑的积极性中获益。 “是”命令 yes命令是Linux和macOS等类似Unix的操作系统中最简单的命令之一。简单,我们指的是简单的使用和初始实现。在syste...

  • 发布于 2021-04-03 13:30
  • 阅读 ( 166 )
bnt60065
bnt60065

0 篇文章

相关推荐