在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'
開啟控制皮膚
中更改使用者型別
點選使用者
選擇更改使用者名稱稱
改成英文
名稱
此時我們在執行vagrant up
命令,結果發現還是報錯
雖然我們修改了使用者名稱稱但是我們的檔案還是中文的路徑:C:\Users
現在我們右擊此電腦
選中管理
選擇本地使用者和組
中的使用者
右擊Administrator
選擇屬性
把賬號已禁用
取消掉,點選確定
登出
當前賬戶,選擇Administrator
賬戶登陸,之後我們開啟此電腦
到C:\Users
吧檔案改成英文名
現在修改登錄檔
windows+R
開啟執行,輸入regedit
點選確定
即可
依次展開HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Profilelist
將其修改成對應的名字
到此就完成了,但是,我們要把以前的電腦的環境變數修改一下(有些需要修改)
再一次執行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
軟體,左上角管理
的全域性設定
,預設電腦的虛擬位置改一下
此時我們再次執行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
這個是因為我們開啟了Hyper-V
,也就是說用了它就不能用Docker
。
以管理員的方式啟動 CMD,輸入 bcdedit
回車,結果如下圖顯示:
禁用掉 Hyper-V: bcdedit /set hypervisorlaunchtype off
然後重啟電腦再執行 vagrant up
就成功了。如果要開啟 Hyper-V:bcdedit /set hypervisorlaunchtype auto
需要重啟電腦生效。
重啟電腦,再次執行vagrant up
命令,終於不在報錯
成功
輸入命令vagrant ssh
附上參考連結:
修改系統使用者名稱:https://blog.csdn.net/tanzey/article/details/82657816
關閉HYper-V:https://learnku.com/articles/29420