Yes and no. Files, etc need to be in certain locations, that is about it. You will note going by Roberts instructions linked twice above, there is a hole in the first part of the single partition to fit the bootloader files, and then sfdisk takes up the rest of the available disk space for the EXT4 rootfs. If these instructions on this page are unclear feel free to either google "man page sfdisk" Or install sfdisk on your VM's ubuntu and read the man pages for sfdisk. etc.
Important notes.
Your rootfs must contain modules for the specific kernel you're planning on using. That is, if you plan on using any. If you're using an existing working sdcard image. this should not be much of a problem.
Duplicating the partition structure can be done using dd, if the duplicate disk is the same size, or larger. However, for larger disks, it is much simpler to use tar