Vagrant Windows 10-Paketschritt entfernt Benutzerprofil?

Vagrant Windows 10-Paketschritt entfernt Benutzerprofil?

Ich baue eine Vagrant Windows 10-Box (mit libvirt, basierend auf dem hier dokumentierten Workflow:https://fishilico.github.io/generic-config/windows/vagrant.html). Nachdem die VM bereit ist, führe ich aus:

vagrant package default --output win10-libvirt.box

und dann nehme ich die „Box“-Datei mit auf einen anderen Rechner und importiere sie mit vagrant add.

Die Sache ist, dass ich im Rahmen des Setups einen Schlüssel zur Benutzerdatei hinzufüge ~/.ssh/authorized_keys, aber wenn ich die neue Box auf der zweiten Maschine starte, ist diese Datei weg. Ich habe auch versucht, einen Schlüssel zur Datei „Administratorschlüssel“ hinzuzufügen, die auf dem Microsoft Windows OpenSSH-Port unter unterstützt wird C:\ProgramData\ssh\administrators_authorized_keys, aber auch diese ist weg, wenn ich die neue Box starte – eigentlich ist der gesamte C:\ProgramData\sshOrdner weg.

Bereinigt vagrant packagedie Konfigurationsordner des Computers? Und wenn ja, kann dies irgendwie deaktiviert werden? Ich konnte keine Dokumentation dazu finden.

Antwort1

Das Problem wurde für mich behoben, nachdem ich am Ende des Bereitstellungsskripts einen Aufruf von Sysprep gefolgt von einem Shutdown hinzugefügt habe. Ich bin nicht sicher, ob Sysprep oder Shutdown erforderlich war – der libvirt-Shutdown-Prozess sollte sicher genug sein und wenn ich den libvirt-Viewer beobachte, kann ich sehen, dass die VM den Windows-Shutdown-Prozess durchführt.

Ich habe diesen Befehl in meinem verwendet Vagrantfile:

Vagrant.configure("2") do |config|
  # ...

    config.vm.provision "shell", inline: <<-'SCRIPT'
& ./run-some-provisioning.ps1
& C:/Windows/System32/sysprep/sysprep.exe /generalize /mode:vm /shutdown
SCRIPT

  # ...
end

verwandte Informationen