Vagrant Windows 10 包步骤删除用户配置文件吗?

Vagrant Windows 10 包步骤删除用户配置文件吗?

我正在构建一个 Vagrant Windows 10 盒子(使用 libvirt,基于此处记录的工作流程:https://fishilico.github.io/generic-config/windows/vagrant.html)。虚拟机准备就绪后,我运行:

vagrant package default --output win10-libvirt.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 查看器,我可以看到虚拟机执行了 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

相关内容