Mit GPT funktioniert die gute alte dd Variante leider nicht mehr ohne weiteres. Aber es geht immer noch.
Zuerst mit gparted live ISO booten und die vorhandene Root Partition so weit eindampfen, dass sie hinterher auf die kleine virtuelle Disk passt. Dann die VM runterfahren, ISO aus der Config nehmen und eine Platte in gewünschter Größe hinzufügen.
VM hochfahren.
Dann mit fdisk auf der neuen Platte die Partition(en) für root, boot 1 zu 1 anlegen.
Mit dd die einzelnen Partitionen übertragen (geht auch im laufenden Betrieb), bspw. dd if=dev/sda1 of=/dev/sdb1 bs=1M.
Wenn alles fertig ist, sollte blkid für beide Platten bei allen Partitionen die gleiche UUID anzeigt. PartUUID ist weiterhin unterschiedlich.
Die root Partition der neuen Platte unter /mnt einhängen.
Ggfs. weiter Partitionen (/boot?) der neuen Festplatte unterhalb von /mnt entsprechend (bspw. /mnt/boot) einhängen.
Zusätzlich /proc /dev und /sys unter /mnt erneut einhängen (Bsp: mount -B /proc /mnt/proc).
In das System auf der neuen Platte wechseln.
chroot /mnt
Dann
update-grub ausführen
und
grub-install /dev/sdb ausführen
VM runterfahren. Platten Details der ersten Disk in der ESX Config öffnen und sich die SCSI Adresse merken, bspw. 0.0.
Alte Platte aus der Config der VM entfernen, mutige werfen sie direkt weg.
In den Details der neuen Platte die SCSI Adresse auf den jetzt freien Platz umsetzen.
VM starten.
Fertig.