This is typically what happens when you create a VM from an image with the wrong create option (attach vs from image for unmanaged disks) or the wrong disk type for managed disks.
Azure thinks this is a specialized VHD, when in reality it is generalized.
To start, lets take a step back. If you are trying to bring an on-premise VM to Azure, you do not necessarily need to sysprep the VM. If you just want to bring a single VM to Azure, converting it to a fixed size .VHD and uploading it should be all that is needed. Sysprep is required if you intend to deploy multiple VMs from a single image.
Are you creating the image with a managed or unmanaged disk? If you are following a doc or instructions, can you link them?
Here is an example of an image creation from an existing .vhd file in an Azure storage account. In that example, only worry about the OS image lines, the data disk lines are not relevant.