auk109 wrote:
先前用RAMdisk...(恕刪)
我是把 img 檔分兩階段載入,參考看看:
*************************************************
第一階段:開機啟動腳本
本機群組原則
執行:gpedit.msc

腳本名稱:StartVD.cmd
net start imdisk
xcopy "E:\Img\Plugins.img" "R:\Img\"
imdisk -a -f "R:\Img\Plugins.img" -m T:
xcopy "E:\Img\Firefox.img" "R:\Img\"
imdisk -a -f "R:\Img\Firefox.img" -m S:
xcopy "E:\Img\XAMPP.img" "R:\Img\"
imdisk -a -f "R:\Img\XAMPP.img" -m W:
xcopy "E:\Img\APPs.img" "R:\Img\"
imdisk -a -f "R:\Img\APPs.img" -m V:
說明:
1.
net start imdisk
是用來啟動 imdisk 服務(不論原先有沒有啟動都沒差)。
保險用,才不會因為 imdisk 服務尚未啟動,導致錯誤。
2.
xcopy 把硬碟中的 img 檔,整個拷貝倒 RAMDisk
3.
掛載 RAMDisk 中的 img 檔
4.
順序上,以小檔優先排前面,或者一開機就會用到的比如瀏覽器排前面。
************************************************
第二階段:登入後,啟動常駐程式
將腳本放在帳戶登入後的「啟動」目錄

腳本名稱:StartLnk.cmd
@echo off
color 2f
echo.
echo 載入常駐軟體中,請稍後....
echo.
echo 請不要關閉此視窗!(完成後它會自動關閉)
echo.
echo 進度:
echo --------------------------
echo.
:start
if exist v:\ (
echo.
echo 已偵測到虛擬磁碟,正在載入軟體中...
echo.
D:
cd "D:\00 - Apps\Lnk\V"
start AquaSnap.lnk
start Asuite.lnk
start SystemMonitor.lnk
start T-Clock-X64.lnk
start RocketDock.lnk
start PicPick.lnk
start KeyboardLeds.lnk
start DiskInfoS.lnk
start OpenHardwareMonitor.lnk
exit
) else (
echo 等候虛擬磁碟掛載...
ping 127.0.0.1 -n 3 > nul
goto start
)
說明:
1.
color 2f
可以變 cmd 視窗的顏色,2f 是綠底白字
2.
if exist v:\ (
假如 v: 碟存在,才執行下面區段
最後加個:exit。跳出腳本
) else (
否則,執行下面區段
最後面加個: goto stsrt 標籤。使其成為無限迴圈。
這個是用來判斷 img 檔案,是否已經掛載了。
如果有掛載了,才載入程式,否則等待 3秒,繼續迴圈(回到一開始判斷的地方)。
3.
start 捷徑名稱.lnk
捷徑就是:傳送到桌面當捷徑,那個捷徑。
捷徑的附檔名不會顯示,但實際上附檔名是 .lnk,所以必須加附檔名 .lnk。
bat 腳本最好不要直接去啟動視窗軟體的 .exe 檔(常會發生錯誤,因為工作路徑不對),建議先建 捷徑,再用 start 去啟動捷徑。

↑ 像這樣子,把要啟動的程式,都先建捷徑,集中放一個目錄,腳本中用 start 去呼叫啟動。
4.
ping 127.0.0.1 -n 3 > nul
延遲用的,類似 sleep 效果
bat 腳本沒有 sleep 指令,要延遲只能用這方法
3 是 3秒,數字可更改。2min 就是 120(秒)。
因為這腳本是迴圈的,有 if 自動判斷,所以延遲不用太長。3秒差不多。
5.
*.bat 和 .cmd 是一樣的東西。
看個人喜好取副檔名。
******************************************
快速回寫腳本:
把腳本建個捷徑,捷徑拖到開始鈕

範例:
腳本名稱:Backup-Fx.cmd (火狐-回存)
@echo off
color 2f
echo.
echo 備份映像檔中,請稍後...
echo.
echo (請勿關閉此視窗)
echo.
echo.
echo 執行進度:
echo ------------------------------------
echo.
echo 1) 卸載 S 碟...
echo.
imdisk -D -m S:
echo.
echo 2) 備份 Firefox.img 到硬碟...
echo.
xcopy "R:\Img\Firefox.img" "E:\Img\" /y
echo.
echo 3) 掛載 S 碟...
echo.
imdisk -a -f "R:\Img\Firefox.img" -m S:
echo.
echo 4) 完成!
說明:
1.
RAMDisk 中的資料,關機就會消失,所以資料必須回寫硬碟
使用這種「快速回寫」,點一下就 OK 了,全自動
2.
imdisk -D -m 磁碟代號
"強制" 卸載虛擬磁碟
3.
xcopy 把 RAMDisk 中的 img 檔,拷貝回硬碟
參數 y/ ,自動回答 yes, 無條件覆寫
4.
拷貝完成後,再把 RAMDisk 中那個 img 檔,掛載回去原來代號
******************************************
補充參考:
有興趣的話,可順便參考這篇:(有相關)
[教學] 將PC遊戲封裝成img檔,掛載為虛擬磁碟
內容不重要
重要的是那篇 1樓,最後面,有個:補充 02
提供了一個:自動掛載腳本
那腳本需要安裝,因為它會寫入機碼。
無毒,不放心的話,有原始碼可參考和檢查。
該腳本用途:
可以把任何副檔名為 *.game 的映像檔,快速掛載到 Z: 槽
滑鼠對 *.game 檔案,點兩下,就快速掛到 Z:
並且 *.game 的檔案,圖示會變成一支搖桿
那是我研究很久,才研究出來的:終極快速 掛載遊戲 img 方法
保證好用

用法:
把不常用的 img 檔,或遊戲封裝的 img 檔,都改附檔名 *.game
可以硬碟直接掛載
也可以:先拷貝到 RAMDisk,再從 RAMDisk 掛載。
註:
若 img 檔是在 RAMDisk 中,那麼掛載後,自然也就是 RAMDisk 的速度。
雖然實際上經過虛擬層(掛載為虛擬磁碟),會比原始的 RAMDisk 稍慢一些,不或還是比 SSD 快很多。

內文搜尋

X