# os cloning using partimage:проблема с геометрией существует?

## fank

есть такая ситуация: нужно клонировать системы (win XPE)

покупать ничего не получится - политика компании (вполне оправдана)

нужен любой свободный аналог Ghost'a

в какой-то мере использовался partimage, но это делалось другим человеком

он утверждал, что сабж некорректно клонирует, если диски с разной геометрией

я так понимаю, нужно восстанавливать mbr до корректного состояния

как решить эту проблему максимально автоматизированно?

Спасибо заранее!

----------

## C2H5OH

 *fank wrote:*   

> есть такая ситуация: нужно клонировать системы (win XPE)
> 
> покупать ничего не получится - политика компании (вполне оправдана)
> 
> нужен любой свободный аналог Ghost'a
> ...

 

гм.. а почему бы не пользовать dd ?

----------

## ZByte

 *C2H5OH wrote:*   

>  *fank wrote:*   есть такая ситуация: нужно клонировать системы (win XPE)
> 
> покупать ничего не получится - политика компании (вполне оправдана)
> 
> нужен любой свободный аналог Ghost'a
> ...

 

Только при этом нужно не забывать, что винда это не линух и можно ОЧЕНЬ больно наступить на грабли. 

Читать здесь

----------

## fank

люди, вы хоть представляете, о чём я спрашиваю?

ладно.... чтобы сразу прекратить посылку дурацких советов, отвечу на данные вопросы

dd не используется, потому что он не учитывает геометрию дисков

то Zbyte

как ты думаешь, sysprep может использоваться на нелицензионной системе?

кроме того, если ты когда-нить собирал XPE, то должен знать, что там уже есть своя версия sysprep, выполняющая ту же функцию

я бы попросил не отвечать людей, слабо разбирающихся в данных вопросах

мало того, что я сам ещё новичёк в этом, меня совсем не прельщает перспектива быть окончательно запутанными горе-советчиками

 :Very Happy: 

----------

## ZByte

 *fank wrote:*   

> люди, вы хоть представляете, о чём я спрашиваю?
> 
> ладно.... чтобы сразу прекратить посылку дурацких советов, отвечу на данные вопросы
> 
> 

 

как спросил, так тебе и ответили   :Confused: 

 *fank wrote:*   

> 
> 
> dd не используется, потому что он не учитывает геометрию дисков

 

ты можешь по человечески написать что именно у тебя отличается, и какая у тебя проблема возникает?

 *fank wrote:*   

> 
> 
> то Zbyte
> 
> как ты думаешь, sysprep может использоваться на нелицензионной системе?
> ...

 

Как я понимаю, XPE == Windows XP Embeded? Если так, то думаю разницы особой нет от главной ветки винды и, следовательно, при копировании нужно обязательно SID менять, если машины будут в одной сетке работать, иначе глюков можно тьму слохопать.

 *fank wrote:*   

> 
> 
> я бы попросил не отвечать людей, слабо разбирающихся в данных вопросах
> 
> мало того, что я сам ещё новичёк в этом, меня совсем не прельщает перспектива быть окончательно запутанными горе-советчиками
> ...

 

И вобще, это же линуксовый форум, такие вопросы лучше где-нибудь типа sql.ru задавать.

----------

## fank

 *Quote:*   

> как спросил, так тебе и ответили

 

гм...

вообще-то вопрос был совершенно конкретный

 *Quote:*   

> ты можешь по человечески написать что именно у тебя отличается, и какая у тебя проблема возникает?

 

ты не понял....

это не у меня возникает проблема, она объективно существует

решается с помощью утилиты производства Microsoft называемой fdisk

запускаешь её с ключиком /mbr и получаешь нужный результат

всё. далее переписывать здесь документацию не вижу смысла

в гугл

 *Quote:*   

> И вобще, это же линуксовый форум, такие вопросы лучше где-нибудь типа sql.ru задавать.

 

ну вы, батенька совсем уже.....

ты первый пост мой почитай

ну во народ пошёл, ей богу

сначала пост по диагонали (НЕ)прочитают, а  потом им ещё доходчиво объясни то, что есть в документации и гугле на первой по релевантности позиции

так и занудой стать не долго   :Very Happy: 

кстати, тебе словосочетание sql.ru ни о чём не говорит?

полагаю, уместно обсуждать именно здесь использование свободных технологий и программного продукта, распространяющегося под лицензией GPL-2

ладно, оставим тупой флейм...

то, что идёт в составе сабжа, не работает   :Confused: 

не работает как вообще, так и с ntfs в частности   :Mad: 

про это у них на форуме народ орёт на всю вселенную, а их там уже похоже очень давно никто не слышит   :Crying or Very sad: 

зато просвещенные люди есть везде и именно там накнулся на вот такую ссылку

http://lrs.linbox.org./

мечта поэта... однозначно

если она умеет делать хотя бы то, что видно в меню на скринах, то цены ей нету

буду тестить

ежели не поленюсь - напишу о результатах

тема не закрыта, если у кого есть хорошие идеи (или просто идеи), изложите, пожалуйста

кстати, sid тут совершенно ни при чём

почитай, для чего нужна XPE и в каких условиях она должна работать

это АСУТП и одноранговые сети   :Exclamation: 

----------

## ZByte

 *fank wrote:*   

> 
> 
>  *Quote:*   И вобще, это же линуксовый форум, такие вопросы лучше где-нибудь типа sql.ru задавать. 
> 
> ну вы, батенька совсем уже.....
> ...

 

Ну извини   :Embarassed:  , правда не прав был, что не правильно вопрос твой воспринял. Просто название partimage я воспринял как название весьма виндовой проги - PowerQuest Partion image. Поэтому и посоветовал обратиться на более виндово направленный форум. А на sql.ru, кстати, не смотря на название вполне хорошие форумы по винде и программированию в целом, и люди там адекватные.

 *fank wrote:*   

> 
> 
> зато просвещенные люди есть везде и именно там накнулся на вот такую ссылку
> 
> http://lrs.linbox.org./
> ...

 

Видишь, я же говорил, что как спросил так я и ответил. Хотя, конечно, я тоже виноват, что не разобрался во всех аббревиатурах, что ты привел, за что и каюсь   :Rolling Eyes: 

Вобщем, как говорится: "Правильно заданный вопрос - это половина ответа".

----------

## fank

вобщем, мечта поэта таковой и осталась

 *Quote:*   

> The LRS exists in a free (OpenLRS) and in a proprietary version (LRS). The current differences are : 
> 
> proprietary version has an activation key allowing a given number of client PCs, 
> 
> proprietary version allows the backup and restoration of FAT16/32 and NTFS partitions, 
> ...

 

Теперь понятно, что должен означать пункт FixMBR

Придётся пробивать тему самостоятельно.

Итак, что я выяснил:

1. Для того, чтобы "восстановить" MBR, нужно сделать 2 вещи - собственно, записать в MRB информацию о геометрии диска, то есть partition info, а потом установить туда загрузчик винды.

2. Если учесть, что винт у нас уже в размеченном состоянии, то остаётся только прописать загрузчик. Для этого достаточно воспользоваться dd и записать нужные 446 байт в первый сектор (или меньше, сколько он там занимает, этот загрузчик ntldr).

----------

## fank

есть ли свободный аналог под linux fdisk /mbr ?

free-fdisk, насколько я понимаю, работает только под freedos

или, вернее, вопрос стоит несколько иначе

чем можно в автоматическом режиме, то есть неинтерактивно, записать информацию о геометрии диска в mbr?

сам себе и отвечаю: man cfdisk   :Very Happy: 

----------

## vasya

 *fank wrote:*   

> есть такая ситуация: нужно клонировать системы (win XPE)
> 
> покупать ничего не получится - политика компании (вполне оправдана)
> 
> нужен любой свободный аналог Ghost'a
> ...

 

В свое время интересовал этот вопрос. Здесь можно найти некоторую полезную информацию по этому вопросу

http://forum.ru-board.com/topic.cgi?forum=8&topic=2845&start=0

Особенно рекомендую эту статью, в ней хорошо описаны операции для подготовки системы перед клонированием.

http://mdforum.dynu.com/article403.html

Вот маленький скрипт для распаковки файлов по этому описанию для SP2. 

rem ### Expand some files from standart Windows XP drivers cabinet

expand "%SystemRoot%\Driver Cache\i386\driver.cab" -f:atapi.sys .

expand "%SystemRoot%\Driver Cache\i386\driver.cab" -f:intelide.sys .

expand "%SystemRoot%\Driver Cache\i386\driver.cab" -f:pciide.sys .

expand "%SystemRoot%\Driver Cache\i386\driver.cab" -f:pciidex.sys .

rem ### for SP2

rem Replace some files from SP2 Windows XP drivers cabinet

expand "%SystemRoot%\Driver Cache\i386\sp2.cab" -f:atapi.sys .

expand "%SystemRoot%\Driver Cache\i386\sp2.cab" -f:intelide.sys .

expand "%SystemRoot%\Driver Cache\i386\sp2.cab" -f:pciide.sys .

expand "%SystemRoot%\Driver Cache\i386\sp2.cab" -f:pciidex.sys .

rem ### Put files in Drivers directory 

copy /y atapi.sys %SystemRoot%\System32\Drivers\

copy /y intelide.sys %SystemRoot%\System32\Drivers\

copy /y pciide.sys %SystemRoot%\System32\Drivers\

copy /y pciidex.sys %SystemRoot%\System32\Drivers\

rem ### Add data in Registry

reg import mergeide.reg

rem ### Delete some files

del atapi.sys intelide.sys pciide.sys pciidex.sys

Если не хочешь пользоваться sysprep то после клонирования не забудь генерировать новый SID. Можно воспользоваться для этого программой  newsid.exe 

http://download.sysinternals.com/Files/NewSid.zip

Что касается клонирования без использования Ghost. Я например делаю так имея готовый образ в Vmware, там удобно снимки делать и откатится куда надо:

Винда, которую надо клонировать стоит на /dev/hda1 

Делаем образ

ntfsclone --save-image --output backup.img /dev/hda1

dd if=/dev/hda of=mbr446 bs=1 count=446

Распаковываем на другой винт

ntfsclone --restore-image --overwrite /dev/hda1 backup.img

dd if=mbr446 of=/dev/hda1

далее

ntfsfix /dev/hda1

и если необходимо

ntfsresize -f /dev/hda1

Как автоматизировать? Напиши скрипт и заливай все это дело по сети

----------

## fank

ой, дружище!!!

вот спасибо тебе!

в принципе весь процесс я и сам понял, но за 

 *Quote:*   

> ntfsclone --save-image --output backup.img /dev/hda1
> 
> dd if=/dev/hda of=mbr446 bs=1 count=446
> 
> Распаковываем на другой винт
> ...

 

тебе отдельное БОЛЬШОЕ СПАСИБО!!!

остался один небольшой вопросик технологического плана: до меня использовался syslinux

как его поправить под собственные нужды? никак не могу понять...

делаю так:

имеется image.bin

монтирую:

```
mount -o loop image.bin /mnt/img

ls /mnt/img

initrd.img .... .... .... .... (etc...)

```

теперь как отредактировать initrd.img?

если предположить, что там фат16, то, по идее, можно смонтировать так:

```
mount -o loop initrd.img /mnt/initrd

ioctl: LOOP_CLR_FD: Устройство или ресурс занято

mount: you must specify the filesystem type

```

ну, я пробую явно указать

```
modprobe vfat

mount -t vfat -o loop initrd.img /mnt/initrd

mount: wrong fs type, bad option..... and so on

....

modprobe msdos

mount -t msdos -o loop initrd.img /mnt/initrd

mount: wrong fs type, bad option..... again

```

здесь http://wiki.archlinux.org/index.php/Remastering_the_Install_ISO вроде он должен монтироваться

Дабавлено:

всё, слегка ступил сам   :Embarassed: 

файл назывался просто initrd.img, но был пожат гзипом (о чём мне любезно сообщил file)

плюс файловая система там minix, которого не было опять в ядре ни модулем, ни монолитом

как соберу рабочий готовый исошник, отпишусь

и ежели кому понадобится смогу, думаю, выложить куда-нить все скрипты и инструкцию как и что делать

ВСЕМ СПАСИБО БОЛЬШОЕ!!!

----------

## fank

очередная проблема!

всё сделал, работает как положено

начал мучить sfdisk, чтобы сделать тн OEM установку на чистый винт

не работает он на сислинуксе старом

кроме того, на новом железе он вообще не запускается (ASUS P5LD2)

посему нужно обновить ядро

где можно слить какое-нить ядро специально для таких целей?

----------

## fank

Всем привет!

Всё вроде сделал, но система загружаться не хочет всё равно.

Скрипт такой:

```
#!/bin/sh

. /cdrom/img/imagename

# Running partition tool, all values in Mb here

sfdisk -x -uM -q /dev/hde << EOF

0,6000,,*

,,,

;

;

EOF

# changing partitions ids to 07 (NTFS)

sfdisk -c /dev/hde 1 07

sfdisk -c /dev/hde 2 07

# redundant but may solve problems, setting first partition active and all

# other inactive

sfdisk /dev/hde -A1

# restoring partitions with partimage

partimage -b -z1 -d -f3 restore /dev/hde1 $imagename

partimage -b -z1 -d -f3 restore /dev/hde2 /cdrom/img/part2.img

#############

# writing primary ntloader into MBR

dd if=/cdrom/img/mbr.446 of=/dev/hde bs=446 count=1

#ntfsfix /dev/hda1

```

после отрабатывания скрипта и перезагрузки - чёрный экран

в чём может быть проблема?

----------

## fank

вобщем, после кучи убитого времени я могу сказать, что у меня не получилось клонировать винду

дело в  том, что после распаковки образа, созданного на винте с другой геометрией, винда грузиться не хочет

я посмотрел на загрузочный сектор NTFS (PBS) и там меняются некоторые данные

то есть, насколько я понимаю, таким образом осуществляется привязка к геометрии диска

ntfsclone не работает, неправильно правит загрузочные структуры и в результате загрузка не работает

удалось ли кому-нить победить это?

----------

## fank

всё, парни, кажись, победил

собственно, проблема в следующем:

практически нигде не сказано, каким образом обязательно  должен быть разбит диск для полной совместимости с ОС производства мелкомягких товарищей

так вот, проясняю для общественности некоторые правила:

1. Необходимо использовать т.н. режим совместимости в fdisk, parted, etc. Что это такое досконально объяснить не могу, но первое, что бросается в глаза, это то, что первый раздел должен начинаться с 63 сектора.

2. NTFS PBS использует значение hidden sectors, что означает "удалённость" файловой системы (НЕ РАЗДЕЛА !!!) от начала диска. Если вы снимаете образ одним из тулов с винды, установленной на рездел, размеченный негрософт-тулом, то всегда создавайте партицию в таком стиле. Можно вручную править это значение в NFTS-загрузчике, но последующая системная проверка драйвером ntfs.sys приведёт к различным BSOD (обычно это 0х00000024)

3. Нельзя установить образ на партицию, меньшую, чем ФС NTFS (это разные вещи). Сделайте чуть больший раздел (partimage, ntfsclone скажут вам об этом, но только в том случае, если они работают в интерактивном режиме).

4. Существует проблема с ядрами ветки 2.4 и 2.6, когда последние неправильно определяют геометрию диска. В честности, это выливается в то, что NTFS, снятая на одном ядре, не будет работать (и даже загружаться, хотя данные, возможно, прочитать вы сможете, и даже подмонтировать такой раздел будет возможно) на другом ядре. Используйте в крайнем случае параметр ядра, чтобы указать ему геометрию диска.

Удачи всем!

P.S. Билл ужаснётся, когда узнает, насколько это просто и безболезненно - установить Windows XP SP2 с помощью линукса   :Laughing:   :Laughing:   :Laughing: 

----------

## viy

Мне кажется, что это все было бы здорово оформить в виде HOWTO. Найдется время накропать, а?..

Был бы признателен!

----------

## fank

да, есть такие намерения  :Smile: 

по большей части себе как шпаргалку

выложу на нашей вики полный процесс, начиная с создания образа на базе syslinux

----------

