Você não precisa de root.
Você pode executar "fdisk someimage.hdd" e, desde que tenha acesso a esse arquivo, você está bem. Você também pode dd para partes daquele arquivo que correspondem a partições, usando os parâmetros offset e notrunc para dd.
Especificar os offsets manualmente é muito mais inconveniente comparado ao uso de dispositivos de particionamento com o dd. É aqui que o acesso root pode ser útil - você pode usar o comando "losetup" para criar dispositivos de blocos de loopback para sua imagem e suas partições.
Ainda assim, esses cálculos de compensação não variam cada vez que você repetir o exercício, se você não alterar os tamanhos das partições, portanto, se você os descobrir, poderá reutilizá-los para o futuro.
E há uma outra maneira - depois de criar a imagem uma vez e descobrir os offsets, você pode extrair o início da imagem de disco contendo a tabela de partição como um arquivo separado e não precisar usar fdisk e dd para o seu arquivo. reconstruções de imagens futuras - apenas concatene ("cat") a tabela de partição e as duas imagens de partição em uma imagem de disco. (Em alguns casos, pode ser necessário incluir também um arquivo de sufixo de disco após as partições semelhantes ao arquivo de prefixo de disco que contém a tabela de partição, pois pode haver uma tabela de partição de backup no final do disco.)