tag 19065 + unreproducible moreinfo thanks bt wrote: > The following undocumented behavior of dd is (IMO) a design flaw.
If dd actually did this then that would be quite annoying. And I could see anyone becoming very frustrated with it. But the reason this is not documented in dd is that dd doesn't do this. > If dd is used to copy one partition to another, as in > > #dd if=/dev/sda3 of=/dev/sdb3 ... > > and if in fact sdb3 does not exist, then dd will overwrite the first part of > an existing partition *sda1*. If this is happening then it is a problem with your operating system filesystem and not the dd command. Since dd is simply copying from one file to another file. If the destination file is somehow connected to a different partition then that would be an issue for the filesystem and not a utility using the file system. > It doesn't make sense that if the "of=" device doesn't exist, then > another pre-existing device, not mentioned in the command line, is > overwritten. Several websites have incorrect information about the > behavior of dd in this situation. > At the very least, this should be documented--maybe I'm missing > something, but didn't see it in the man pages or the texinfo manual. What you are missing is that dd in the above is acting just like 'cp /dev/sda3 /dev/sdb3' or 'cat /dev/sda3 > /dev/sdb3' or other simple copy commands. Since dd is simply copying a file it doesn't know anything about your partitioning. If /dev/sdb3 does not exist then when dd runs it will create a file /dev/sdb3 in /dev. That is simply a file from the perspective of dd or any other utility. What handles /dev depends upon your system. You didn't say what system you were using. What system are you using? How is it handling /dev? What is in your partition table? There are many different ways to browse the partition table. I am not the most proficient with parted but parted is likely the most capable in the face of newer GPT formats. I am perhaps not even likely to be able to interpret the answer but I think this information would be needed and if not me then perhaps another may be able to interpret it. parted /dev/sdb unit s print Bob