PARTNEW changes ONLY the partition table in the MBR(only one partition entry, i.e., 16 bytes, will be changed) and it will modify the number-of-hidden-sectors(a 4-byte long integer) in the BPB in the boot area of the partition image if PARTNEW thinks the hidden-sectors field should be adjusted. Besides those two areas(which added up to only 20 bytes), nothing else will be changed on the hard disk by PARTNEW.
So I need to create an extended partition with one unique logical partition inside it before parnew command?
No. you don't have to. Any logical partition can be hooked to the partition table by PARTNEW, and thus the logical partition will have a new equivalent primary partition. You may think of the new primary partition as an alias of the original logical partition. Both will link to the same area(the partition's content/data) on the disk.
The above talk also applies to a contiguous file, in place of the logical partition mentioned above.
Or I only must have unallocated space, and let partnew create the extended partition + logical partition from disk image (which should be without MBR) ?
No. You don't have to. PARTNEW does not duplicate data/sectors. The existing logical partition(or the existing contiguous file) itself will be the source AND the destination. So no copy action will happen(occur).
Since there is no copy, for me it still will be a kind of mapping of the image file to the logical partition, isn't it?
No. There is no mapping made. The partition table of the hard drive will be modified permanently by PARTNEW. If you don't want the partition table to be modified, and you want it to be an emulation, then you should use the 'map --in-situ' feature(see readme).
Thanks for your questions.