Windows 使用 Homsetead 報錯踩坑記錄

小馬哥發表於2019-11-12

Windows中搭建Homsetead使用命令vagrant up 報錯

$ vagrant up
Bringing machine 'homestead-7' up with 'virtualbox' provider...
D:/HashiCorp/Vagrant/embedded/gems/2.2.6/gems/vagrant-2.2.6/plugins/provisioners/file/config.rb:20:in `expand_path': incompatible character encodings: UTF-8 and GBK (Encoding::CompatibilityError)
        from D:/HashiCorp/Vagrant/embedded/gems/2.2.6/gems/vagrant-2.2.6/plugins/provisioners/file/config.rb:20:in `expand_path'
        from D:/HashiCorp/Vagrant/embedded/gems/2.2.6/gems/vagrant-2.2.6/plugins/provisioners/file/config.rb:20:in `validate'

開啟控制皮膚更改使用者型別

Windows 搭建 Homsetead 使用 Vagrant up 報錯
點選使用者

Windows 搭建 Homsetead 使用 Vagrant up 報錯
選擇更改使用者名稱稱改成英文名稱

Windows 搭建 Homsetead 使用 Vagrant up 報錯

此時我們在執行vagrant up命令,結果發現還是報錯

Windows 搭建 Homsetead 使用 Vagrant up 報錯
雖然我們修改了使用者名稱稱但是我們的檔案還是中文的路徑:C:\Users

Windows 搭建 Homsetead 使用 Vagrant up 報錯
現在我們右擊此電腦選中管理
Windows 搭建 Homsetead 使用 Vagrant up 報錯
選擇本地使用者和組中的使用者

Windows 搭建 Homsetead 使用 Vagrant up 報錯
右擊Administrator選擇屬性

Windows 搭建 Homsetead 使用 Vagrant up 報錯
賬號已禁用取消掉,點選確定

Windows 搭建 Homsetead 使用 Vagrant up 報錯
登出當前賬戶,選擇Administrator賬戶登陸,之後我們開啟此電腦C:\Users
吧檔案改成英文名

Windows 搭建 Homsetead 使用 Vagrant up 報錯

Windows 搭建 Homsetead 使用 Vagrant up 報錯

現在修改登錄檔

windows+R開啟執行,輸入regedit點選確定即可

Windows 搭建 Homsetead 使用 Vagrant up 報錯

依次展開HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Profilelist
Windows 搭建 Homsetead 使用 Vagrant up 報錯
將其修改成對應的名字

Windows 搭建 Homsetead 使用 Vagrant up 報錯

Windows 搭建 Homsetead 使用 Vagrant up 報錯

到此就完成了,但是,我們要把以前的電腦的環境變數修改一下(有些需要修改)

Windows 搭建 Homsetead 使用 Vagrant up 報錯

Windows 搭建 Homsetead 使用 Vagrant up 報錯

再一次執行vagrant up發現還是報錯………………

Command: ["import", "\\?\C:\Users\Administrator\.vagrant.d\boxes\lc-VAGRANTSLASH-homestead\
6.1.0\virtualbox\box.ovf", "--vsys", "0", "--vmname", "lt-settler_default_1529197839254_477_153171
0722519_67195", "--vsys", "0", "--unit", "9", "--disk", "C:\Users\Administrator\VirtualBox VMs\l
t-settler_default_1529197839254_477_1531710722519_67195\box-disk001.vmdk"]

Stderr: 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Interpreting \?\C:\Users\Administrator.vagrant.d\boxes\lc-VAGRANTSLASH-homestead\6.1.0\virtualbox\
box.ovf...
OK.
0%...10%...20%...30%...40%...
Progress state: VBOX_E_FILE_ERROR
VBoxManage.exe: error: Appliance import failed
VBoxManage.exe: error: Code VBOX_E_FILE_ERROR (0x80BB0004) - File not accessible or erroneous file c
ontents (extended info not available)
VBoxManage.exe: error: Context: "enum RTEXITCODE __cdecl handleImportAppliance(struct HandlerArg *)"
at line 886 of file VBoxManageAppliance.cpp

開啟我們的Oracle VM VirtualBox軟體,左上角管理全域性設定,預設電腦的虛擬位置改一下

Windows 搭建 Homsetead 使用 Vagrant up 報錯

Windows 搭建 Homsetead 使用 Vagrant up 報錯

此時我們再次執行vagrant up,結果他又報錯了

...
...
There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and stderr is shown below.  Command: ["startvm", "da766e1e-a423-4f4d-a37e-8523e39b294f", "--type", "headless"]  Stderr: VBoxManage.exe: error: Raw-mode is unavailable courtesy of Hyper-V. (VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT) VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole

Windows 搭建 Homsetead 使用 Vagrant up 報錯
這個是因為我們開啟了Hyper-V,也就是說用了它就不能用Docker

以管理員的方式啟動 CMD,輸入 bcdedit 回車,結果如下圖顯示:

Windows 搭建 Homsetead 使用 Vagrant up 報錯

禁用掉 Hyper-V: bcdedit /set hypervisorlaunchtype off 然後重啟電腦再執行 vagrant up 就成功了。如果要開啟 Hyper-V:bcdedit /set hypervisorlaunchtype auto 需要重啟電腦生效。

重啟電腦,再次執行vagrant up命令,終於不在報錯

成功

輸入命令vagrant ssh

Windows 搭建 Homsetead 使用 Vagrant up 報錯

附上參考連結:

修改系統使用者名稱:https://blog.csdn.net/tanzey/article/details/82657816
關閉HYper-V:https://learnku.com/articles/29420

Windows 搭建 Homsetead 使用 Vagrant up 報錯

相關文章