Windows

Vagrant Windows 10 軟體包步驟刪除使用者配置文件?

  • September 29, 2021

我正在建構一個 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清理機器配置文件夾,如果是這樣 - 可以以某種方式禁用它嗎?我找不到有關此的文件。

在我添加了對 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

引用自:https://serverfault.com/questions/1078297