虛擬機器啟動的乙個Bat檔案 啟動虛擬機器 bat

2021-09-06 01:21:48 字數 4571 閱讀 4687

@rem *****************************

@rem 1.首先實現的是視窗隱藏.

@rem 2.接下來是服務的啟動,同時倘若服務並沒有安裝則進行安裝(因為發現好多的install.bat中並不能真正把所需服務安裝上,所以就把虛擬機器啟動.bat的功能稍微強化一下了).

@rem 3.啟動vmware.exe之後,cmd隱藏於後台等待,並且以10秒一次進行程序狀態的檢測,當檢測到了程序結束之後,便執行服務關閉操作,同時將服務狀態進行設定(這也是因為install.bat中安裝時不設定服務啟動型別,所以把虛擬機器啟動.bat的功能稍微強化一下).

@rem *.當虛擬機器進入後台執行vmware.exe關閉之後cmd仍然會繼續等待,直到vmware.exe和vmware-vmx.exe同時處於結束狀態.

@rem 這裡面有直接拷貝別人**的,也有自己做的部分.(bat,js,vbs),為什麼js不和vbs統一呢,:-)因為本人太懶了.

@rem 為了隱藏視窗,所以難以實現在原始路徑下執行,因此執行所有程式事件需使用絕對路徑

@rem 使用登錄檔確認服務是否安裝(reg query hklm\system\currentcontrolset\services\[服務名])

@rem 使用sc確認服務是否安裝(sc query [服務名])

@rem *****************************

@echo off

if == (goto _wait)

if "%processor_architecture%"  neq "x86" (set vnetlib="%~dp0vnetlib64.exe") else (set vnetlib="%~dp0vnetlib.exe")

@rem mode con cols=20 lines=1

@rem color 30

@rem 用於啟動安裝服務**部分

echo %vnetlib%

sc query vmci >nul 2>nul||(echo vmci服務需要安裝!&%vnetlib% -- install vmci&echo vmci服務安裝完成!)

%vnetlib% -- start vmci

rem net start vmci

sc query vmx86 >nul 2>nul||(echo vmx86服務需要安裝!&%vnetlib% -- install vmx86&echo vmx86服務安裝完成!)

%vnetlib% -- start vmx86

rem net start vmx86

sc query vmkbd >nul 2>nul||(echo vmkbd服務需要安裝!&%vnetlib% -- install vmkbd&echo vmkbd服務安裝完成!)

%vnetlib% -- start vmkbd

rem net start vmkbd

sc query vmauthdservice >nul 2>nul||(echo 授權服務需要安裝!&%vnetlib% -- install authd&echo 授權服務安裝完成!)

%vnetlib% -- start authd

rem net start vmauthdservice

sc query vmnetuserif >nul 2>nul||(echo userif服務需要安裝!&%vnetlib% -- install userif&echo userif服務安裝完成!)

%vnetlib% -- start userif

rem net start vmnetuserif

reg query hklm\system\currentcontrolset\services\vmnetbridge >nul 2>nul&&(goto _bridgeinstalled)

echo 橋接服務需要安裝!

rundll32 setupapi,installhinfsection _install1.nt 128 %cd%\netadapter.inf >nul

ver|find "6.">nul && (copy /y bridgewin7\*.* >nul)

ver|find "5.">nul && (copy /y bridgewinxp\*.* >nul)

%vnetlib% -- install bridge

del vmnetbridge.dll

del vmnetbridge.sys

echo 橋接服務安裝完成!

:_bridgeinstalled

%vnetlib% -- start bridge

@rem net stop vmnetbridge

@rem net start vmnetbridge

net start hcmon

net start "vmware nat service"

net start vmnetdhcp

net start vmusbarbservice

@rem 用於啟動虛擬機器**部分

start "" "%~dp0vmware.exe"

@rem 用於隱藏視窗的**部分

>"%temp%\vmware.vbs" echo set wshshell = wscript.createobject^(^"wscript.shell^"^)

>>"%temp%\vmware.vbs" echo wshshell.run chr^(34^) ^& %0 ^& chr^(34^) ^& ^" 1^",0

start /wait /d "%temp%" vmware.vbs

del %temp%\vmware.vbs

exit

:_wait

@rem 用於監測虛擬機器退出**部分

@rem to pause

@rem if(wscript.arguments.length != 0)

@rem

@rem     var objprocesses;

@rem     var wmi = getobject("winmgmts:");

@rem     do

@rem    

@rem     while(objprocesses.count != 0)

@rem }

@rem 用於虛擬機器退出後清理的**部分

>"%temp%\vmware.js" echo if(wscript.arguments.length != 0)

>>"%temp%\vmware.js" echo

>>"%temp%\vmware.js" echo     var objprocesses;

>>"%temp%\vmware.js" echo     var wmi = getobject("winmgmts:");

>>"%temp%\vmware.js" echo     do

>>"%temp%\vmware.js" echo    

>>"%temp%\vmware.js" echo     while(objprocesses.count != 0)

>>"%temp%\vmware.js" echo }

echo 進入後台等待

cscript.exe //nologo "%temp%\vmware.js" vmware.exe vmware-vmx.exe

del %temp%\vmware.js

net stop vmusbarbservice

net stop hcmon

net stop vmnetdhcp

net stop "vmware nat service"

net stop vmnetbridge

net stop vmnetuserif

net stop vmauthdservice

net stop vmkbd

net stop vmx86

net stop vmci

reg query "hklm\software\vmware, inc." /v oncestarted&&(goto _oncestarted)

sc config vmusbarbservice start= demand

sc config hcmon start= demand

sc config vmnetdhcp start= demand

sc config "vmware nat service" start= demand

sc config vmnetbridge start= demand

sc config vmnetuserif start= demand

sc config vmauthdservice start= demand

sc config vmkbd start= demand

sc config vmx86 start= demand

sc config vmci start= demand

reg add "hklm\software\vmware, inc." /v oncestarted

:_oncestarted

taskkill /f /im vmware-tray.exe >nul 2>nul

exit

啟動虛擬機器異常

1 無法啟動虛擬機器 提示 bios裡的 virtualization technology 沒有開啟 不同電腦進入bios熱鍵不同,我的電腦 重啟 出現thinkpad logo時按f1 切換到security 下的virtualization 切換為enable,按照指令儲存退出,啟機 2 啟動...

虛擬機器網絡卡啟動不了

按預設安裝裝了centos 6.2登入後發現ip配置不生效,網絡卡是沒有啟用狀態。root vm5 桌面 setup root vm5 桌面 service network restart 正在關閉介面 eth0 錯誤 斷開裝置 eth0 org freedesktop networkmanager...

vmware station 虛擬機器啟動失敗問題

今天在用vmware虛擬機器做實驗時,電腦突然斷電,然後就重新開機,可虛擬機器報錯 cannot open the disk xx.vmdk or one of the snapshot disks it depends on.reason failed to lock the file.網上中文帖...