Ghost 命令行參數核心語法
Ghost[32/64].exe [@檔案] [參數...]
核心開關:
-clone,mode={copy|pdump|pload|restore|pcopy|load|dump},src=...,dst=...
-sure # 無需確認,自動執行
-rb # 操作完成後自動重啟
-split=大小(MB) # 分卷大小 (如 630, 4480, 4700)
-span # 啟用跨卷 (配合 -split)
-pwd,密碼 # 設置映像文件密碼
-pwd # 交互式輸入密碼
-z{1-9} # 壓縮級別 (1最快/9最小/默認無)
-ia # 智能扇區複製 (僅複製已用扇區,極大提速)
-fni # 強制鎖定卷 (避免複製時數據變更)
-crcignore # 忽略 CRC 錯誤 (損壞盤搶救)
-nomsbr # 不重新安裝 MBR (保留現有引導)
四大經典自動化腳本場景
1. 系統分區全備份 (C盤 → 本地/網絡/外置硬盤)
@echo off
:: 變量配置
set SRC_DRIVE=1:1 :: 第一塊硬盤第一分區 (通常為 C:)
set DST_PATH=D:\Backup\System_%date:~,4%%date:~5,2%%date:~8,2%.gho
set SPLIT_SIZE=4000 :: 分卷 4GB (適配 FAT32 U盤/網絡傳輸)
set COMP_LEVEL=5 :: 中等壓縮 (速度/大小平衡)
:: 執行備份
Ghost64.exe -sure -clone,MODE=PDUMP,SRC=%SRC_DRIVE%,DST=%DST_PATH% -split=%SPLIT_SIZE% -z%COMP_LEVEL% -ia -fni
:: 結果檢查
if %errorlevel% equ 0 (
echo [SUCCESS] 備份完成: %DST_PATH%
:: 可選:驗證映像完整性
Ghost64.exe -check %DST_PATH%
) else (
echo [FAILED] 備份失敗,錯誤碼: %errorlevel%
)
pause
2. 分卷備份至 FAT32 U盤/光盤 (兼容性最佳)
@echo off
set SRC=1:1
set DST=F:\GhostImage\Win10_Base.gho
set SPLIT=4000 :: 4GB 分卷,FAT32 單文件限制 4GB-1Byte
Ghost64.exe -sure -clone,MODE=PDUMP,SRC=%SRC%,DST=%DST% -span -split=%SPLIT% -z5 -ia
:: -span 必須配合 -split 使用,生成 .gho, .001, .002...
:: 還原時只需指定首個 .gho 文件
3. 一鍵靜默還原 (無人值守部署/災難恢復)
@echo off
:: 警告:此操作不可逆,將覆蓋目標分區所有數據!
set SRC_IMG=D:\Backup\System_Base.gho
set DST_DRIVE=1:1
echo 即將還原 %SRC_IMG% 到 %DST_DRIVE%
echo 30秒後開始,按 Ctrl+C 取消...
timeout /t 30 /nobreak
Ghost64.exe -sure -rb -clone,MODE=PLOAD,SRC=%SRC_IMG%,DST=%DST_DRIVE% -ia -fni
:: -rb: 完成自動重啟
:: -fni: 強制鎖定卷 (防止還原過程中數據寫入)
:: 注意:若映像有密碼,需添加 -pwd,密碼
4. 加密備份 (數據機密性保護)
@echo off
set SRC=1:1
set DST=D:\SecureBackup\System_Encrypted.gho
set PWD=StrongP@ssw0rd2024! :: 建議:隨機生成 32+ 字符,存入密碼管理器
Ghost64.exe -sure -clone,MODE=PDUMP,SRC=%SRC%,DST=%DST% -pwd,%PWD% -z5 -ia
:: 驗證加密映像
Ghost64.exe -check %DST% -pwd,%PWD%
:: 還原時必須提供相同密碼:
:: Ghost64.exe -sure -rb -clone,MODE=PLOAD,SRC=%DST%,DST=1:1 -pwd,%PWD%
進階自動化:PowerShell 封裝模組
function Invoke-GhostBackup {
param(
[Parameter(Mandatory)][string]$SourceDrive, # 如 "1:1"
[Parameter(Mandatory)][string]$DestinationPath, # 完整 .gho 路徑
[int]$SplitSizeMB = 0, # 0=不分卷
[ValidateRange(1,9)][int]$Compression = 5,
[string]$Password,
[switch]$Verify
)
$args = @(
"-sure",
"-clone,MODE=PDUMP,SRC=$SourceDrive,DST=$DestinationPath",
"-z$Compression",
"-ia",
"-fni"
)
if ($SplitSizeMB -gt 0) { $args += "-span", "-split=$SplitSizeMB" }
if ($Password) { $args += "-pwd,$Password" }
$proc = Start-Process -FilePath "Ghost64.exe" -ArgumentList $args -Wait -PassThru -NoNewWindow
if ($proc.ExitCode -ne 0) { throw "Ghost 備份失敗,退出碼: $($proc.ExitCode)" }
if ($Verify) { & "Ghost64.exe" -check $DestinationPath @(if($Password){"-pwd,$Password"}) }
}
function Invoke-GhostRestore {
param(
[Parameter(Mandatory)][string]$ImagePath,
[Parameter(Mandatory)][string]$TargetDrive,
[string]$Password,
[switch]$AutoReboot
)
$args = @(
"-sure",
"-clone,MODE=PLOAD,SRC=$ImagePath,DST=$TargetDrive",
"-ia", "-fni"
)
if ($AutoReboot) { $args += "-rb" }
if ($Password) { $args += "-pwd,$Password" }
$proc = Start-Process -FilePath "Ghost64.exe" -ArgumentList $args -Wait -PassThru -NoNewWindow
if ($proc.ExitCode -ne 0) { throw "Ghost 還原失敗,退出碼: $($proc.ExitCode)" }
}
企業級部署最佳實踐
| 場景 | 策略 | 關鍵點 |
| 新機預裝 | 母盤製作 → Sysprep 一般化 → Ghost 映像 → 部署腳本注入驅動/激活/加域 | 驅動包分離、SID 唯一性、應用預裝 |
| 機房批量重裝 | PXE 啟動 WinPE → 網絡共享/HTTP 下載映像 → Ghost 還原 → 後續配置腳本 | 多播/單播選擇、帶寬控制、進度監控 |
| 災難恢復演練 | 季度實戰演練:模擬硬盤故障/勒索加密 → 還原驗證 RTO/RPO | 全流程計時、數據一致性校驗、業務驗收 |
| 異地備份 | 本地備份 → 加密壓縮 → 上傳對象存儲 (S3/MinIO/OSS) → 生命周期策略 | 傳輸加密、完整性校驗、版本保留、成本控制 |
避坑指南與現代替代
Ghost 仍是純 DOS/WinPE 環境下、MBR 分區、NTFS/FAT32 卷、追求極致速度/兼容性的不二之選。掌握其參數腳本化,是運維人員的基本功。但新環境新項目,請擁抱 WIM/現代備份生態。
copyright ©
萬盛學電腦網 all rights reserved