ja, rufus sollte das können.
Das Ding ist nicht so einfach, weil diese ISOs einen eigenen Bootmechanismus haben, also weder GPT - EFI noch MBR - BIOS. Deshalb müsste man einen neuen Bootmechanismus für einen USB-Stick generieren, auf dem man dieses Windows gelegt hat.
Das ist viel viel Bit-Fiselei, weil es keine fertigen Tools gibt (außer vielleicht rufus und einige andere, die dann nicht unter FreeBSD verfügbar sind).
Was ich mir vorstellen könnte, wäre also ein entpacktes ISO auf den Stick gelegt, benötigte Files zum Booten beisteuern und dann einen Bootloader in den MBR schreiben. Ob das auch mit Win7 und UEFI und EFI-Partition geht, weiß ich nicht, deshalb bleibe ich mal simpel bei MBR und BIOS-Modus.
Dazu könnte es genügen, von einem entsprechend installierten System die ersten 446 BYtes des MBR zu nehmen und auf den Stick zu klonen.
Ich glaube, dass ich soetwas mit einem anderen System (nicht Win7) mal erfolgreich gemacht hatte, mit einem Win10 aber gescheitert war.
Was ich mir auch vorstellen kann, ist der alte FreeBSD Bootloader. Ich glaube, der heißt boot0 und liegt in /boot. Der installiert einen Bootloader, der sogar installierte Systeme finden kann und diese dann durch Auswahl starten lässt. Es gibt dazu auch eine Konfiguration, finden sich hier auch Beiträge dazu im Zusammenhang mit einem Boot von einem Raid-Controller (da hatte ich das mal gemacht).
Was mir im Augenblick nicht ganz klar ist: ob die Partitionstabelle nicht zerstört wird, wenn man den komplett als 512 Byte MBR schreibt. Das sollte hexdump einfach anzeigen. Und ich weiß gerade nicht, ob FreeBSD dd auf das Byte genau schneiden kann. Früher konnte es nur 512Bytes und man musste also GNU dd verwenden oder ich glaube sdd von Joerg Schilling.
Naja, und dann sollte natürlich Grub das können, müsste aber erst installiert und konfiguriert werden etc.
Mit welchem Bootloader auch immer: die Bootumgebung des Windows muss vorhanden sein. Also, was früher mal ntloader oder so ähnlich hieß und so weiter. Sollte dies auf dem ISO nicht vorhanden sein, müsste es eben aus einem anderen System kommen.