
我有一個 500Gb 內部 HDD,從 dmesg 的輸出中我得到了這個「精彩」訊息:
[ 324.434832] end_request: I/O error, dev sde, sector 4715026720
[ 324.434838] Buffer I/O error on device sde1, logical block 589378084
[ 324.434854] Buffer I/O error on device sde1, logical block 589378085
[ 324.434858] Buffer I/O error on device sde1, logical block 589378086
[ 324.434862] Buffer I/O error on device sde1, logical block 589378087
[ 324.434866] Buffer I/O error on device sde1, logical block 589378088
[ 324.434870] Buffer I/O error on device sde1, logical block 589378089
[ 324.434873] Buffer I/O error on device sde1, logical block 589378090
[ 324.434877] Buffer I/O error on device sde1, logical block 589378091
[ 324.434881] Buffer I/O error on device sde1, logical block 589378092
[ 324.434884] Buffer I/O error on device sde1, logical block 589378093
我想知道是否有任何方法可以從硬碟中“消除”該區域(例如覆蓋它,或阻止對其的訪問)並重新格式化它,這樣當我使用驅動器的重命名部分時,它只會寫入好的扇區。
我僅使用此驅動器進行存儲,即使將來完全失敗也沒關係。
答案1
您需要的命令稱為壞塊。
去檢查:
sudo badblocks -v /dev/sde1
- 這只是為了查看它們,執行起來無害。
用於sudo dumpe2fs
找出區塊大小。可能是“4096”
並標記它們:
sudo badblocks -c 4096 /dev/sde1 > /home/$USER/badblocks.txt
sudo fsck -l /home/$USER/badblocks.txt /dev/sde1
- 第一個指令建立一個包含 bablocks 的文字檔。無害。將“4096”更改為您找到的內容。
- 第二個指令使用“fsck”來標記區塊。