imagex簡介:
微軟的官方鏡像封裝工具,基於文件,可以透過文件來尋找合適的硬件,而不是像基於扇區的GHOST一樣,壓縮率低並且還原後問題重重。
原版Vista/windows 7安裝碟目錄下sources資料夾下的install.wim就是基於imagex做出來的鏡像。
實測備份15G的系統盤,耗時20分鐘(標準壓縮率),體積4G左右。
還原耗時10分鐘左右。
由於imagex是命令列操作,令不少人頭大。於是我萌生了用我那三腳貓的批次功夫做一個簡單的批處理,從而實現簡單的系統備份/還原。
有很多缺陷,也望高手指出。
說明:
此檔案只能做到在PE環境下運作(imagex的限制)
windows 7系統最好辦,重啟按F8鍵,選擇“修復電腦” 下一步選擇“命令提示字元”
切到bat所在的目錄運行abc.bat就可以了
其他系統也可以用,但需要光碟或USB來啟動到PE模式
其中一個很大的問題是,這樣盤符就亂了D碟不一定變成哪個碟了
所以問題多多還望高手指教!以下為代碼:
@echo off
title 系統備份程式姜智昆製作
echo.
:menu
color ce
mode con:cols=90 lines=18
if exist d:imageximagex.exe goto act
echo =====================================
echo 程式將複製imagex程式至D盤
echo 按任意鍵繼續
echo =====================================
pause ->nul
xcopy %cd%imagex d:imagex /e /i
goto act
:act
cls
echo =====================================
echo 此程式需在PE環境下執行
echo win7進入PE方法為:
echo 重新啟動並按下F8
echo 選擇第一個“修復電腦”
echo 進入後選擇“命令提示字元”
echo 自動備份會預設系統碟為C 目標磁碟為D
echo 自動還原會將C碟格式化並D磁碟下的檔案還原
echo 如有資料遺失
echo 禁止跨省追捕
echo 歡迎交流mail: [email protected]
echo =====================================
pause ->nul
goto chose
:chose
cls
echo 請選擇要進行的操作按回車確認
echo 1. 進行備份
echo 2. 還原系統
echo 3. 刪除備份
echo 4. 退出程序
echo 5. 自動備份
echo 6. 自動還原
echo.
set cho=
set /p cho=輸入:
if /i "%cho%"=="1" goto 1
if /i "%cho%"=="2" goto 2
if /i "%cho%"=="3" goto 3
if /i "%cho%"=="4" goto 4
if /i "%cho%"=="5" goto 5
if /i "%cho%"=="6" goto 6
cls
echo 選擇無效重新輸入
pause ->nul
goto chose
:1
cls
set /p xtpanfu=請輸入要備份的分割區盤符:
if not "%xtpanfu%"=="" set xtpanfu=%xtpanfu:~0,1%
set /p panfu=請輸入備份檔目標盤符:
if not "%panfu%"=="" set panfu=%panfu:~0,1%
if exist %panfu%:systembackup.wim echo 將刪除先前的備份檔案&pause&&del %panfu%:systembackup.wim
d:
cd imagex
imagex /capture %xtpanfu%: %panfu%:systembackup.wim "backup"
echo ======================================
echo 備份完畢!將系統備份在%panfu%盤
echo 檔案名稱為systembackup.wim
echo 請重新啟動計算機
echo ======================================
set /p panfu=
set /p xtpanfu=
goto chose
:2
cls
set /p panfu=請輸入備份檔所在磁碟機:
if not "%panfu%"=="" set panfu=%panfu:~0,1%
set /p xtpanfu=請輸入系統盤符:
if not "%xtpanfu%"=="" set xtpanfu=%xtpanfu:~0,1%
echo =======================================
echo 確定將%xtpanfu%磁碟格式化
echo 並用%panfu%碟的鏡像檔還原麼?
echo 輸入Y繼續
echo 輸入N返回選單
echo =======================================
set /p sf=
if /i "%sf%"=="Y" goto Y
if /i "%sf%"=="N" goto chose
cls
echo 輸入無效將返回選單
pause
goto chose
:Y
format %xtpanfu%: /fs:ntfs /q /y
d:
cd imagex
imagex /apply %panfu%:systembackup.wim 1 %xtpanfu%:
bcdboot %xtpanfu%:windows /s %xtpanfu%:
echo ======================================
echo 系統還原完成!請重啟計算機
echo ======================================
set /p panfu=
set /p xtpanfu=
set /p sf=
goto chose
:3
cls
set /p panfu=請輸入備份檔所在磁碟機:
if not "%panfu%"=="" set panfu=%panfu:~0,1%
if not exist %panfu%:systembackup.wim echo 無法找到檔案,按任意鍵返回選單&pause ->nul&&cls&&goto chose
del %panfu%:systembackup.wim /f
echo 備份刪除成功!
goto chose
:4
exit
:5
cls
echo ======================================
echo 該操作將會備份C盤到D盤
echo 按任意鍵繼續
echo ======================================
pause ->nul
d:
cd imagex
imagex /capture c: d:systembackup.wim "backup"
echo ======================================
echo 系統備份完成!請重新啟動電腦!
echo ======================================
pause ->nul
goto chose
:6
cls
echo ======================================
echo 該操作將會格式化C碟!按任意鍵確認
echo ======================================
pause ->nul
format c: /q /y
d:
cd imagex
imagex /apply d:systembackup.wim 1 c:
bcdboot c:windows /sc:
echo ======================================
echo 系統還原完成
echo 請重新啟動計算機
echo ======================================
pause ->nul
goto chose
複製程式碼註:目前目錄下有imagex.exe