Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to copy a SATA partition to external usb partition , both partitions are same in size but total disk size are different , i want to copy only the data and not concerned about boot sector and so don't want copy the SATA partition info in to USB disk. So in dd command , is skipping 1 block ( skip=1) is enough?. Thanks

share|improve this question

the mbr is the first 512 bytes of the device. checking 'man dd' you will find, that you can use 'skip=BLOCKS' to skip some bytes at the beginning of the input:

% dd if=IN_DEVICE ibs=512 skip=1 of=OUT_DEVICE

but in general i dont think thats a good idea, if you 'just want the data' ... because you copy only part of the filesystem etc. why dont you copy the data from filesystem to filesystem?

share|improve this answer
because he doesn't want boot information or partition data on his USB disk. – John T Dec 21 '09 at 7:05
Thanks. Actually i am try to copy simultaneously to multiple drives, so i can't do copy such. This is for default 512 block size,Suppose if i mentioned the bs=8M , then it will skip first 8Mbits correct?.How do skip first 512 byte still keep copy block size 8M or some other value. – linuxnewbie Dec 21 '09 at 9:17
@john: copying from filesystem to filesystem does not transfer boot- or partion information. it's obvious why he does not want that. i just stated that i dont think its a good idea to do the whole copying via dd and transfer 'part' of a filesystem (the first x bytes of a ntfs/ext3/whatever partition) over to another place and then the end of the filesystem does not match the end of the partition. – akira Dec 21 '09 at 9:25
@linuxnewbie: well, you can tell dd to 'obs=8M' which specifies the 'output buffer size'. for skipping just the first 512bytes and then increase the 'ibs' again: i dont think thats possible with dd. but obviously you could write a nifty .c progra which does that :) – akira Dec 21 '09 at 9:28

Yes. If you haven't played around with it, the default is 1 block (512 bytes).

share|improve this answer

I may be being an idiot here, but can't one just use dd on the partition rather than the disk, so use if=/dev/sda1 of=/dev/sdb1 rather than if=/dev/sda of=/dev/sdb skip a bit.

And is it necessary to use dd anyway; to copy only the data, why not use the copy command 'cp', rsync, a flie browser or any other way of copying data rather than the raw disk data?

share|improve this answer
well, will try it out. Thanks. But can't use any other option , "cp, rsync, etc.." due to large size(~80GB) of files and want to copy multiple drives at a time. – linuxnewbie Dec 23 '09 at 6:52
But isn't dd going to take longer? It has to copy every byte from one partition to the next whereas other programs will just copy the data... – Neal Dec 23 '09 at 12:28
Let me know , is any program ( linux /win) can copy large data ( 60 - 80 GB) to multiple drives simultaneously ( parallel copy from one source to multiple destinations , of local disks not thru network - by multicast) . – linuxnewbie Dec 24 '09 at 11:05
Not that I know of, perhaps you should ask that as a new question. – Neal Dec 24 '09 at 14:29

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .