CD levyjen kanssa kokee monenlaista. Toiset levyt toimivat hienosti, sisältöä pääsi selaamaan ja lukemaan. Joitain pääsi selaamaan ja dataa lukemaan, mutta jonkin aikaa luettua tuleen jonkin tiedoston kohdalla virhe ja lukeminen tyssää siihen. -Tiedosto menetetty? Toiset CD-levyt ei taasen edes kiinnity levyjärjestelmään koska niiden tiedostojärjestelmän tunnisteet ovat vioittuneet.
Disketit on taasen hieman hankalempi tapaus. Ne ovat alttiimipia ulkoisille häiriöille verrattuna CD-levyihin. Toisekseen; Nämähän ovat pääsääntöisesti todella vanhoja. Ensimmäinen disketti jonka otin tutkailtavaksi käynyt koneen sisällä arviolta 5-8 vuotta sitten. Tästä ei saanut sitten mitään irti... Ei kiinni levyjärjestelmään, ei mitään. Heitin ensi-istumalta kaikki mahdolliset loitsut mitä keksin ja sain disketiltä vaivaiset 22% pelastettua.
Kummastusta tosin aiheutti kun tämän pettymyksen jälkeen satuin ajamaan badblocks komennon uudelleen ja huomasin näiden vähentyneen... Ja seuraavalla ajokerralla oli ainoastaan yksi vioittunut blokki. Voisiko tämä johtua pölystä levykeasemassa, pölystä levykkeellä tai jostain muusta? Lopulta sain kaiken datan kuitenkin ulos.
Mutta asiaan!
Työkaluja joita tarvitaan on jo edellä mainittu badblocks, jolla saadaan selville kuinka moni blokki levyltä on siinä kunnossa ettei voida lukea. Tämä on osa Linux perustyökaluja. Diskettien kanssa tämä osottautui korvaamattomaksi mittariksi siitä mikä on levykkeen tila.

Toinen korvaamaton työkalu tällaisten vanhojen medioiden (tai esimerkiksi vioittuneiden kovalevyjen) lukemiseen on ddrescue. Tällä työkalulla saa luettua suoraan laitteesta (levykeasema, CD-/DVD-asema, kovalevy) koko levyn pinnan yhteen tiedostoon. Jos lukemisessa tulee virheitä niin työkalu koittaa korjata niitä parhaansa mukaan uudelleen lukemalla. Jos mikään ei auta niin ongelma lopulta vain ohitetaan ja lukeminen etenee edelleen. Muut työkalut usein luovuttaa tässä vaiheessa ja loput tiedot jää lukematta. Näin menetelleen saa siis talteen mahdollisimman paljon levyn sisällöstä jälkikäsittelyä varten.

Jos tietoa ei ole menetetty liikoaa niin tiedostoon tallennetun levyjärjestelmän pystyy liittämään osaksi paikallista levyjärjestelmää ja tiedot saa helposti kopioitua talteen. Esimerkki sekvenssi komennoista voisi siis olla jotain seuraavaa:
badblocks -v /dev/fd0
...
dd_rescue /dev/fd0 levy.img
...
mount -t vfat ./levy.img /mnt -o loop,ro
...
jonka jälkeen /mnt hakemisto edustaa levykkeen levyjärjestelmää. Kopioi tiedot talteen ja homma hoidettu.
Jos onni ei myötäinen, on levyjärjestelmän tunnistetiedot saattaneet tuhoutua. Tällöin levyä ei saada näkyviin tiedostojärjestelmään ja homma mutkistuu. Ainoaksi vaihtoehdoksi jää hieman opportunistisemmat menetelmät joilla koitetaan etsiä levyn pintaa edustavasta tiedostosta tavusekvenssejä jotka vihjaavat niiden liittyvän johonkin tiedostoon. Tähän sopiva työkalu on foremost. Tämä työkalu etsii levyltä tuttuja tiedostorakenteita ja koittaa rakentaa niistä kokonaisia tiedostoja.

Erään CD-levyn tapauksessa (ei yllä olevassa kuvassa) näin k3b-työkalulla, että CD-levy oli datalevy sisältäen tiedostoja. Tämä oli kuitenkin vaurioitunut niin, että CD:tä (tai sen pinnasta tehtyä tiedostoa) ei saatu liitettyä levyjärjestelmään. Käyttämällä foremost:a sain kuitenkin eroteltua levyltä työkalun tuntemat tiedostot. Esimerkiksi kaikki kuvatiedostot palautui täydellisesti. Muidenkin tiedostojen osalta sain sen verran selvää ettei siellä ollut mitään muuta mikä olisi ollut kovikaan merkittävää... Mutta kaikenkaikkaan kunnioitettava temppu.