linux修復(fù)磁盤壞道(本教程完全來自實(shí)例、實(shí)測(cè),具體參數(shù)請(qǐng)根據(jù)個(gè)人情況修改2021.4.12)

linux下其實(shí)修復(fù)磁盤的工具更多,很多甚至集成在系統(tǒng)里,方便調(diào)用。

1、嘗試fsck修復(fù)磁盤,這個(gè)命令其實(shí)集成度好的系統(tǒng)開機(jī)會(huì)自動(dòng)運(yùn)行,比如slackware,debian等,方法如下:

fdisk -l

查詢需要修復(fù)的磁盤盤符

fsck -a /dev/sdc1?

進(jìn)行修復(fù)

2、我說了fsck這個(gè)命令其實(shí)集成在了很多l(xiāng)inux的啟動(dòng)初始化程序中,沒過去的情況也有,說明磁盤損傷嚴(yán)重,這個(gè)時(shí)候要嘗試手動(dòng)屏蔽壞道。注意不論損傷有多嚴(yán)重,修復(fù)壞道,僅限于邏輯壞道,原理就是跳過錯(cuò)誤屏蔽錯(cuò)誤。物理壞道是磁盤產(chǎn)生了機(jī)械損傷,那個(gè)是不可逆,不可屏蔽的,只能更換硬盤。

badblocks -v /dev/sdf1 >bads.txt

將壞道信息輸入到緩存bads.txt,然后使用fsck有針對(duì)性的修復(fù):

fsck -l bads.txt /dev/sdf1

如果是ext3/ext4的文件卷,linux有專門的命令e2fsck

sudo e2fsck -l bads.txt /dev/sdf1

3、使用samrtctl修復(fù),這個(gè)方法對(duì)帶有 S.M.A.R.T(自我監(jiān)控分析報(bào)告技術(shù)(Self-Monitoring, Analysis and Reporting Technology))系統(tǒng)的現(xiàn)代磁盤(ATA/SATA 和 SCSI/SAS 硬盤以及固態(tài)硬盤)更加的可靠和高效。筆者的硬盤是sata移動(dòng)硬盤,很適合這種一件操作。

apt-get install smartmontools

沒有的需要裝一下,一般的linux主流系統(tǒng)都集成了

smartctl -H /dev/sdf1

修復(fù),注意參數(shù)是大寫的H


運(yùn)行完輸出如下:

smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.10.0-kali6-amd64] (local build)

Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===

SMART Health Satus ok

4.邏輯壞道的修復(fù),屏蔽,跳出及數(shù)據(jù)還原方法

邏輯壞道修復(fù)方式其實(shí)還是使用badblocks,下面舉例來說明。

下面是badblocks在/dev/sdf1分區(qū)檢查出的壞道列表:

cat bads.txt

----------------

6821532

6821533

6821534

6821535

6821536

6821537

6821538

6821539

-------------------


4.1先備份數(shù)據(jù)(可選)若修復(fù)的硬盤或分區(qū)的重要數(shù)據(jù)已備份,此部分可以省略

dd if=/dev/sdf1? skip=6821532 of=/tmp/6821539-6821532.dat count=8

這句命令是拷貝鏡像錯(cuò)誤分區(qū),并且跳過異常壞邏輯分區(qū),跳過的數(shù)是8,具體情況自行修改,僅僅是例子。

4.2硬盤在使用時(shí)不能修復(fù),否則可能存在寫并發(fā)的問題,所以卸載分區(qū)

umount /dev/sdf1

4.3umount 分區(qū)成功后,修復(fù)命令如下,其中-s表示給出進(jìn)度,-w表示寫入修復(fù)的,后面是結(jié)束(END)和開始(START)塊號(hào)

badblocks -s -w /dev/sdf1 6821539 6821532

注意!命令的使用方式是:::END在前,START在后?。?!


badblocks -s -v /dev/sdc1? 6821539 6821532

此句命令是檢查是否已修復(fù),實(shí)在不行的用極端暴力的格式化試試


dd if=/tmp/217874591-217874595.dat? of=/dev/sdf1

此句是恢復(fù)備份的錯(cuò)誤數(shù)據(jù)

4.4操作完畢,最后檢查一下壞道的修復(fù)情況

badblocks -s -v -o /root/bads2.txt /dev/sdf1

若沒有壞道說明修復(fù)已完成,若有壞道可以嘗試重復(fù)以上方法。完成后重新mount分區(qū),或者直接插拔移動(dòng)硬盤即可(我是怕了,有心里陰影,所以軟操作的,汗啊)。

mount /dev/sdf1 /mnt/usb1

5、萬幸壞道的數(shù)據(jù)不重要,重要的都備份出來了。

本教程完全來自實(shí)例、實(shí)測(cè),具體參數(shù)請(qǐng)根據(jù)個(gè)人情況修改2021.4.12

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過簡(jiǎn)信或評(píng)論聯(lián)系作者。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容