Per verificare l'integrità e ripristinare la forza magnetica dei dati memorizzati sui dischi che uso per archiviare i dati (destinati a durare 30 anni o più), voglio leggere e riscrivere ogni blocco di dati sull'unità ogni anno o due . Alcuni sono HFS + e alcuni sono NFTS. Questa risposta suggerisce un'utilità che lo farà quando viene eseguito da una macchina Windows, ma non ho una macchina Windows a portata di mano, e anche se l'avessi fatto, non penso che l'utility di Windows funzionerà con i dischi HFS +.
Voglio essere sicuro di aggiornare importanti dati "nascosti" come la mappa delle partizioni stessa, quindi sto cercando una procedura che possa essere eseguita su un Mac che tratti semplicemente il disco come memoria di blocchi grezzi e che sia appena letto e ri -scrive ogni blocco sul disco, ma allo stesso tempo fornisce informazioni sufficienti per chiamare quali file sono danneggiati se incontra un errore di lettura o di scrittura. (Dato che ho 2 copie di archivio di tutto, spero di poter recuperare un file non valido su un archivio con un buon file dall'altro archivio.)
Posso pensare a un sacco di modi per leggere tutti i dati sul disco se riesco a far sì che il Mac li monti come un'unità raw, ma non è un modo soddisfacente per scrivere i dati nello stesso blocco o per identificare quale file è un cattivo blocco appartiene a.
Una soluzione che riscrive i dati sarebbe comunque utile anche se non può segnalare quale file è corrotto se viene trovato un blocco errato. Se sei a conoscenza di una soluzione che funziona solo su Linux o Windows, mi piacerebbe sentirla a patto che possa gestire sia le unità HFS + che NTFS. Inoltre, se si è a conoscenza di un programma di utilità in grado di determinare a quale file fa parte un blocco errato, dato un ID blocco raw, sarebbe utile anche la metà di una soluzione in due parti.
badblocks
non è presente sul mio Mac. Hai un riferimento per sostenere la tua affermazione secondo cui "le unità riscriveranno ogni settore il cui campo magnetico è andato al di sotto di una certa soglia predefinita"? Come posso confermare che le mie unità effettivamente lo fanno?