我嘗試重新分配壞扇區。讀完這篇文章後問題我的理解是,硬碟嘗試自動重新分配。為了觸發該過程,我嘗試使用 dd 寫入該扇區,但沒有任何變化。
$ smartctl -a /dev/sda
...
5 Reallocated_Sector_Ct ... 0
197 Current_Pending_Sector ... 1
...
壞扇區為:215040
$ dd if=/dev/sda of=/dev/null bs=512 count=1 skip=215040
io-error on reading
為什麼我寫入磁區時沒有分配該磁區?
$ dd if=/dev/zero of=/dev/sda bs=512 count=1 seek=215040
io-error on writing
如何才能使該磁區被重寫?
答案1
嘗試使用以下命令進行低階寫入hdparm
:
sudo hdparm --yes-i-know-what-i-am-doing --write-sector 215040 /dev/sda
... 其中215040
是您要覆蓋(並且可能重新映射)的扇區號,/dev/sda
是您要寫入的裝置。
來自hdparm
手冊頁:
--write-sector
將零寫入指定的磁區號。非常危險。必須在此標誌後面給出扇區號(以 10 為基數)。 hdparm 將向指定磁區發出低階寫入(完全繞過通常的區塊層讀取/寫入機制)。這可用於強制驅動器修復壞扇區(媒體錯誤)。