Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Long story short, I'm working on a Windows 7 machine and I'd like to strip the image off an SD card (backing up the card from a Raspberry Pi). I'm trying to use Cygwin, but not having much success.

Examining the /dev directory, it looks like my SD card is showing up as sdd and sdd1. However, when I run the following command:

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

I get the following:

dd: opening '/dev/sdd': Permission denied

I've used dd on a Mac and under Linux without any problem, using similar syntax. What am I missing with Cygwin?

share|improve this question
    
Have you tried dd if=/dev/sdd1 of RPi.img? –  Kruug Apr 10 '13 at 16:30
    
If I do that, I only get a ~59 MB file from the 4 GB SD Memory Card. Basically I'm only getting the portion of the card that Windows "sees" when you insert the card in the reader. It's not the full image. –  GrandAdmiral Apr 10 '13 at 16:35
    
Could you use a Linux machine, or Linux LiveCD instead of trying in Windows? –  Kruug Apr 10 '13 at 16:40
    
Virtual Linux Machines don't seem to see the SD Memory Card (tried VMware Player and VirtualBox) because I'm using the internal reader on the laptop. Then to top it off.... I don't have a CD burner in the laptop either. :) I have a Mac at home that I can use, I was just trying to find something that would work with my current situation.... and figure out if it was even possible. Seemed like cygwin should have worked. –  GrandAdmiral Apr 10 '13 at 16:42
2  
I found that I can also use 'cat /proc/partitions' to get the name of the attached SD Memory Card. –  GrandAdmiral May 16 '13 at 15:18

4 Answers 4

up vote 10 down vote accepted

You get the Permission denied error, because you are not [root][1]. That sounds strange in the context of Cygwin, but it hits home.

When you query your status (id) in a normally started Cygwin shell, you'll get something like that:

$ 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

The trick to become root in Cygwin is to start the session elevated, that is, do a right click on your Cygwin icon and choose Run as Administrator. Now your are still not root itself, but at least in root's group:

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

And now, dd works as you are used to it from Un*x:

$ 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
share|improve this answer
    
Very interesting, and that works. Thanks! While both this method and USB Image Tool provide a solution, I'll accept this answer because it's more directly related to my initial question. –  GrandAdmiral May 16 '13 at 15:21

Will something like USB Image Tool do?
Or, do you insist on using Cygwin? ...

share|improve this answer
    
No insistence on using Cygwin. That tool was a little strange when displaying the SD Memory Card (sometimes the info would disappear, but maybe that was Windows doing something) but it seemed to work and it was REALLY FAST. I have a 4 GB file sitting on my computer that is the size I expected. I think I'll diff it with a version from the actual 'dd' command just to make sure. IF that looks good, I'll accept your answer. Thanks! –  GrandAdmiral Apr 10 '13 at 16:48
    
Well, the files didn't match but that could be my fault. I think I booted the RPi after grabbing the first image, not thinking about it. Well, at least I have the backup I wanted now and I have a tool to experiment with down the road that works under Windows. Worst case I'll just drive home and use a sane computer/OS. :) –  GrandAdmiral Apr 10 '13 at 18:22

HDD Raw Copy Tool can make copies of an SD card. If you select "Raw image (dd image)" in the save dialog then it will be identical to the ones made with dd. You can restore images too.

I know it's not done via cygwin, but I personally wouldn't trust it with accessing raw devices.

share|improve this answer
    
Where do you get the option to save a Raw Image? I saw where you could select the source (SD Memory Card) and the destination (HDD), but then there was just a Start button. Since it wasn't clear what was going to happen next, I exited the program. –  GrandAdmiral Apr 10 '13 at 16:56
    
First you double-click your drive, then on the next screen you double click the "File" option where you can choose where to save the image. –  asdasd Apr 11 '13 at 7:49

I see that RaspberryPi.org is now recommending Win32 Disk Imager for writing images to SD Memory Cards. It will also read images from the card, so I'm trying it out now.

share|improve this answer
    
I refuse to touch that one as there are reports of it trashing your system disc. Rare, but it depends on the hardware and I'm not going to risk it. –  tjmoore Aug 13 at 11:58

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.