So how do I arrange the existing partitions on the HDD so that I can use partnew to create a second primary partition from an existing partition elsewhere on the hdd?
I'll upload a screenshot later o,n I'm away from the PC at the moment.
You use another slot, in your case you can use (hd0,2) or (hd0,3) as both are free.
I know it can be confusing, in grub4dos syntax a "same" thing can mean slightly different things, in this case because of the way the whole stuff with volumes in Extended Partiton are created.
Normally:
(hd0,0) means first primary partition (on first disk)
(hd0,1) means second primary partition
(hd0,2) means third primary partition
(hd0,3) means fourth primary partition
(hd0,4) means first volume inside extended
(hd0,5) means second volume inside extended
BUT the prerequisite for any volume inside extended to exist is that the Extended partition exists, and in order to exist this needs to occupy a slot in the MBR.
As a matter of fact the limit of MBR is that of maximum 4 Primary partitions OR maximum 3 Primary partitions + 1 Extended (the limit that only one Extended partition may exist is given by the OS, not by the MBR structure).
So in the case of the maximum 4 Primary partitions:
(hd0,0) means first primary partition (on first disk)
(hd0,1) means second primary partition
(hd0,2) means third primary partition
(hd0,3) means fourth primary partition
And in the case of maximum 3 Primary partitions + 1 Extended
(hd0,0) means first primary partition (on first disk)
(hd0,1) means second primary partition
(hd0,2) means third primary partition
(hd0,3) means nothing, this partition doesn't really exist as a volume, it is just a pointer to a further MBR-like structure containing first volume inside extended
In your case:
(hd0,0) means first primary partition (on first disk)
(hd0,1) means nothing, this partition doesn't really exist as a volume, it is just a pointer to a further MBR-like structure containing first volume inside extended
(hd0,2) empty/does not exist
(hd0,3) empty/does not exist
When you use partnew the meaning for the target (i.e. to where it writes to) is slightly different, it represent an exact location within the MBR partition table:
(hd0,0) means the first slot in the MBR (on first disk)
(hd0,1) means second slot in the MBR (on first disk)
(hd0,2) means third slot in the MBR (on first disk)
(hd0,3) means fourth slot in the MBR (on first disk)
So right now you cannot write on the slot called (hd0,1) because it is not empty.
Please understand how some caveat may apply (particularly due to the different ways the different OS or even some particular tool running under them may access the info in the MBR and parse it), as an example you may have issues with partition "out of sequential order" and more generally (with the way you are currently using the feature) there is the possible risk of having the same volume mapped twice (because you have it written by the partnew command as primary partition BUT you have also it available as volume inside extended).
I would rather use once (for each volume) the partnew command to write it as primary (this will also correct once and for all the "sectors before"), jolt down the extents and later only use the partnew command with the extents (and expliciting the partition ID).
Wonko