Bir usb belleğin biraz aynı görüntüsünü nasıl oluşturabilirim?


21

Nedense okunamayan bir usb belleğim var. Depolama amacıyla bir görüntüsünü yapmak istiyorum, böylece daha sonra bir tarihte verilerden verileri almaya çalışabilirim.

Bir usb belleğin böylesine aynı bir görüntüsünü yaratmaya nasıl giderim?


Bu kullanırken aldığım hatadır dd:

oshirowanen@desktop:~$ sudo dd if=/dev/sdd of=/USB_image
[sudo] password for oshirowanen: 
dd: reading `/dev/sdd': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 1.00783 s, 0.0 kB/s
oshirowanen@desktop:~$ 

Hangi hex editörünü kullanıyorsunuz?
AJMansfield

/dev/sdxUSB çubuğuna işaret eden cihazdan okuyamıyorsanız, ciddi bir sorun var ve normal kullanıcılar için işe yarayacak hiçbir araç olmadığını düşünüyorum. Daha fazla ayrıntı için bu bağlantıya bakınız, askubuntu.com/questions/144852/… ; Aynı anda pes etmeyin. Çalışmak için okumaya gidebileceklerin listesine göre deneyin. Belki USB pendrive'ı ayırıp mikro SD kart bulabilirsin, bu yorum @ ubfan1 tarafından yorumlanmıştır (bağlantılı cevapta).
sudodus

Sorununuzu çözmek için 2 seçeneğiniz var: 1. kolay olan: sudo su komutunu çalıştırın ve sonra root olarak dd komutunuzu çalıştırın 2. daha yetenekli sürüm, durum ile dd'yi çalıştırın ve '' sudo bash -c 'dd durum = eğer durum = / dev / sd * | gzip> ~ / Backup-USB.img.gz '
WiKrIe

Yanıtlar:


39

dd o!

Kullanımı gibi bir şey olurdu sudo dd if=/dev/sdb of=~/USB_imagenerede / dev / sdb tarafından listelenen gibi usb sürücü sudo fdisk -lve ~ / USB_image kopya yapılacaktır görüntü dosyası (resim dosyası oluşturulur bir yol) 'dir.

Sadece süreç invert başka USB sürücüye görüntüyü geri yüklemek için: sudo dd if=~/USB_image of=/dev/sdbgeri yükleyecektir ~ / USB_image cihaz için sdb . Yeni USB sürücüsünün orijinal aygıttan daha büyük veya daha büyük olduğundan emin olun.

Ayrıca, oluşturduğunuz görüntü dosyasını önce başka bir USB sürücüsüne geri yüklemenize gerek kalmadan bir yola da monte edebilirsiniz mount ~/USB_image /mnt/USB_image -o loop.


fdisk -lUSB sürücüsünü göremiyorsa ne olacak ? Ancak, Disk Utility programından / dev / sdd olarak görebiliyorum, ancak komutunuzu kullanmaya çalıştığımda başarısız görünüyor.
oshirowanen

Hangi hata ile başarısız?
Bruno Pereira,

Orijinal soruya, yorum için fazla olduğu gibi hata eklendi.
oshirowanen

1
Eğer fdisk cihazı göstermiyorsa, cihaz prize takılıyken ne olduğunu görmek için dmesg kullanın. Dmesg, çekirdek etkileşimlerinin bir listesidir; bu nedenle, temel olarak donanımdaki bir şeyi bilgisayardan yaparsanız, dmesg'de bir mesaj vardır.
j0h

2
@Alex Ubuntu status='progress'ile kullanın ddveya ddkomutunuzun PID'sini belirleyin ve SIGUSR1sinyal gönderin . Diğer uygulamalar hakkında emin değilim.
Sergiy Kolodyazhnyy

7

Kullanın ddrescue. Hatalardan sonra devam ddedecek, sadece başarısız olacak.

Ayrıca, ddrescuedepolarda. 13.04'te sudo apt-get install gddrescue yüklemek için yazdım .

Örneğin, cihazın yerini bulmak için sudo fdisk -lveya tuşunu kullanın , sonra gibi bir komut çalıştırın.dmesg/dev/sdb

ddrescue /dev/sdb /home/user/desktop/bkp.img

çok seçenek var ddrescueve mansayfaları okumak isteyebilirsiniz . Ayrıca donanımınızın neden başarısız olduğunu ve çöpe atıldığından emin değilim dd. Kötü bir blok, istifaya neden olabilir dd, ancak kesintili elektrik kesintileri olabilir. dmesgsize yaşayabileceğiniz donanım arızaları hakkında daha fazla bilgi verebilir.

Cihazın monte edilmediğinden emin olun! veri kurtarma, görüntüleme vb. yapmaya çalıştığınızda bu sorunlara neden olabilir.

Veri kurtarma işleminde yanlış gidebilecek birçok şey var. Sorun yaşarsanız geri gönderin. testdiskbir görüntü elde ettikten sonra veri kurtarma yapmak için güzel bir yardımcı programdır.

Sadece netlik için, bu bir usb sabit sürücü veya usb (katı hal belleği) aygıtı mı?

G / Ç hataları genellikle dosya sistemi bozulmalarından ziyade donanım arızalarının göstergesidir.

Ayrıca varsa, cihazın SMART veri analizini edinmeyi deneyin. Bu, cihazın aşırı ısınması, uzun süre açık kalması, X sektöründen daha fazlasına maruz kalması gibi kötü sektörleri varsa gibi şeyler söyleyebilir. Gs vb.


USB çubuğu, ben de kullanmak gerektiğini düşünüyorum ... analiz için hiçbir SMART veri yoktur sudoiçin ddrescue, * gg basitçe başarısız olacaktır nerede * sıralayabildiği Yapılandırabileceğiniz beri gerçekten doğru değil ddokumak hatalarını görmezden. testdiskmüthiş kayıp okuması yokken sürücü öldü değilken, verinin sektörleri.
Bruno Pereira,

#, kök simgesidir, hayır, sudo gerekli değildir. $ olsaydı, evet.
j0h

Ayrıca, kurtarma, hatta dd başarısız olursa, ancak bir resim oluşturabiliyorsanız, o resim üzerinde hala veri kurtarma işlemi yapabileceğinizi unutmayın.
j0h,

Ben kullanımını öneririm gddrescuekarşı da ddrescueberi gddrescuedaha yeni ve işi yapmak için daha yapabiliyor ddrescueyapar.
Bruno Pereira,

1
Adamımı tanımıyorum bile, yazımı oku. Paketin gddrescue, komutun ddrescue olduğunu.
j0h

2

Kullanarak bir USB çubuğunun (veya başka bir cihazın) görüntüsünü oluşturabilirsiniz dd.

Örneğin

dd if=<usb device> of=usb.img

ddKomutu optimize etmek için daha fazla parametre ekleyebilirsiniz (örn. bs).


2

ddÖnceki bir poster tarafından belirtildiği gibi, gitmek için yerel yoldur. Bununla birlikte, hatalar üzerinde devam etmesini istersiniz, böylece başlatacaksınız:

dd if=<usb device> of=<new file on disk with enough space> bs=<should match your blocksize> conv=noerror,sync 

Önemli kısım sonuncusu: conv=syncdd'ye, sadece kısmen sıfır ile okuyabildiği tüm bu blokları doldurmasını söyler, böylece elde edilen görüntünün çok fazla birkaç sıfırı olabilir, ancak yapısal olarak lapa lapa diski, okuma hatalarını eksi olarak eşitleyecektir. conv=noerror dd'ye bir sonraki satırda devam etmesini söyleyerek okuma hatalarının çaresine bakmadı. Bu noktada, blok boyutu önemlidir, çünkü hatayı atlamak için gerekenden daha büyükse, burada okunabilir veriler kaybolacaktır. Blocksize her zaman iki faktör 512kolmalı - şüpheniz varsa hile yapmalı.

O zaman şunu öneririm:

  • güvenli bir yerde bu görüntünün değiştirilmemiş bir kopyasını saklayın
  • fsck disk görüntüsünün bir kopyasını
  • disk görüntüsünü bağla
  • dosyalarınızı kontrol edin - şimdi sorunsuz bir şekilde okunabilirler, ancak bazıları eksik veya kısaltılmış olabilir
  • Cihazın kendisi hiç okunamıyorsa, şansınız tükenebilir. Ayrıca, cihaz bazı özel yazılımlar içeriyorsa, ilk bloklarda erişildiğinde okuma hatalarını döndürmek için kurulum yapılabilir.

(Kendimi 2010'da geri yazılan bir makaleden kısmen alıntı yapıyorum)

Yerli kalmanız gerekmiyorsa , hataları görselleştirmek için ddrescue (paket gddrescue) ve arkadaşı ddrescueview( sourceforge ) gibi işlemi biraz kolaylaştırmaya çalışan araçları her zaman deneyebilirsiniz .


2

Sorunuzun ikinci yarısına gelince, "Bu, gs kullanırken aldığım hatadır": Birkaç olasılık görebiliyorum.

  1. Kabul ettiğiniz cevaba göre yazdığınız komuttaki farka dikkat edin; ~önünde kaçırıyorsun /USB_image. Başka bir deyişle, dosya dizininizin kökünü ana dizininizin yerine çıkarmaya çalışıyorsunuz.
  2. /dev/sdddoğru sürücü olmayabilir. Çalıştırın sudo fdisk -lve sürücünün boyutunu USB çubuğunun bilinen boyutuyla karşılaştırın. Mesela, ben 16GB yakın olduğu için bu benim USB çubuğu olduğunu biliyoruz: Disk /dev/sdf: 15.8 GB, 15805186048 bytes.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.