I've found myself in this situation more than once, so I figured I'd ask to see if there's a way.
If I have a machine (with an OS), can I somehow mount an ISO somewhere on the hard disk, have the boot manager (grub/windows boot manager) pick up that ISO, boot off of it, and install the OS onto that machine? All while keeping any important data on the drive, but assuming there's enough space.
What if the machine has two hard drives? (One is empty in the case that caused this question).