Ero sivun ”Ddrescue” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(ensimmäinen versio ddrescueasta)
 
p (<syntaxhighlight>)
 
(11 välissä olevaa versiota 5 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
Ddrescuella voi kopioida ja yrittää pelastaa rikkinäistä kiintolevyä tai naarmuista CD-levyä.
{{Ohjelma
| nimi=Ddrescue
| kuva=
| kuvateksti=
| lisenssi=[[GPL]]v3+
| käyttöliittymä=teksti
| kotisivu=[https://gnu.org/software/ddrescue/ gnu.org/software/ddrescue]
}}


Ubuntussa ddrescue tulee paketissa gddresuce.
'''Ddrescue''' on ohjelma, jolla voi kopioida ja yrittää pelastaa rikkinäisiä kiintolevyjä tai naarmuisia CD-levyjä.


==Asennus==
{{Asenna|Ddrescue|ddrescue}}


'''Käyttö:'''
==Käyttö==
Oletetaan, että rikkinäinen levy (kiintolevy tai CD-levy) on /dev/sr0
Oletetaan, että rikkinäinen levy (kiintolevy, CD-levy, DVD-levy jne) on /dev/sr0


Lyhyesti:
Lyhyesti:
Ajetaan kolme komentoa peräkkäin (joissa jokaisessa voi mennä tunteja)
Ajetaan kolme komentoa peräkkäin (joissa jokaisessa voi mennä tunteja)
<source lang="bash">
ddrescue --no-split  /dev/sr0 imagefile logfile
ddrescue --direct --max-retries=3 /dev/sr0 imagefile logfile
ddrescue --direct --retrim --max-retries=3 /dev/sr0 imagefile logfile
</source>


Vanha tapa, ainakin versioon 1.17 asti (eli noin vuoteen 2015)
ddrescue --no-split  /dev/sr0 imagefile logfile
ddrescue --direct --max-retries=3 /dev/sr0 imagefile logfile           
ddrescue --direct --retrim --max-retries=3 /dev/sr0 imagefile logfile


imagefile on tiedosto johon levykopiota tehdään, ja se voi sisältää myös polun. Luonnollisesti sille täytyy olla riittävästi tilaa. Huomaathan myös, että esim FAT32-levylle ei voi tehdä yli 4G:n tiedostoja. logfile tiedostoon kirjoitetaan kaikki rikkinäiset eli yli hypätyt kohdat. ddrescuen voi huolettaa käynnistää useita kertoja peräkkäin samalla imagefilellä ja logfilellä, se ei tuhoa kerran onnistunutta kopiointia, vaan aina yrittää pelkästään logfilessä olevia rikkinäisiä kohtia. Jos samasta levystä sattuu olemaan toinen rikkinäinen versio (identtinen), sitä voi käyttää samaan imagefileen ja logfileen, jolloin jos virheet ovat eri kohdissa lopputuloksessa ei ole virheitä ollenkaan.
Ja uusi tapa (ainakin versiosta 1.19):
ddrescue --no-split  /dev/sr0 imagefile logfile
ddrescue --direct --retry-passes=3 /dev/sr0 imagefile logfile
ddrescue --direct --retrim --retry-passes=3 /dev/sr0 imagefile logfile  


 
Levykuva eli <tt>imagefile</tt> on tiedosto johon levykopiota tehdään, ja se voi sisältää myös polun. Luonnollisesti sille täytyy olla riittävästi tilaa. Huomaathan myös, että esim FAT32-levylle ei voi tehdä yli 4G:n tiedostoja. Lokitiedostoon eli <tt>logfile</tt> kirjoitetaan kaikki rikkinäiset eli yli hypätyt kohdat. Ddrescuen voi huolettaa käynnistää useita kertoja peräkkäin samalla levykuvalla ja lokitiedostolla, se ei tuhoa kerran onnistunutta kopiointia, vaan aina yrittää pelkästään lokitiedostossa olevia rikkinäisiä kohtia. Jos samasta levystä sattuu olemaan toinen rikkinäinen versio (identtinen), sitä voi käyttää samaan levykuvaan ja lokitiedostoon jolloin jos virheet ovat eri kohdissa lopputuloksessa ei ole virheitä ollenkaan.
----


Ensimmäinen komento kopioi ensin kaiken ehjän ja hyppää rikkinäisten yli. Kopioinnin aikana näkyy tilastoa onnistuneen kopioinnin määrästä, virheiden määrästä ja kuinka paljon dataa on jäänyt kopioimatta virheiden takia.
Ensimmäinen komento kopioi ensin kaiken ehjän ja hyppää rikkinäisten yli. Kopioinnin aikana näkyy tilastoa onnistuneen kopioinnin määrästä, virheiden määrästä ja kuinka paljon dataa on jäänyt kopioimatta virheiden takia.


Esimerkkinäkymä:
Esimerkkinäkymä:
<source lang="bash">
<syntaxhighlight lang="bash">
Press Ctrl-C to interrupt
Press Ctrl-C to interrupt
Initial status (read from logfile)
Initial status (read from logfile)
Rivi 32: Rivi 42:
   ipos:    2117 MB,  errors:    157,    average rate:    1963 kB/s
   ipos:    2117 MB,  errors:    157,    average rate:    1963 kB/s
   opos:    2117 MB,    time from last successful read:      0 s
   opos:    2117 MB,    time from last successful read:      0 s
</syntaxhighlight>


 
Initial status tarkoittaa alkutilannetta, jos lokitiedostossa olisi jo ollut jotakin, siitä oltaisiin jatkettu suoraan.
</source>
Initial status tarkoittaa alkutilannetta, jos logfilessä olisi jo ollut jotakin, siitä oltaisiin jatkettu suoraan.
Current statuksesta näkyy, että levyä on luettu 2117MB (ipos/opos), josta on onnistuttu saamaan talteen 2005MB ja 112MB on jäänyt kopioimatta 157 virheen takia.
Current statuksesta näkyy, että levyä on luettu 2117MB (ipos/opos), josta on onnistuttu saamaan talteen 2005MB ja 112MB on jäänyt kopioimatta 157 virheen takia.


Lopuksi suoritetaan vielä "Trimming failed blocks...", jolloin ipos/opos kulkee lopusta alkuun ja rikkinäisten sektorien ehjiä kohtia luetaan. Virheiden määrä ei muutu, mutta errsize voi laskea.
Lopuksi suoritetaan vielä "Trimming failed blocks...", jolloin ipos/opos kulkee lopusta alkuun ja rikkinäisten sektorien ehjiä kohtia luetaan. Virheiden määrä ei muutu, mutta errsize voi laskea.
<source lang="bash">
 
<syntaxhighlight lang="bash">
Press Ctrl-C to interrupt
Press Ctrl-C to interrupt
Initial status (read from logfile)
Initial status (read from logfile)
Rivi 47: Rivi 57:
   ipos:  497380 kB,  errors:    157,    average rate:    1352 kB/s
   ipos:  497380 kB,  errors:    157,    average rate:    1352 kB/s
   opos:  497380 kB,    time from last successful read:      0 s
   opos:  497380 kB,    time from last successful read:      0 s
Trimming failed blocks...  
Trimming failed blocks...
 
</syntaxhighlight>
</source>
 
----


Toinen komento lukee virheellisiä kohtia uudelleen, yrittäen jokaista kohtaa kolmesti (direct tarkoittaa, että ei käytä välimuistiin mennyttä, vaan ihan oikeasti lukee levyn pintaa). Tässä ei ole vipua 'no-split', eli on mahdollista, että virheiden määrä kasvaa, mutta pelastetun tiedon määrä kasvaa.
Toinen komento lukee virheellisiä kohtia uudelleen, yrittäen jokaista kohtaa kolmesti (direct tarkoittaa, että ei käytä välimuistiin mennyttä, vaan ihan oikeasti lukee levyn pintaa). Tässä ei ole vipua 'no-split', eli on mahdollista, että virheiden määrä kasvaa, mutta pelastetun tiedon määrä kasvaa.
Tämä vaihe voi mennä nopeasti ohi, eikä saa korjattua mitään.
Tämä vaihe voi mennä nopeasti ohi, eikä saa korjattua mitään.
----


Kolmas komento yrittää vielä kerran jokaista virheellistä kohtaa 'retrim'min kanssa.
Kolmas komento yrittää vielä kerran jokaista virheellistä kohtaa 'retrim'min kanssa.
Rivi 62: Rivi 67:




Seuraavaksi levykuvasta riippuen sille voi suorittaa tarkistuksen:
$ e2fsck -v -f imagefile


----
----
Seuraavaksi imagefilestä riippuen sille voi suorittaa tarkistuksen:
<source lang="bash">
e2fsck -v -f imagefile
</source>
tai DVD-levyn voi mountata:
tai DVD-levyn voi mountata:
<source lang="bash">
 
mkdir mounted
$ mkdir mounted
mount imagefile mounted -o loop
$ mount imagefile mounted -o loop
</source>
 
käynnistää DVD-levyn soittamisen
käynnistää DVD-levyn soittamisen
<source lang="bash">
 
vlc imagefile
$ vlc imagefile
</source>
 
Polttaa CD-levykuvan tyhjälle CD:lle...
Polttaa CD-levykuvan tyhjälle CD:lle...


Riippuen virheiden määrästä ja koosta jotkut tiedostot voivat toimia, toimia huonosti tai olla toimimatta.


Riippuen virheiden määrästä ja koosta jotkut tiedostot voivat toimia, toimia huonosti tai olla toimimatta.
==Katso myös==
* [[Palautustyökalut]]
 
{{Varmuuskopiointi}}
[[Luokka:Palautustyökalut]]

Nykyinen versio 18. helmikuuta 2022 kello 09.34

Ddrescue
Käyttöliittymä teksti
Lisenssi GPLv3+
Kotisivu gnu.org/software/ddrescue

Ddrescue on ohjelma, jolla voi kopioida ja yrittää pelastaa rikkinäisiä kiintolevyjä tai naarmuisia CD-levyjä.

Asennus[muokkaa]

Ddrescue löytyy useimpien jakeluiden paketinhallinnasta nimellä ddrescue. Lisätietoja ohjelmien asentamisesta löytyy artikkelista Ohjelmien asentaminen.

Käyttö[muokkaa]

Oletetaan, että rikkinäinen levy (kiintolevy, CD-levy, DVD-levy jne) on /dev/sr0

Lyhyesti: Ajetaan kolme komentoa peräkkäin (joissa jokaisessa voi mennä tunteja)

Vanha tapa, ainakin versioon 1.17 asti (eli noin vuoteen 2015)

ddrescue --no-split  /dev/sr0 imagefile logfile
ddrescue --direct --max-retries=3 /dev/sr0 imagefile logfile            
ddrescue --direct --retrim --max-retries=3 /dev/sr0 imagefile logfile 

Ja uusi tapa (ainakin versiosta 1.19):

ddrescue --no-split  /dev/sr0 imagefile logfile
ddrescue --direct --retry-passes=3 /dev/sr0 imagefile logfile 
ddrescue --direct --retrim --retry-passes=3 /dev/sr0 imagefile logfile 

Levykuva eli imagefile on tiedosto johon levykopiota tehdään, ja se voi sisältää myös polun. Luonnollisesti sille täytyy olla riittävästi tilaa. Huomaathan myös, että esim FAT32-levylle ei voi tehdä yli 4G:n tiedostoja. Lokitiedostoon eli logfile kirjoitetaan kaikki rikkinäiset eli yli hypätyt kohdat. Ddrescuen voi huolettaa käynnistää useita kertoja peräkkäin samalla levykuvalla ja lokitiedostolla, se ei tuhoa kerran onnistunutta kopiointia, vaan aina yrittää pelkästään lokitiedostossa olevia rikkinäisiä kohtia. Jos samasta levystä sattuu olemaan toinen rikkinäinen versio (identtinen), sitä voi käyttää samaan levykuvaan ja lokitiedostoon jolloin jos virheet ovat eri kohdissa lopputuloksessa ei ole virheitä ollenkaan.

Ensimmäinen komento kopioi ensin kaiken ehjän ja hyppää rikkinäisten yli. Kopioinnin aikana näkyy tilastoa onnistuneen kopioinnin määrästä, virheiden määrästä ja kuinka paljon dataa on jäänyt kopioimatta virheiden takia.

Esimerkkinäkymä:

Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued:         0 B,  errsize:       0 B,  errors:       0
Current status
rescued:     2005 MB,  errsize:    112 MB,  current rate:    2883 kB/s
   ipos:     2117 MB,   errors:     157,    average rate:    1963 kB/s
   opos:     2117 MB,     time from last successful read:       0 s

Initial status tarkoittaa alkutilannetta, jos lokitiedostossa olisi jo ollut jotakin, siitä oltaisiin jatkettu suoraan. Current statuksesta näkyy, että levyä on luettu 2117MB (ipos/opos), josta on onnistuttu saamaan talteen 2005MB ja 112MB on jäänyt kopioimatta 157 virheen takia.

Lopuksi suoritetaan vielä "Trimming failed blocks...", jolloin ipos/opos kulkee lopusta alkuun ja rikkinäisten sektorien ehjiä kohtia luetaan. Virheiden määrä ei muutu, mutta errsize voi laskea.

Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued:         0 B,  errsize:       0 B,  errors:       0
Current status
rescued:     3344 MB,  errsize:  94177 kB,  current rate:    16384 B/s
   ipos:   497380 kB,   errors:     157,    average rate:    1352 kB/s
   opos:   497380 kB,     time from last successful read:       0 s
Trimming failed blocks...

Toinen komento lukee virheellisiä kohtia uudelleen, yrittäen jokaista kohtaa kolmesti (direct tarkoittaa, että ei käytä välimuistiin mennyttä, vaan ihan oikeasti lukee levyn pintaa). Tässä ei ole vipua 'no-split', eli on mahdollista, että virheiden määrä kasvaa, mutta pelastetun tiedon määrä kasvaa. Tämä vaihe voi mennä nopeasti ohi, eikä saa korjattua mitään.

Kolmas komento yrittää vielä kerran jokaista virheellistä kohtaa 'retrim'min kanssa. Tämä vaihe voi mennä nopeasti ohi, eikä saa korjattua mitään.


Seuraavaksi levykuvasta riippuen sille voi suorittaa tarkistuksen:

$ e2fsck -v -f imagefile

tai DVD-levyn voi mountata:

$ mkdir mounted
$ mount imagefile mounted -o loop

käynnistää DVD-levyn soittamisen

$ vlc imagefile

Polttaa CD-levykuvan tyhjälle CD:lle...

Riippuen virheiden määrästä ja koosta jotkut tiedostot voivat toimia, toimia huonosti tai olla toimimatta.

Katso myös[muokkaa]

v  k  m
Varmuuskopiointi ja palautustyökalut
 Varmuuskopiointi  Back in Time | backup2l | backuppc | Bacula | Déjá Dup | dirvish | duplicity | dvdisaster | Flyback | Keep | luckyBackup | Mondo Rescue | Partimage | Pybackpack | rdiff-backup | rsnapshot | Sbackup | SystemRescue | Unison
 Palautustyökalut  Clonezilla | Ddrescue | PhotoRec