Cygwin'i SD hafıza kartından görüntü kopyalamak için nasıl kullanılır?


30

Uzun lafın kısası, bir Windows 7 makinesinde çalışıyorum ve görüntüyü bir SD karttan çıkarmak istiyorum (kartı bir Raspberry Pi'den yedekleyerek ). Cygwin'i kullanmaya çalışıyorum ama çok başarılı olamıyorum.

İncelenmesi /devdizini, benim SD kart olarak gösterildiğini benziyor sddve sdd1. Ancak, aşağıdaki komutu çalıştırdığımda:

dd if=/dev/sdd of=RPi.img

Aşağıdakileri alıyorum:

dd: '/ dev / sdd' açılış: İzin reddedildi

Ben kullandım dd benzer bir sözdizimi kullanarak, sorunsuz bir Mac ve Linux altında. Cygwin ile neyi özlüyorum?


Denedin dd if=/dev/sdd1 of RPi.imgmi
Kruug

Bunu yaparsam, 4 GB SD Hafıza Kartından sadece ~ 59 MB boyutunda bir dosya alıyorum. Temel olarak, kartı okuyucusuna yerleştirdiğinizde, kartın sadece Windows'un "gördüğü" kısmını alıyorum. Bu tam görüntü değil.
GrandAdmiral

Windows'ta denemek yerine bir Linux makinesi veya Linux LiveCD kullanabilir misiniz?
Kruug

Virtual Linux Machines, SD Bellek Kartını görmedi (VMware Player ve VirtualBox'ı denedi) çünkü dizüstü bilgisayardaki dahili okuyucuyu kullanıyorum. Sonra üste .... .... Ben de dizüstü bilgisayarda bir CD yazıcı yok. :) Evde kullanabileceğim bir Mac'im var, sadece şu anki durumumla işe yarayacak bir şey bulmaya çalışıyordum ve mümkün olup olmadığını anlamaya çalışıyordum. Cygwin işe yaramalı gibi görünüyordu.
GrandAdmiral

4
Ekteki SD Hafıza Kartının adını almak için 'cat / proc / partitions'ı da kullanabileceğimi öğrendim.
GrandAdmiral

Yanıtlar:


27

Sen almak Permission denieddeğil, çünkü hata root. Bu Cygwin bağlamında garip geliyor, ama eve isabet ediyor.

Durumunuzu ( id) normalde başlatılan bir Cygwin kabuğunda sorguladığınızda, şöyle bir şey alırsınız:

$ id
uid=1001(user) gid=545(Users) groups=545(Users),555(Remote Desktop Users),513(None)
$ dd if=/dev/sda bs=1000 count=1 | wc -c
dd: opening `/dev/sda': Permission denied
0

Windows 7'de Cygwin'de olmanın püf noktası root, yükseltilmiş oturumu başlatmak , yani Cygwin simgesine sağ tıklayın ve Yönetici Olarak Çalıştır'ı seçin . Şimdi siz hala kendiniz değil root, en azından rootgrubunuzda:

$ id
uid=1001(user) gid=545(Users) groups=545(Users),0(root),544(Administrators),555(Remote Desktop Users),513(None)

Ve şimdi, ddUn * x'ten alıştığınız gibi çalışır:

$ dd if=/dev/sda bs=1000 count=1 | wc -c
1+0 records in
1+0 records out
1000 bytes (1.0 kB) copied, 0.00104424 s, 958 kB/s
1000

Çok ilginç ve bu işe yarıyor. Teşekkürler! Hem bu yöntem hem de USB Image Tool bir çözüm sunsa da, bu sorumu doğrudan soruma doğrudan bağlı olduğu için kabul ediyorum.
GrandAdmiral,

Bu şekilde kök üyesi değilim. Bir şey değişti mi?
Pysis

1
@Pysis: Bugünün güncellemesi itibariyle mevcut cygwin sürümüyle ( CYGWIN_NT-6.1-WOW 2.7.0 (0.306 / 5/3) 2017-02-12 13:13 i686 Cygwin ) bu şekilde kökleşebiliyorum . Belki de SO üzerinde stackoverflow.com/q/4090301 sizin için yardımcı olabilir ?!
mpy

Görünüşe göre cygwin1.dll ( cygcheck) ' den 2.6.1 var . "0 (kök)" alamadım, ancak "401408 (" Zorunlu Düzey) "yerine" 114 (Yerel hesap ve Yönetici grubu üyesi ")," 544 (Yöneticiler) "ve" 405504 (Yüksek Zorunlu Düzey) "alıyorum Orta Zorunlu Seviye) "Windows 10 Pro x64-bit sistemimde. Bağlam, çalıştırmak istediğim fdisk, ancak ddbir engelleme aracı akış dosyasında olduğu gibi, sadece burada merak edilen, ayrıcalıklı erişime sahip diğer araçları çalıştırabildiğim halde, yine de yardım etmiyor gibi görünüyor .
Pysis

@Pysis: Bunun W10 ile ilgisi olabilir mi ?! - Ne yazık ki sadece W7 kullandığım için tahminde bulunabilirim.
mpy

11

Geçenlerde bir USB sürücüsünü diğerine Windows'ta klonlamak zorunda kaldım. Sürücüm ek yazılıma sahip bir çoklu önyükleme olduğu için FS'deki tüm dosyaları kopyalamak istemedim. DD açık bir seçimdi, ama linux'ta değildim, bu yüzden çalışmasını sağlamak için yapmam gereken birkaç şey vardı.

Cygwin'i kurdum ve aşağıdakileri yaptım.

İlk önce f: hacim benim / dev / sdX aygıtı ne olduğunu bulmak zorunda kaldı. Bunu yapmak için bu komutu cygwin'de çalıştırın. (İPUCU: cygwin'i admin privs ile başlattığınızdan emin olun. * Cygwin'e sağ tıklayın ve "Yönetici Olarak Çalıştır")

    cat /proc/partitions
which should output:
   8 0 3813383838 sda
   8 1       4031 sda3 C:\
   8 15  30588303 sdb 
   8 15  30588303 sdb1 E:\
   8 21  30530020 sdc
   8 22  30530020 sdc1 F:\

etc ... Burada F: sürücümü E: sürücüme klonlamamı açıkça görebiliyorsunuz: Aşağıdaki komutu veririm.

Aslında bir adım daha var, cihazınızın kökünü bulmak zorundasınız. Cihazınızın boyutuna sahip bir sd * arayın. Boyut olarak 8GB, 16GB, 32GB gibi iyi bilinmesi gereken, yukarıda gösterildiği gibi bayt olarak genişletilen bu kolaylık.

dd if=/dev/sdc of=/dev/sdb bs=8M

Resmim 32 gb idi .. ve sadece yanıp sönen bir imleçle oturup beklemek istemedim .. İlerlemeyi görmek istedim, böylece cygwin'e "pv" yükledim.

dd if=/dev/sdc | pv | dd of=/dev/sdb bs=8M

Şimdi thumbdrive'ı bir resme kopyalamak istiyorsanız, aşağıdakileri yapın.

dd if=/dev/sdX | pv | dd of=/cygdrive/c/Users/Myname/Desktop/mythumbdrive.img bs=8M

Bu yardımcı olur umarım


2

USB Görüntü Aracı gibi bir şey yapar mı?
Yoksa Cygwin'i kullanmakta ısrar ediyor musunuz? ...


Cygwin'i kullanmakta ısrar yok. Bu araç, SD Hafıza Kartını görüntülerken biraz garipti (bazen bilgi kaybolabilirdi, ama belki de Windows bir şey yapıyordu) ama işe yarayacak gibiydi ve gerçekten HIZLIydı. Bilgisayarımda beklediğim boyutta bir 4 GB dosya var. Sadece emin olmak için onu asıl 'dd' komutunun bir sürümüyle dağıtacağımı düşünüyorum. Bu iyi görünüyorsa, cevabınızı kabul edeceğim. Teşekkürler!
GrandAdmiral

Dosyalar eşleşmedi ama bu benim hatam olabilir. Sanırım ilk görüntüyü yakaladıktan sonra RPI'yi başlattım, düşünmedim. En azından şimdi istediğim yedeği aldım ve Windows altında çalışan yolda denemem için bir aracım var. En kötü durum, sadece eve gidip akıllı bir bilgisayar / işletim sistemi kullanacağım. :)
GrandAdmiral

2

Bağlantı noktası yerine yeniden yazma olduğuna inanıyorum dd için Windows için başarı elde ettim. Açık kaynak kodlu ve Cygwin'e güvenmiyor.

Özellikle dd --list, tüm disk cihazlarını, istediğimi tanımlamak için yeterli bilgiyle birlikte listeleyen komutu sevdim .


1

HDD Raw Copy Tool bir SD kartın kopyasını alabilir. Kaydet iletişim kutusunda "Ham görüntü (dd görüntü)" seçeneğini seçerseniz, o zaman dd ile yapılanlarla aynı olacaktır. Görüntüleri de geri yükleyebilirsiniz.

Cygwin üzerinden yapılmadığını biliyorum, ama şahsen ham cihazlara erişirken ona güvenmezdim.


Raw Image'i kaydetme seçeneğini nereden buluyorsunuz? Kaynağı (SD Hafıza Kartı) ve hedefi (HDD) nerede seçebileceğinizi gördüm, ancak daha sonra sadece bir Başlat düğmesi vardı. Bundan sonra ne olacağı belli olmadığı için programdan çıktım.
GrandAdmiral

İlk önce sürücünüzü çift tıklayın, ardından bir sonraki ekranda görüntünün kaydedileceği yeri seçebileceğiniz "Dosya" seçeneğini çift tıklayın.
yuikonnu

0

RaspberryPi.org'un artık görüntüleri SD Hafıza Kartlarına yazmak için Win32 Disk Imager'ı tavsiye ettiğini görüyorum . Ayrıca karttaki görüntüleri okuyacak, şimdi deniyorum.


Sistem diskinize düştüğünü bildiren raporlar olduğu için ona dokunmayı reddediyorum. Nadir, fakat donanıma bağlı ve ben onu riske atmayacağım.
tjmoore
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.