Показать сообщение отдельно
Старый 29.01.2010, 15:28   #112
Новичок
 
Аватар для Gelezyaka
 
Регистрация: 04.03.2007
Сообщений: 69
Репутация: 6 [+/-]
Может кто знает как автоматизировать процесс копирования\восстановления образа в автоматическом режиме? А то чайники постоянно не в те настройки лезут и форматируют другие разделы дисков как дауны!

Создать бы 2 CD диска для чайников:

1. 1й CD диск для копирования (втыкаем в привод и ждём пока автоматика копирнёт раздел диска C:\ с виндой на диск D:\MyBackup\Obraz.tib)

2. 2й CD диск для восстановления (втыкаем в привод и ждём пока автоматика восстановит раздел диска C:\ с виндой из ранее созданного образа D:\MyBackup\Obraz.tib)

ТАКОЕ РЕАЛЬНО СДЕЛАТЬ?

На форумах откопал только это:
автор таким диском делится не хочет

- Собрал Windows PE самый простецкий, без рамдиска и прочей ерунды, с плагином Acronis'a (True Image Echo Server) и пачкой masssstorage драйверов и добавил туда trueimagecmd.exe
- Сделал 2 разных загрузчика setupldr.bin и setupld1.bin, в которых подправил имена подхватваемых кустов реестра setupreg.hiv и setupre1.hiv соответственно, в которых, в свою очередь, прописал разные команды на запуск оболочки, create.exe и restore.exe (это всё чтобы 2 разных ПЕшки на диск не писать)
- create.exe и restore.exe написал на AutoIt'e:

(trueimagecmd.exe со всем акронисом лежит в ситемной папке)
create.exe: Автоматом создаёт образ 1-го раздела на 2м логическом диске (обычно D в папочке $fld


Код:
Скрытый текст:

$fld="DoNotDelete\"
$cmd="trueimagecmd.exe "
$pass="00000000"
$filename="backup.tib"
$newfilename="backup1.tib"
$oldfilename="backup_old.tib"
$flag=0
$ADRIVES=DriveGetDrive("FIXED")
If IsArray($ADRIVES) Then
if $ADRIVES[0]>1 Then
$drive=$ADRIVES[2]&"\"
FileDelete($ADRIVES[1]&"\hiberfil.sys")
FileDelete($ADRIVES[1]&"\pagefile.sys")
RunWait($cmd&"/create /filename:"""&$drive&$filename&""" /partition:1-1 /password:"&$pass)
if FileExists($drive&$fld&$filename) then FileMove($drive&$fld&$filename,$drive&$fld&$oldfil ename,9)
FileMove($drive&$newfilename,$drive&$fld&$filename ,9)
FileMove($drive&$filename,$drive&$fld&$filename,9)
Else
MsgBox(0,"AutoRestore","Найден только один раздел, для создания образа необходимо минимум 2 раздела!")
EndIf
Else
MsgBox(0,"AutoRestore","Не найдены жесткие диски. Попробуйте ручной режим!")
EndIf


restore.exe: Автоматом восстанавливает образ на 1й раздел 1-го диска из файла $fld \ $filename, который ищется на всех остальных дисках, и если не находит, то запрашивает найти и выбрать его вручную


Код:
Скрытый текст:

$fld="DoNotDelete\"
$cmd="trueimagecmd.exe "
$pass="00000000"
$filename="backup.tib"
$flag=0
$ADRIVES=DriveGetDrive("FIXED")
If IsArray($ADRIVES) Then
For $i=1 to $ADRIVES[0]
if(FileExists($ADRIVES[$i]&"\"&$fld&$filename)) Then $flag=$i
Next
if $flag>0 Then
$drive=$ADRIVES[$flag]&"\"
FileMove($drive&$fld&$filename,$drive&$filename,1)
RunWait($cmd&"/deploy /filename:"""&$drive&$filename&""" /partition:1-1 /target_partition:1-1 /type:active /password:"&$pass)
FileMove($drive&$filename,$drive&$fld&$filename,1)
elseif MsgBox(4,"AutoRestore","Файл образа не найден, указать файл вручную?")=6 then
$custom=FileOpenDialog("Выберите файл образа для восстановления",$ADRIVES[2]&"\","Файлы образов (*.tib)")
if Not @error Then RunWait($cmd&"/deploy /filename:"""&$custom&""" /partition:1-1 /target_partition:1-1 /type:active /password:"&$pass)
EndIf
Else
MsgBox(0,"AutoRestore","Не найдены жесткие диски. Попробуйте ручной режим!")
EndIf


Загрузчик сделал на основе isolinux, плюс прикрутил туда 2 "ручных режима", Первый запускает обычный загрузочный образ Акрониса, а второй запускает всё ту же PE, но с оболочкой в виде самого Акрониса (На случай если загрузочный акронис не увидит винтов (тут masstorage-драйверов то побольше)

Содержание isolinux.cfg:

код:
Скрытый текст:

PROMPT 0
TIMEOUT 100
NOESCAPE 1
ALLOWOPTIONS 0
DEFAULT vesamenu.c32
FONT bootfont.psf
MENU BACKGROUND boot.png
MENU WIDTH 45
MENU MARGIN 0
MENU ROWS 13
MENU TIMEOUTROW 20
MENU HELPMSGROW 18
MENU HELPMSGENDROW -1
MENU CMDLINEROW 35
MENU HSHIFT 2
MENU VSHIFT 5

menu color screen 37;40 #00000000 #00000000 none
menu color border 30;44 #00000000 #00000000 none
menu color title 1;36;44 #ffFFAB00 #00000000 none
menu color unsel 37;44 #ffEBEB11 #00000000 none
menu color hotkey 1;37;44 #ff60CA00 #00000000 none
menu color sel 7;37;40 #00000000 #ffffffff none
menu color hotsel 1;7;37;40 #ff808080 #ff60CA00 none
menu color scrollbar 30;44 #00000000 #00000000 none

menu color tabmsg 31;40 #aaaaaaaa #00000000 none
menu color cmdmark 1;36;40 #ffff0000 #00000000 none
menu color cmdline 37;40 #aaaaaaaa #00000000 none
menu color pwdborder 30;47 #ffff0000 #00000000 std
menu color pwdheader 31;47 #ffff0000 #00000000 std
menu color pwdentry 30;47 #ffff0000 #00000000 std
menu color timeout_msg 37;40 #ffF27700 #00000000 none
menu color timeout 1;37;40 #ffF27700 #00000000 none
menu color help 37;40 #aaaaaa00 #00000000 none
menu color msg07 37;40 #90ffffff #00000000 std

MENU AUTOBOOT Загрузка продолжится через # сек

LABEL p_hdd
MENU DEFAULT
MENU LABEL Продолжить загрузку с жесткого диска
LOCALBOOT 0x80

MENU SEPARATOR

LABEL s_restore
MENU LABEL Восстановить операционную систему
KERNEL /restore.bin
TEXT HELP
Автоматическое восстановление образа системы.
ВНИМАНИЕ! ВСЕ ДАННЫЕ НА ДИСКЕ 'C' БУДУТ УДАЛЕНЫ!
ENDTEXT

MENU SEPARATOR
MENU SEPARATOR
MENU SEPARATOR

LABEL s_create
MENU LABEL Создать новый образ
KERNEL /create.bin
TEXT HELP
Автоматическое создание нового образа диска 'С'
ENDTEXT

LABEL s_manual1
MENU LABEL Ручной режим 1
KERNEL /ATIES.KRN vga=788 ramdisk_size=32768 acpi=off quiet noapic mbrcrcs on
INITRD /ATIES.FS
TEXT HELP
Ручной режим 1
ENDTEXT

LABEL s_manual2
MENU LABEL Ручной режим 2
KERNEL /manual.bin
TEXT HELP
Ручной режим 2
ENDTEXT


Получилось всё на 240 Мб, что нибудь еще пообрезать, да можно на миниСД записывать.

автор того диска отписался:
Скрытый текст:
Он заточен под нужды фирмы, в какой работаю, и распространять его среди потенциальных конкурентов нельзя
Я и так уже выложил бОльшую часть необходимой информации для создания собственного такого диска, если будут вопросы по созданию - подскажу, а целиком выкладывать не буду. К тому же инет у меня на отдачу слабенький

Последний раз редактировалось Gelezyaka; 29.01.2010 в 15:37.
Gelezyaka вне форума  
Ответить с цитированием