回覆 60# hkils2001
8片正反16面, 16頭, 原本以為是壞臂頭, 要入firmware搞
後來發現, 讀寫頭無壞, 只係第六塊盤片最外圈的兩層track 0, track 1變質 (兩隻都係, 應該係QC問題, WD官網寫明這型號盤片品級係差一級, 又係羊毛出在羊身上的道理), 算是不幸中的大幸
避壞區易唔易, 視乎什魔方法 :
A.如果是OS層面去避, 粗略方法用Windows 或 Linux
以NTFS為例, 把所有壞區LBA填入$BadClus檔案即可, Windows自然會避, (千奇唔好用內建的chkdisk.exe咁on居, 否則掃到2027年都未掃完)
但問題係LBA對應Windows cluster address (little-endian), 要自己手動批量offset換算後填入(搵hex editor, 我無正式用過, 但有見有幾個官網screen cap)
同埋Microsoft有時好衰, 會前置加入12MByte, 你就要往後順延
另外, 大部份碟型號出廠是512 emulate byte sector LBA模仿4K native, 一般Window Linux, default block size是4096 byte (當然你format NTFS時可以揀回512 byte), 所以計算時又再麻煩d (除以8)
想簡單的話, NTFS選回512 byte block size, 但peformance慢20%左右
(因為512e的讀寫處理, firmware是把整塊physical 4k 讀進cache, 修改其中1/8後, 再整塊4k寫回碟面, 這個模仿過程會比native多了中間的一兩個臨時存取steps)
B.當然, 再簡單d就分partition去避, 但這方法有很幾個嚴重問題 (我暫時用這個)
1.粗略割會很浪費, 不夠精準
2.如果是壞了一整層的臂(讀寫頭), 是不能用分partition的方法, 因為大部份廠商的LBA在physical conversion的編序結構是:
LBA1 = 片面1, 外圈track 1, sector 1
LBA2 = 片面1, 外圈track 1, sector 2
LBA3 = 片面2, 外圈track 1, sector 1
LBA4 = 片面2, 外圈track 1, sector 2
LBA5 = 片面3, 外圈track 1, sector 1
這裡有奧妙之處.....假如整個第二層的臂爛了或好像我的個案 : 第六層外圈爛了, 會出現一個什魔樣的pattern? 就是每相隔~30GB, 就會出現連續1GB的bad sector, 極工整有規律
如果你用分partitions的話, 一隻14TB的碟, 你愷不是要割千幾個partitions出來?怎能用?
廠商要這樣編序結構是很合理, 因為效能快
舉例, 一個16GB file寫進去時, 16面, 每面存放1GB碎片在同一條cyclinder track, 涉級的LBA會平均座落在每面同一位置, 這樣整個檔案就確保平均速率, 很合乎應用環境
但我這個個案是可以, 因為我只腐爛左兩條tracks, 要砍都只需砍600GB partition就夠晒數, 因為track 3往後向內圈方向那些面積無爛。唔使用方法A去計來計去, 計到頭都大
題外話: 一般人常以為個頭刮爛d tracks
其實, 這句話發生機率相對其他情況不高
盤片基材主結構是底料(玻璃或鋁合金) + 磁粉粒, 可以被磁化極化 + 然後上方鍍保護膜, 油一層, 保護粉粒。 7200rpm下, 磁頭撞刮下去時, 首先死的, 一定係磁頭, 因為極脆弱, 相對說, 保護膜無咁易
大部份的bad sectors情況只是自發性在外圈一兩條, 如果是磁頭刮爛的話, 整片都報廢, 而不是只有一圈兩圈。
你若在youtube見到, 刮了一條痕時, 其實個頭已經爛晒, 整片都已經讀不到, 不單單只座落在是那條痕
而外圈最易變質出事是因為工藝技術, 品控水平, 成受離心力亦最大
同埋外圈是LBA排序早, 因為速度快, 若用來install OS, 使用率亦是最頻密
C.入firmware 搞 mapping, 一勞永日, 以後換Windows, 換Linux唔使每次format時都要再搞OS個mapping咁麻煩。但我隻碟無開放firmwar API, 無得用這個方法
D.愚公移山的方法, 不停掃bad sector, trigger firmware進行C5轉05的re-allocation
但這個方法很費時, 亦有很多困難及技巧, 若要寫亦要長篇大論。 懶, 唔太想寫~~~
一般情況 (例如我這種大面積)我都唔會用這個下策(雖然我有行過幾日, 但目的唔係為左reallocate bad sector 只係想spot bad sector給方法A去用), 工具就是那些常用的Victoria, DiskGenius之類
事實上, Victoria這裡有個後續的冒險方法, 但我不太敢用, 因為firmware型號差異, 而且我BIOS enable了TPM, 第一步已經Freeze Lock, 又要disable, 所以無謂搞, 600GB濕濕碎, 已經賺好多, 豪少少, 懶一下
Victoria有太多功能是specify給特定型號firmware的API, 其他碟是不生效(特別是WD的碟), 例如那個remap的制
https://www.mydigit.cn/thread-494738-1-1.html
呢兩隻碟, 我斬完600GB partitions後, 基本上可以穩跑Synology
因為DSM v7.2.x的layout是 8GB + 2GB SWAP + 往後的BTRFS(從這裡分界) |