Dd komutunu kullanarak SD kart klonlama


48

Bazıları Ubuntu'nun tanımadığı birçok bölüm içeren bir SD kart kopyalamaya çalışıyorum. Genel olarak, sadece bir bölümü değil, tüm birimi klonlamak istiyorum. Bu yüzden, SD kartı taktım ve Log görüntüleyicide böyle bir şey görüyorum:

kernel: [  262.025221]  sdc: sdc1 sdc2

alex@u120432:~$ ls /dev/sdc*
/dev/sdc  /dev/sdc1  /dev/sdc2

Tüm diski kopyalamak istediğim için yürütüyorum:

dd if=/dev/sdc of=sdimage.img bs=4M

Sdimage.img dosyası, 7.9 GB (7.944.011.776 bytes) oluşturulur (SD kart 8 GB'dir). Şimdi başka bir SD kart takıp çalıştırıyorum:

dd if=sdimage.img of=/dev/sdc bs=4M

Sorun, ikinci dd komutunun bazı sahnelerde asılı kalması ve hiçbir zaman başarılı olmamasıdır. Bundan sonra bilgisayarı yeniden açamıyorum veya kapatamıyorum ve sadece gücü kapatmam gerekiyor.

Bu doğru yaklaşım mı? Belki bir SD kartı klonlamanın başka bir yolu vardır?

İşletim Sistemi: Ubuntu 12.04 (Hassas Pangolin), 32 bit.


Oluşturulan img dosyasını bağlayabilir ve doğru oluşturulup oluşturulmadığını görebilir misiniz?
Milan Todorovic

@MilanTodorovic - bunu nasıl yapabilirim?
Alex F

Doğru hatırlıyorsam: -o döngü sdimage.img / path / to / mount komutunu kullanın. Ardından, img dosyasına doğru göz atabileceğinizi kontrol edin.
Milan Todorovic

@MilanTodorovic: Ben sudo mountu -o sdimage.img / dev / mydisk'i denedim ve anladım: mount: / etc / fstab veya / etc / mtab dizininde / dev / mydisk'i bulamıyorum. Bunu bazı detayları ile cevap olarak gönderebilir misiniz? Teşekkürler.
Alex F

1
takılı cihazlarda dd kullanmamalısınız. önce tüm bölümleri sökün, sonra emrin çalışmalı.
ubfan1

Yanıtlar:


29

Takılı cihazlarda dd kullanmamalısınız. önce tüm bölümleri sökün, sonra emrin çalışmalı.


2
neden benim için tam tersi? Ben Ubuntu 12.10'um ve komut sadece
monted

1
@Velthune Bundan emin misiniz? Eğer öyleyse, kendi sorunuzu yapmayı öneriyorum.
Vreality

25

Orijinal SD kartı takın ve cihazın adını kontrol edin (genellikle mmcblkXveya sdcX):

sudo fdisk -l

Görebilirsin:

Device         Boot   Start      End  Sectors  Size Id Type
/dev/mmcblk0p1 *       2048  2099199  2097152    1G  c W95 FAT32 (LBA)
/dev/mmcblk0p2      2099200 31116287 29017088 13.9G 83 Linux

Benim durumumda SD kart /dev/mmcblk0( *p1ve *p2bölmelerdir).

Şimdi cihazın bağlantısını kesmeniz gerekiyor:

sudo umount /dev/mmcblk0

Şimdi cihazın görüntüsünü oluşturmak için:

sudo dd if=/dev/mmcblk0 of=~/sd-card-copy.img

Bu işlem biraz zaman alacaktır.

Tamamlandığında boş SD kartı takın. Aygıt farklıysa (USB veya başka tür bir SD kart okuyucusu) adını doğrulayın ve bağlantısını kesin.

sudo fdisk -l
sudo umount /dev/mmcblk0

Resmi cihaza yazın:

sudo dd if=~/sd-card-copy.img of=/dev/mmcblk0

Yazma işlemi öncekinden çok daha yavaştır.


4
Büyük miktarda veri kopyalarken, varsayılan blok boyutundan daha büyük bir değer ayarlamanız gerekir, aksi takdirde çok uzun süre beklemeniz gerekebilir. sudo dd if=/dev/mmcblk0 of=~/sd-card-copy.img bs=4M
xaedes

13

Birden çok bölüm ile usb çubukları klonlamak için dd aracı kullanıyorum, işte benim komutum:

sudo dd if=/dev/sdb of=/dev/sdc bs=4096 conv=notrunc,noerror

notrunc - çıktı dosyasını kesmeyin
noerror - okuma hatalarından sonra devam et


Bu iki SD kart okuyucusu gerektirmiyor mu?
Peter Mortensen,

1
@PeterMortensen evet öyle, çoğumuz bu 4'ü 1 arada adaptörleri kullanıyoruz.
Teque5

9

dd gayet iyi, ama ben tercih ederim cat /dev/sdc/ > ~/backup.iso tekrar bir SD karta koymak istiyorsanız, sadece çalıştırıncat ~/backup.iso > /dev/sdc


Her iki SD de 8 GB'dir. kedi SD görüntüsü oluşturmak için kullanılabilir, ancak başka bir SD yapmak için dd kullanmalıyım, değil mi?
Alex F

0

Resim dosyasını ( benim durumumda) yeni bir SD kartına geri yüklemek için Ubuntu'da benim için çalışan adımlar: ~/raspberrypi2.img(yukarıdaki Alon'un cevabından ağır esinlenerek):

  1. Mikro SD kartı kart okuyucuya yerleştirin.
  2. Diskler uygulamasını açın.
  3. Tüm kartı hızlı bir şekilde biçimlendirin (belirli bir bölümü değil).
  4. Diskleri kapatın.
  5. Terminali aç ve çalıştır:

    sudo fdisk -l
    

İlgili çıktı (tüm kartın hızlı formatından dolayı herhangi bir bölüm olmadığını gösterdi):

Disk /dev/sdb: 7.4 GiB, 7948206080 bytes, 15523840 sectors 
Units: sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes 
I/O size (minimum/optimal): 512 bytes / 512 bytes 
Disklabel type: dos 
Disk identifier: 0x6957f2f2

sudo dd if=~/raspberrypi2.img of=/dev/sdb

Bu adım birkaç dakika sürer (USB3'te bile). Montajı çağıracak herhangi bir işlemle (Dosyalar veya Diskler uygulamalarını açarak) kesmediğinizden emin olun .

Herkesin cevapları için teşekkürler.

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.