- 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.
- Drescue'yu yükleme
- Temelleri Anlamak
- Önemli Hususlar
- Drescue'yu kullanma
- Bozuk Bloğun Kurtarılması
- Görüntü Dosyasını yeni bir Bloğa Geri Yükleme
- Bloğu Başka Bir Bloğa Kurtarmak
- Kurtarılan Görüntü Dosyalarından Belirli Verilerin Kurtarılması
- Gelişmiş özellikler
- Kurtarma nasıl çalışır?
- Çözü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 kurtarmaArch 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ıtNot: 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.logYukarı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 / SDBGeri 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.logvarsayalı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.logBu 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.logGiriş 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.logAyrı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.