自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何掃描和修復(fù) Linux 磁盤錯誤

系統(tǒng) Linux
fsck(文件系統(tǒng)一致性檢查)是用于檢查Linux操作系統(tǒng)文件系統(tǒng)一致性的工具。

在本文中,將學(xué)習(xí)如何使用 fsck 和 xfs_repair 命令修復(fù) Linux 磁盤錯誤。

什么是FSCK?

fsck(文件系統(tǒng)一致性檢查)是用于檢查Linux操作系統(tǒng)文件系統(tǒng)一致性的工具。

列出 Linux 磁盤分區(qū)和類型:

首先,需要確定 Linux 系統(tǒng)的磁盤分區(qū)、它們各自的文件系統(tǒng)以及掛載點。下面使用lsblk命令列出磁盤明、文件系統(tǒng)類型、掛載點:

[root@localhost ~]# lsblk -o NAME,FSTYPE,MOUNTPOINT
NAME FSTYPE MOUNTPOINT
sda
sdb
sdc
sdd
sr0 iso9660
nvme0n1
├─nvme0n1p1 ext4 /boot
└─nvme0n1p2 LVM2_member
├─cl-root xfs /
└─cl-swap swap [SWAP]

獲取 Linux 磁盤的上次掃描時間

你可以使用下命令找到 Ext2,Ext3,Ext4 類型分區(qū)的最后一次掃描時間。

[root@localhost ~]# tune2fs -l /dev/nvme0n1p1 |grep checked
Last checked: Wed Sep 1 15:42:11 2021

掃描和修復(fù) Ext4 類型的磁盤分區(qū)

掃描 Linux 磁盤分區(qū),可以使用 fsck(文件系統(tǒng)一致性檢查)命令。但是在檢查和修復(fù)它之前,需要卸載該分區(qū)。下面實例中,我們卸載的是/boot分區(qū)。

[root@localhost ~]# umount /dev/nvme0n1p1

卸載成功后,使用fsck.ext4檢查/dev/nvme0n1p1分區(qū)

[root@localhost ~]# fsck.ext4 /dev/nvme0n1p1 
e2fsck 1.44.3 (10-July-2018)
/dev/nvme0n1p1: files, 55546/262144 blocks

檢查并修復(fù)您的 Linux 磁盤后,在其各自的掛載點再次掛載分區(qū)。執(zhí)行以下命令用來掛載 /etc/fstab 配置文件中列出的所有磁盤分區(qū)。

[root@localhost ~]# mount -a

在 Linux 啟動時啟用 Ext4 磁盤分區(qū)掃描

在系統(tǒng)啟動時啟用磁盤檢查。你必須修改該磁盤分區(qū)的 Mount Count 參數(shù)。

[root@localhost ~]# tune2fs -c 1 /dev/nvme0n1p1 
tune2fs 1.44.3 (10-July-2018)
Setting maximal mount count to 1

重啟系統(tǒng)之后,fsck命令現(xiàn)在會在啟動時檢查你的 Ext4 磁盤分區(qū)。

[root@localhost ~]# reboot

重新啟動后,獲取磁盤分區(qū)的Last Checked值,現(xiàn)在它會顯示 Linux 上次啟動的時間。

[root@localhost ~]# tune2fs -l /dev/nvme0n1p1 |grep checked
Last checked: Tue Sep 14 11:08:11 2021

恢復(fù)Mount Count 參數(shù)的默認(rèn)值,否則它會在每次系統(tǒng)啟動時繼續(xù)執(zhí)行磁盤掃描。

[root@localhost ~]# tune2fs -c -1 /dev/nvme0n1p1 
tune2fs 1.44.3 (10-July-2018)
Setting maximal mount count to -1

什么是 XFS_REPAIR?

xfs_repair 實用程序具有高度可擴(kuò)展性,旨在有效修復(fù)具有許多 inode 且非常大的文件系統(tǒng)。與其他 Linux 文件系統(tǒng)不同,xfs_repair 不會在啟動時運行,即使 XFS 文件系統(tǒng)沒有完全卸載。如果發(fā)生不干凈的卸載,xfs_repair 只會在掛載時重放日志,確保文件系統(tǒng)一致。

掃描和修復(fù) XFS 類型的磁盤分區(qū)

XFS 類型的磁盤分區(qū)有自己的一組命令,與 Ext4 有點不同。在檢查其一致性之前,必須卸載 XFS 磁盤分區(qū)。

[root@localhost ~]# umount /dev/sda1

我們有 xfs_repair 命令用于檢查和修復(fù)磁盤錯誤。使用xfs_repair 命令的-n選項來檢查磁盤錯誤。

[root@localhost ~]# xfs_repair -n /dev/sda1 
Phase 1 - find and verify superblock...
Phase 2 - using internal log
- zero log...
- scan filesystem freespace and inode maps...
- found root inode chunk
Phase 3 - for each AG...
- scan (but don't clear) agi unlinked lists...
- process known inodes and perform inode discovery...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
- process newly discovered inodes...
Phase 4 - check for duplicate blocks...
- setting up duplicate extent list...
- check for inodes claiming duplicate blocks...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
No modify flag set, skipping phase 5
Phase 6 - check inode connectivity...
- traversing filesystem ...
- traversal finished ...
- moving disconnected inodes to lost+found ...
Phase 7 - verify link counts...
No modify flag set, skipping filesystem flush and exiting.

上述命令只執(zhí)行磁盤檢查,不嘗試修復(fù)任何錯誤?,F(xiàn)在,執(zhí)行不帶 -n 選項的 xfs_repair 命令,它將執(zhí)行 Linux 磁盤分區(qū)的掃描和修復(fù)。

[root@localhost ~]# xfs_repair /dev/sda1
Phase 1 - find and verify superblock...
Phase 2 - using internal log
- zero log...
- scan filesystem freespace and inode maps...
- found root inode chunk
Phase 3 - for each AG...
- scan and clear agi unlinked lists...
- process known inodes and perform inode discovery...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
- process newly discovered inodes...
Phase 4 - check for duplicate blocks...
- setting up duplicate extent list...
- check for inodes claiming duplicate blocks...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
Phase 5 - rebuild AG headers and trees...
- reset superblock...
Phase 6 - check inode connectivity...
- resetting contents of realtime bitmap and summary inodes
- traversing filesystem ...
- traversal finished ...
- moving disconnected inodes to lost+found ...
Phase 7 - verify and correct link counts...
done

下面誠信掛載分區(qū)

[root@localhost ~]# mount /dev/sda1 /data/

在 Linux 啟動時啟用 XFS 磁盤分區(qū)掃描

在某些情況下,如果 Linux 操作系統(tǒng)正在使用磁盤分區(qū),則無法卸載磁盤分區(qū)。出于這個原因,您可能不得不將磁盤檢查推遲到下一次系統(tǒng)啟動。要使 xfs_repair 命令能夠在 Linux 啟動時運行,請在 GRUB 菜單內(nèi)核命令的末尾添加“fsck.mode=force fsck.repair=yes”。查看系統(tǒng)日志以驗證磁盤修復(fù)命令的執(zhí)行情況。

[root@localhost ~]# journalctl |grep systemd-fsck

要在啟動時永久啟用磁盤檢查,您必須在 GRUB 配置文件中添加“fsck.mode=force fsck.repair=yes”。下面編輯grub配置文件,找到 GRUB_CMDLINE_LINUX 參數(shù)并在行尾附加fsck.mode=force fsck.repair=yes。

[root@localhost ~]# cat /etc/default/grub 
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap fsck.mode=force fsck.repair=yes"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true

根據(jù)新參數(shù)重新生成 GRUB 菜單配置。

[root@localhost ~]# grub2-mkconfig

然后重啟系統(tǒng):

# reboot

總 結(jié)

到目前為止已經(jīng)成功掃描和修復(fù)XFS、Ext4文件系統(tǒng)了。

責(zé)任編輯:武曉燕 來源: Linux就該這么
相關(guān)推薦

2011-01-10 10:55:55

linux認(rèn)證

2020-11-14 11:27:00

LinuxLUNSCSI

2021-09-24 09:02:38

蘋果macOS掃描儀錯誤

2012-05-14 14:49:07

Windows 8

2014-07-28 09:22:46

Linux運維磁盤

2022-03-25 09:29:57

LinuxshellShellcheck

2016-12-27 09:59:46

GUILinux磁盤掃描工具

2022-11-07 12:52:25

Linuxfsck命令

2022-11-23 10:16:42

DebianUbuntu修復(fù)

2022-08-14 19:27:16

LinuxmacOS

2015-08-17 14:56:43

Linux問題

2019-03-04 14:40:46

Linux文件系統(tǒng)修復(fù)

2019-03-23 21:00:36

Windows 10Diskpart磁盤屬性

2020-09-30 21:23:02

UbuntuLinux

2024-10-16 08:23:15

大型語言模型LLM機(jī)器學(xué)習(xí)

2022-11-21 10:56:14

UbuntuLinux

2018-03-05 19:20:49

LinuxWordPressHTTP

2023-11-27 09:40:58

Arch Linux

2020-03-09 10:10:18

容器漏洞

2019-08-19 14:51:56

Linux 系統(tǒng) 數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號