壞扇區或壞塊是機械硬盤驅動器的損壞部分,根本無法用于數據存儲。然而,操作系統仍然可以寫入這些扇區,除非你特別標記為”bad”或無法使用。此外,如果你有數據存儲在這些區域的硬盤驅動器,數據恢復是非常困難的。
雖然,最新的服務器存儲技術,如SSD等幾乎消除了這個問題。但是,如今仍有大量的硬盤驅動器在使用,這些硬盤驅動器已經老化,可能會慢慢開始有壞扇區。
因此,如果你覺得系統速度變慢,或者,磁盤IO增加,就應該定期掃描硬盤(尤其是老化的硬盤)是否有壞扇區。在Linux(Ubuntu、Fedora和其他發行版)中,您可以通過以下終端命令輕松地進行掃描。
如何在Linux中管理磁盤壞道
如果磁盤未安裝操作系統,則最好在命令下運行。因此,我建議您使用USB記憶棒從LIVE操作系統啟動嘗試此操作。您可以使用本指南在您選擇的任何Linux操作系統上創建LIVE USB(推薦:Ubuntu)。
但是,您仍然可以在已安裝的Linux發行版中運行這些命令,但不應掃描或標記已安裝的“/”根文件系統。
1、掃描壞道
第一步,確定要掃描壞扇區的磁盤分區。如果已安裝GParted,則很容易找到。否則,您可以運行以下命令(lsblk-列出塊設備)以查看磁盤分區。
sudo lsblk -o name,mountpoint,label,size,uuid
如果通過LIVE USB運行上述命令,請確??梢宰R別硬盤和USB記憶棒。通常,HDD應該定義為/dev/sda。
然后,您可以badblocks使用詳細(-v)開關運行以下命令。并將輸出保存到文本文件中以供進一步研究。這僅是硬盤中是否有壞扇區的驗證。
sudo badblocks -v /dev/sda1 > ~/bad_sectors.txt
2、修復壞扇區域
對于ext2,ext3和ext4文件系統,可以使用e2fsck實用程序來檢查和修復壞扇區。在終端中以管理員權限運行以下命令以進行檢查和修復。
sudo e2fsck -cfpv /dev/sda1
確保替換sda1為正確的設備標識符。參數“ c”搜索壞塊并將其添加到列表中,“ f”對文件系統進行檢查。如果可能,“ p”參數將修復任何內容,“ v”是詳細模式,可為您提供命令進度的終端輸出。
您也可以指定bad_sectors.txt在先前步驟中創建的文件,也可以e2fsck僅通過以下命令來強制修復文件中的文件。
sudo e2fsck -l bad_sectors.txt /dev/sda1
對于其他文件系統(例如FAT32),可以使用 fsck。
sudo fsck -l bad_sectors.txt /dev/sda1
但是,根據磁盤分區的大小和磁盤的運行狀況,上述命令的執行可能需要幾個小時才能運行。因此,在啟動命令之前請做好準備。嘗試在執行過程中不要通過CTRL + C或CTRL + Z終止命令。
我希望本教程可以幫助您識別硬盤驅動器中的問題并將其標記為嚴重問題,以防止進一步的數據丟失。請記住,即使您將扇區標記為“bad”,磁盤仍然已經受到物理損壞。只是將這些軌道標記為不好以告訴操作系統不要訪問,這只是一個軟件修復。如果您的硬盤開始出現壞扇區,從長遠來看,它將變得更糟。因此,建議您開始備份數據,并用新的硬盤替換硬盤或使用最新的SSD硬盤。