Hi again,
Thanks for starting a new thread instead of continuing to hijack the HDDErase thread.

Since you said that you want to wipe several
whole partitions, the approach which I would take is shown below, as it avoids you needing to worry about specifying LBAs. Note that
you do this at your own risk!

a) Take a backup onto other media (and check it is valid!) for whatever data you want to keep on that disk, in case anything goes wrong.
b) Ideally, disconnect any other disk drives in the system, leaving just the disk to have partitions erased, in order to minimise the chances of you making a mistake and erasing the wrong disk.
c) Using Linux (e.g. via a bootable "live CD"), as root run "fdisk -lu /dev/---" (where "---" is the device node for this
disk drive where you want to erase some partitions - the
disk device node name does not contain a number, and it depends on your system configuration e.g. /dev/sdh or /dev/hdz or whatever).
This output from fdisk will report the size & starting LBAs of each partition on that disk, and also the
partition device node names, which you will need to use with dd when erasing partitions from that disk.
d) Make sure that you have correctly identified the partitions that you want to erase e.g. by confirming their size from this fdisk output, with what you expect their size to be. If you are not sure that you have correctly identified the partitions to erase, then
do not continue.
e) Since you are erasing whole partitions, you don't need to worry about specifying starting LBAs to dd - you just need to specify the partition device node name, as the "of" parameter to dd.
So as an
example, to erase partition /dev/sdh3, you would run (as root):
dd if=/dev/zero of=/dev/sdh3 bs=1M
Note:
You need to find the correct
partition device node names (these have a number at the end e.g. /dev/sdh
3 or whatever) for
your system, from the fdisk output.
(FYI, by using "bs=1M" you would be specifying that dd should write 1MB blocks, and although that is not
necessarily the size of I/O being done to the physical disk, this will be much faster than leaving dd to use its default blocksize of 1 sector. Using this is optional.)
f) Repeat this for all the partitions that you want to wipe.
g) Run fdisk again (or parted or whatever you like) to delete the partition entries of the erased partitions, from the partition table itself.
If you wanted to run dd just once and specify a starting LBA to erase from there to the end of the disk, this is possible - but you need to be aware of the effect which using a "bs" parameter will have in that case. For simplicity, I don't recommend this, but it's your choice.
If you're doing this from Windows, without using Linux, then a similar approach could be used - except you'd need to use the port of dd to Windows
http://www.chrysocome.net/dd and to identify the partitions (i.e. Windows drive letters) which you want to erase using Windows (My Computer or Disk Management etc.) or the Windows dd program "--list" option.
You can use a hex editor in Windows, or hexdump in Linux, to confirm that the specified partitions (drive letters) are wiped (zero'ed).
There is a totally different approach which you could take - after making sure you have a good, tested, backup of the partition(s) you want to keep
and of the MBR, then you could erase the
whole disk, and then restore what you wanted from the backup. The risk with this procedure is that you are definitely using your backup in this case, so if anything is wrong with it, then you have a big problem. That is why I would not recommend this - but it's an alternative which some people might prefer.
Hope this helps. Corrections welcome
