Vagrant Windows 10 패키지 단계에서 사용자 프로필이 제거됩니까?

Vagrant Windows 10 패키지 단계에서 사용자 프로필이 제거됩니까?

Vagrant Windows 10 상자를 구축 중입니다(여기에 문서화된 워크플로를 기반으로 libvirt를 사용함).https://fishilico.github.io/generic-config/windows/vagrant.html). VM이 준비되면 다음을 실행합니다.

vagrant package default --output win10-libvirt.box

그런 다음 "box" 파일을 다른 컴퓨터로 가져가서 vagrant add.

문제는 설정의 일부로 사용자 ~/.ssh/authorized_keys파일에 키를 추가했지만 두 번째 컴퓨터에서 새 상자를 시작하면 해당 파일이 사라졌다는 것입니다. 또한 Microsoft Windows OpenSSH 포트에서 지원되는 "관리자 키" 파일에 키를 추가하려고 시도했지만 C:\ProgramData\ssh\administrators_authorized_keys새 상자를 시작할 때 이 키도 사라졌습니다. 실제로 전체 C:\ProgramData\ssh폴더가 사라졌습니다.

시스템 구성 폴더를 정리 합니까 vagrant package? 그렇다면 어떻게든 비활성화할 수 있습니까? 이에 대한 문서를 찾을 수 없습니다.

답변1

Sysprep에 대한 호출을 추가한 후 프로비저닝 스크립트가 끝날 때 종료되면 문제가 해결되었습니다. Sysprep이 필요한지 아니면 종료되는지 잘 모르겠습니다. libvirt 종료 프로세스는 충분히 안전해야 하며 libvirt 뷰어를 보면 VM이 Windows 종료 프로세스를 수행하는 것을 볼 수 있습니다.

내에서 이 명령을 사용했습니다 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

관련 정보