Drescue kullanarak Linux'taki Verileri Kurtarma

Drescue Kullanarak Linux Taki Verileri Kurtarma



Kurtarma, bir dosyadan veya sabit sürücü, SSD'ler, RAM diskler, CD'ler, DVD'ler ve USB depolama aygıtları gibi blok aygıtlardan verileri kurtarmak için kullanılan bir araçtır. Verileri bir blok cihazdan diğerine kopyalar, bozuk veri bloklarını bırakır ve yalnızca iyi olanları taşır. Kurtarma işlemi sırasında herhangi bir müdahale gerektirmediğinden kurtarma işlemi tamamen otomatik olan güçlü bir kurtarma aracıdır. Üstelik istenildiği zaman durdurulabilir ve devam ettirilebilir. kurtarma harita dosyası . Drescue'nun diğer temel özellikleri aşağıda listelenmiştir:
  • Kurtarılan verilerin üzerine yazmaz ancak yinelemeli kurtarma durumunda boşlukları doldurur. Ancak araca açıkça bunu yapması talimatı verilmişse kesilebilir.
  • Birden fazla dosya veya bloktan verileri tek bir dosyaya kurtarın.
  • SATA, ATA, SCSI, MFM sürücüleri, disketler ve SD kartlar gibi birden fazla cihaz arabirimi türünü destekler.

Bu kılavuzda bu inanılmaz derecede kullanışlı veri kurtarma aracını inceleyeceğim. Ayrıca kurulum sürecini ve bir blok cihazı veya bölümü kurtarmak için nasıl kullanılacağını da tartışacağım.

Not: Bu kılavuzdaki talimatlar için Linux dağıtımını (Ubuntu 22.04) kullanıyorum. Drescue yardımcı programının kurulum süreci farklılık gösterebilir ancak talimatlar tüm Linux dağıtımlarında aynı olacaktır.







Drescue'yu yükleme

Özellikle Linux'ta ddrescue'yu kurmak için ubuntu ve tatları veya Debian tabanlı dağıtımlar, şunu kullanın:



sudo uygun düzenlemek kurtarma

Bunu yüklemek için REHL , Fedora , Ve CentOS , ilk önce şunu etkinleştirin ILIK (Enterprise Linux için Ekstra Paketler).



sudo yum yükle sıcak salınım

Yukarıdaki komut ilgili dağıtımın daha yeni sürümleri içindir.





Ardından ddrescue'yu kurmak için aşağıdaki komutu yürütün:

sudo yum yükle kurtarma

Arch tabanlı Linux dağıtımları için Arch-Linux Ve Manjaro , ddrescue kurtarma yardımcı programını yüklemek için aşağıda verilen komutu kullanın.



sudo pacman -S kurtarma

Ubuntu 22.04 kullandığım için kurulum için APT paket yöneticisini kullanacağım.

Temelleri Anlamak

Verileri kurtarmak için kurtarma aracını kullanmadan önce, kurtarma sürecine yeni başlayan kullanıcıların Linux'un bazı adlandırma kurallarını anlamalarını öneririm.

Linux, blokları (aygıtları) dosya olarak tanır ve bunları /dev dizin. /dev dizinindeki dosyaları listelemek için şunu kullanın: ls /dev emretmek.

sabit sürücüler (depolama blokları) ile temsil edilir SD ardından alfabeler; birden fazla depolama aygıtı olması durumunda dosyalar /dev/sd olarak temsil edilecektir A, /dev/sd B, ve benzeri.

Depolama aygıtı varsa bölümler , daha sonra /dev/sda gibi ilgili sürücü dosyası adına sahip bir sayı ile temsil edileceklerdir. 1 , /dev/sda 2 , ve benzeri.

Sisteme bağlı tüm blokları ve diğer cihazları listelemek için liste bloğunu kullanın. lsblk emretmek:

lsblk

Drescue komutu tüm bloğu (MBR ve bölümleri içeren) veya bir bölümü de kurtarabilir. Öte yandan, belirli bir bölümden yalnızca belirli dosyaları kurtarmanız gerekiyorsa, bloğun tamamı yerine bölümü kurtarmak daha iyidir.

Önemli Hususlar

Drescue yardımcı programını kullanmadan önce bazı önemli noktaların dikkate alınması gerekir:

  • Monte edilmiş bir bloğu kurtarmaya çalışmayın; blok salt okunur modda bile olmamalıdır.
  • G/Ç hataları olan bir bloğu onarmaya çalışmayın.
  • Sistem, yeniden başlatma sırasında giriş ve çıkış cihazı adlarını değiştirebilir. Kopyalama işlemine başlamadan önce cihaz adlarının doğru olduğundan emin olun.
  • Çıkış cihazı olarak ayrı bir blok kullanıyorsanız cihazdaki tüm verilerin üzerine yazılacaktır.

Drescue'yu kullanma

Drescue yardımcı programını yükledikten ve adlandırma kurallarını anladıktan sonraki adım, arızalı diski tanımlamak ve ddrescue aracını kullanarak onu kurtarmaktır.

Bozuk Bloğun Kurtarılması

İlk örnek tüm bloğun kurtarılması sürecini kapsayacaktır. İlk önce, blokları kullanarak listeleyin. lsblk emretmek:

lsblk İSİM,BOYUT,FSTÜRÜ

flag, komutun hangi tür bilgileri (alanları) çıkaracağını belirtmek için kullanılır. bahsettiğim İSİM , BOYUT , Ve FS TİPİ veya dosya sistemi türü.

Artık kurtarılan görüntü dosyasının kaydedileceği hedef bloğu, bölümü ve konumu tanımlayabilirsiniz.

Dikkat edilmesi gereken bir diğer önemli husus, Linux'ta blok adının açılışta dinamik olarak atanması ve yeniden başlatmanın ardından blok adlarının değişebilmesidir. Bu nedenle blok adlarını not ederken dikkatli olun.

Şimdi bloğu kök dizinde bir günlük dosyasıyla birlikte bir görüntü dosyası olarak kurtarmak için aşağıdaki sözdizimini kullanın.

sudo kurtarma -D -rX / geliştirici / [ engellemek ] [ yol / isim ] .img [ günlük dosyası_adı ] .kayıt

Not: Yer değiştirmek [engellemek] , [yol/ad] görüntü dosyasının ve [günlükdosyası_adı] buna göre tercih edilen isimlerle.

Bu örnekte, kurtarıyorum /dev/sda görüntü dosyası adının bulunduğu kök dizinde Recovery.img . Kurtarma işlemini istediğiniz zaman sürdürmek istiyorsanız, harita dosyası olarak da bilinen günlük dosyası gereklidir.

sudo kurtarma -D -r2 / geliştirici / sda2 Recovery.img Recovery.log

Yukarıdaki komutta iki önemli bayrak kullanılmıştır.

D -dolaylı Araca, çekirdek önbelleğini yok sayarak doğrudan diske erişmesini söylemek için kullanılır
rX –yeniden deneme geçişleri Araca kötü sektörü X kez yeniden denemesini söylemek için kullanılır

Yukarıdaki komutu çalıştırdığınızda, dosya tarayıcısında adları taşıyan iki dosyanın göründüğünü göreceksiniz. Recovery.img Ve kurtarma.log .

İyileşme süresi giriş bloğunun boyutuna ve hasara bağlıdır. Büyük bir bloğu kurtarıyorsanız, bir günlük dosyası bulundurmanızı öneririm çünkü işlemin tamamlanması birkaç saat hatta gün sürebilir.

Yukarıdaki komutun çıktısı aşağıda verilmiştir:

Çıkış görüntüsünde, halka arz kopyalamanın başlatıldığı giriş dosyasının giriş konumudur ve ülserler verinin yazıldığı çıktı dosyasındaki çıktı konumudur.

denenmemiş bloğun boyutu denenmeyi beklememektedir. kurtarıldı başarıyla kurtarılan bloğun boyutunu gösterir. PCT kurtarıldı Verilerin başarılı bir şekilde kurtarıldığını yüzde olarak gösterir. Şartlar, kırpılmamış , hurdaya çıkarılmamış , kötü sektör , Ve kötü alanlar kendi kendini açıklayıcı niteliktedir. Ancak hataları okuma terim, başarısız okuma denemelerini sayılarla belirtir.

Çalışma süresi aracın işlemi tamamlamak için harcadığı süreyi gösterirken, kalan süre kurtarma işlemini tamamlamak için kalan süredir. Yukarıdaki çıktı kalan süreyi 0 göstermektedir çünkü işlem bitmiştir, aşağıdaki resimde bitmemiş bir işlemin çıktısını okuyunuz.

Bakalım log dosyasında neler var; oluşturulan günlük dosyasını açmak için şunu kullanın: vim kurtarma.log emretmek.

şu anki durum + olup işlemin bittiği anlamına gelir, mevcut_pos bloktaki konumdur.

Mevcut durumların bir listesi aşağıdaki tabloda verilmiştir:

? Kopyalanıyor
* Kırpma
/ Hurdaya çıkarma
Yeniden deneniyor
F Belirtilen blokların doldurulması
G Günlük dosyasının oluşturulması
+ Süreç bitti

Bunun altında, günlük dosyasında daha önce kurtarılan blokların aşağıda listelenen karakterler biçiminde durum göstergeleri bulunur:

? Blok denenmemiş
* Kırpılmamış başarısız blok
/ Hurdaya çıkarılmamış başarısız blok
Kötü sektör bloğu başarısız oldu
+ Bitmiş blok

Görüntü Dosyasını yeni bir Bloğa Geri Yükleme

Kurtarma işlemini tamamladığınızda ve görüntü dosyasına sahip olduğunuzda. Artık bozuk bir sürücüden yeni sürücüye taşınmasını isteyebilirsiniz. İmaj dosyasını yeni bir bloğa taşımak için öncelikle o bloğu sisteme bağlayın ve ardından blok adını kullanarak blok adını belirleyin. lsblk emretmek.

Öyle olduğunu varsayalım /dev/sdb görüntüyü yeni bir bloğa kopyalamak için aşağıdaki komutu kullanın.

sudo kurtarma -F Recovery.img / geliştirici / sdb logfile.log

-F flag, herhangi bir veri varsa yeni bloğun üzerine yazmak için kullanılır. Günlük dosyasının adının, daha önce saklanan günlük dosyasından ayrı tutulması için farklı olması gerektiğini unutmayın.

Yukarıdaki işlem aynı zamanda kullanılarak da yapılabilir. gg , dosyaları kopyalamak için kullanılan başka bir güçlü komut.

sudo gg eğer =recovery.img ile ilgili = / geliştirici / SDB

Geri yükleme yapmadan önce, yeni bloğun kurtarılan bloğun tamamını tutacak kadar büyük olması gerektiğini unutmayın; örneğin kurtarma bloğu 5 GB ise yeni bloğun 5 GB'tan büyük olması gerekir.

Kurtarılan görüntü dosyasında çok sayıda hata oluşuyorsa, bu hatalar şu şekilde onarılabilir: fsck Linux'ta bir dereceye kadar komut. Windows'tayken şunları kullanabilirsiniz: CHKDSK veya SFC bunu yapmak için komutlar. Ancak kurtarma, bozuk dosyanın oluşturduğu hataların sayısına bağlıdır.

Artık kurtarma işlemi ve restorasyon tamamlandı. Unutulmaması gereken bir diğer önemli nokta da, bir görüntü dosyası oluşturup ardından yeni bloğa kopyalamak yerine, bozuk bir bloğu doğrudan başka bir blokta kurtarabilmenizdir. Bir sonraki bölümde bu süreci ayrıntılı olarak ele alacağım.

Bloğu Başka Bir Bloğa Kurtarmak

Bir bloğu doğrudan yeni bir bloğa kurtarmak için önce bloğu sisteme bağlayın ve tekrar kullanın. lsblk blok adını tanımlama komutu. Yanlış blok adları tüm süreci bozabilir ve verilerinizi kaybedebilirsiniz.

Kaynak bloğu ve hedef bloğu belirledikten sonra bloğu kurtarmak için aşağıdaki komutu kullanın:

sudo kurtarma -D -F -r2 / geliştirici / [ kaynak ] / geliştirici / [ varış noktası ] yedekleme.log

varsayalım /dev/sdb hedef bloktur, dolayısıyla kopyalamak için /dev/sda yeni blok kullanımına yönelik dizin:

sudo kurtarma -D -F -r2 / geliştirici / sda / geliştirici / sdb backup.log

Bu işleme başlamadan önce önceki bölümlerde bahsedilen kritik noktalara tekrar bakın.

Kurtarılan Görüntü Dosyalarından Belirli Verilerin Kurtarılması

Çoğu durumda veri kurtarmanın amacı, bozuk sürücülerdeki belirli dosyaları bulmaktır. Belirli bir dosyaya erişmek için görüntü dosyasını bağlamanız gerekir. Linux'ta, kurtarılan görüntü dosyası aşağıdakiler kullanılarak incelenebilir: montaj emretmek.

Görüntü dosyasını bağlamadan önce, görüntü dosyasının içeriğini çıkarmak istediğiniz bir klasör veya dizin oluşturun.

mkdir Kurtarma Montajı

Ardından, görüntü dosyasını aşağıdakileri kullanarak bağlayın:

sudo montaj döngü kurtarma.img ~ / Kurtarma Montajı

-o bayrağı seçenekleri belirtirken, döngü seçeneği görüntü dosyasını bir blok aygıtı olarak ele almak için kullanılır.

Artık aşağıdaki ekran görüntüsünde gösterildiği gibi görüntü dosyasının içeriğine erişebilirsiniz.

Bloğun bağlantısını kaldırmak için şunu kullanın: miktar emretmek.

sudo miktar ~ / Kurtarma Montajı

Gelişmiş özellikler

Kurtarma işlemini belirli bir noktadan başlatmak için -Ben bayrak veya –giriş konumu . Bayt cinsinden olmalıdır, varsayılan olarak 0 bayt. Kopyalamaya belirli bir noktadan devam etmek için bu önemlidir. Örneğin kopyalama işlemine 10 GB noktasından başlamak istiyorsanız aşağıdaki komutu kullanın.

sudo kurtarma -i10GiB / geliştirici / sda imagefile.img logfile.log

Giriş cihazının maksimum boyutunu tanımlamak için, -S bayrak kullanılacaktır. -S boyutu belirtir ve şu şekilde de kullanılabilir: -boyut bayt cinsinden. Araç, giriş dosyasının boyutunu tanıyamazsa, belirtmek için bu seçeneği kullanın.

sudo kurtarma -s10GiB / geliştirici / sda imagefile.img logfile.log

-sormak seçeneği oldukça kullanışlı olabilir çünkü kopyalama işlemine başlamadan önce giriş ve çıkış bloklarının onaylanmasını ister. Daha önce tartışıldığı gibi, sistem bloklara dinamik olarak adlar atar ve yeniden başlatma sırasında değişirler. Dolayısıyla bu durumda bu seçenek faydalı olabilir.

sudo kurtarma --sormak / geliştirici / sda imagefile.img logfile.log

Ayrıca, diğer bazı seçeneklerin listesi aşağıda belirtilmiştir:

-R -tersi Kopyalama yönünü tersine çevirmek için
-Q -epeyce Tüm çıkış mesajlarını bastırmak için
-içinde –ayrıntılı Ayrıntılı olarak açıklamak gerekirse, tüm çıktı mesajları
-P –önceden tahsis Çıkış dosyasına depolamayı önceden tahsis etmek için
-P –veri önizlemesi En son okunan verinin ekran satırları varsayılan olarak 3 satırdır

Kurtarma nasıl çalışır?

Kurtarma, dört aşamaya bölünmüş güçlü bir kurtarma algoritması kullanır:

1. Kopyalama

2. Kırpma

3. Kazıma

4. Yeniden Denemek

Kurtarma algoritmasının yürütülmesi aşağıdaki resimde gösterilmektedir.

Çözüm

kurtarma verileri kopyalayarak, bozuk veya arızalı bir sürücüdeki verileri başka bir sürücüye kurtarmak için kullanılan güçlü bir kurtarma aracıdır. Varsayılan paket yöneticisinin yardımıyla herhangi bir Linux dağıtımına zahmetsizce kurulabilir. Bu kılavuzda bahsedilen aracı kullanmadan önce dikkat edilmesi gereken önemli hususa dikkat edin. Veri kopyalama işlemi basittir; sürücünün bağlantısını kesin ve kaynak sürücü adı ve hedef sürücü adı ile ddrescue komutunu kullanın. Kurtarma işlemine devam etmek oldukça faydalı olacağından günlük dosyasını kullanmayı unutmayın.