Pull to refresh

Comments 40

Ни в коем случае не умаляю значение статьи, но перенос Windows с MBR на MBR это не космическая наука и обычно не составляет серьёзных проблем для человека имевшего с этим дело ещё во времена XP (с 2002 года на минутку). Сегодня всё чаще становятся актуальны GPT с загрузкой UEFI о которых приходится узнавать всё заново. И хотелось бы прочитать хороший материал на эту тему.
Перенос UEFI — элементарно. Достаточно создать раздел с правильным ID и просто скопировать файлы. Никаких загрузчиков по смещению, ничего!
Очень круто, спасибо.
Могу лишь добавить, что если система которую будем копировать, еще загружается, то можно в девайсменеджере поменять контроллер на стандартный. Но тогда и сиспреп можно сделать, да)
Недавно эксперементировал — был бэкап, сделанный штатными средствами windows 7, и ssd диск, куда его нужно было развернуть. Штатное средство разворачивания бэкапа выдавало разные ошибки — 0x80042402, 0x80042407 и тд.
В итоге запустил установку свежей win 7, чтобы создался загрузочный раздел 100 мб, потом просто стер все файлы из основного раздела и разархивировал бэкап туда при помощи рабочей win 7. Все успешно заработало.
Виндовый бекап вещь вообще малопредсказуемая.

Средствами Win Server 2008 R2 регулярно делался бекап состояния на отдельный ЖД. В час «Х», когда он наконец понадобился, развернуть его на ту же машину не удалось. А на соседнюю, с совершенно другим железом — пожалуйста.
Подумали-подумали и акронисом его на исходную тачку вернули…
(Актуально если бэкап делался с магнитного диска)
Некоторые умолчальные настройки винды зависят от типа диска на который производилась установка (Установщик определяет, ssd или нет).
К сожалению уверен не на 100%, но предполагаю что при смене диска настройки автоматически не обновятся.
Возможно имеет смысл подправить некоторые ключи реестра. Помню только superfetch, но думаю про остальное можно найти.
у меня еще было что при переносе с обычного диска на Advanced Format полностью отвалились апдейты и еще пара сервисов. обновление интеловского драйвера, где как раз добавили поддержку AF — починило всё. оказывается до сих пор есть софт, завязаный на размер сектора…
>Купите лучше Acronis Universal Restore
Или скачайте Clonezilla
Во-первых я очень сомневаюсь, что Clonezilla решит проблемы с железом.
Во-вторых она не сможет сделать пожатый образ, который можно монтировать на чтение и запись.
2) А как тогда у меня клонзилла (не первой свежести, кажись от 2012 года ещё) умудрилась сделать ISO образ с хрюшей, офисом и ещё парой других софтин, который весил менее 1 гб?
Вообще интересный вопрос, как это получилось. Я думаю, что ключевой момент тут — ISO. C ntfs так уже не получится. Тем более так не получится с произвольной файловой системой.

Скажите, вы этот ISO образ для чего использовали? С диска грузились? Или разворачивали на другую машину, как в статье?
Да это же автор моего любимого комментария к моей первой публикации! Хорошая статья, спасибо!

Единственное, что в случае переноса раздела с файловой системой ntfs лучше использовать не partclone, а ntfsclone. Это снимает проблемы связанные c imagemount и отсутствием partclone в некоторых дистрибутивах.

И один маленький вопрос. В случае с Windows 7 надо проводить манипуляции с BCD? И есть где-нибудь мануал о том, как их делать?

Дополнил статью данными о сигнатуре диска, она тоже нужна для успешной загрузки (раздел «MBR, таблица разделов и сигнатура диска»).
В свое время, когда купил хард побольше в ноутбук, перетащил с мелкого на большой при помощи обычной dd. Затем сделал /fixmbr и, средствами самой windows, перераспределил дисковое пространство. Конечно, тут мне не пришлось задумываться об оборудовании (т.к. ноутбук тот же самый).
Кул стори бро!
А я вот недавно переносил MacOS с диска на SSD. Жуткая жесть. В Макоси своеобразные представления о прекрасном.
Что именно было жуткой жестью? Грузим в рекавери-мод, запускаем Disk Utility, выбираем Source, выбираем Destination, уходим пить кофе.
Это если можно одновременно подключить оба диска к машине. А если нельзя, то сначала надо снять образ на большую флешку. Потом загрузиться с линкуса и восстановить образ на SSD. Соответственно Disk Utility немного недоступна.

Но это не жуткая жесть, это ерунда. Жуткая жесть в деталях.

Например мы делаем всё, как вы сказали. Вопрос. Сделает ли MacOS нормальное выравнивание разделов на новом диске? Или оставит такое же, как на старом?

Далее. MacOS создаёт рекавери раздел после раздела с системой. То есть если ты хочешь поменять размер раздела с системой — надо двигать рекавери.

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

Кроме того Disk Utility не видит разницы между размеров файловой системы и размером раздела и единственный способ сделать их одинаковыми — запустить процедуру починки диска, которая падает с ошибкой, если попробовать осуществить её с того диска, с которого загружена система.

Вот как-то так.
У вас хакинтош? Если да, то ССЗБ, никто не обещал вам работу OS X на стороннем железе.

Когда я менял диск в компьютере (макбук про MD101), рекавери установилось само из интернета и размеры разделов можно было изменять произвольно. Процедура проверки и исправления ошибок у меня не падает, да.

Какое нафиг выравнивание, о чем вы? Я вообще не знаю, что и как оно выравнивает, it just works.
Да нет, не хакинтош, нормальный мак. Большой проблемой было то, что оба диска подключить к ноутбуку было нельзя. Поэтому с рекавери было вообще никак.

Процедура проверки диска и исправления ошибок падает не всегда, а если размер файловой системы не соответствует размеру раздела. И если при этом рекавери загружен с того диска, который проверяется.

А вот насчёт it just works это вопрос неоднозначный. Особенно учитывая, чем может кончиться для диска форматирование с неправильным выравниваем разделов. Может оно работает. А может работает только если разбиваешь диск наново, а не переносишь систему. Наверняка сказать нельзя. И то, что Disk Utility искажает реальную картину только усугубляет ситуацию.
Возможно, тут помог бы внешний корпус для hdd с интерфейсом usb? Во всяком случае, именно с ним я и перегонял данные с одного hdd на другой
Да, я тоже думаю, что сильно помог бы, но его, увы, не было.
Мне постоянно приходится развёртывать WinXP и Win7 из-под Linux.
Для этого я подготавливаю два архива: winxp.tar.gz и win7.tar.gz:
1) сначала устанавливаю винду на какой-нибудь компьютер, настраиваю там все программы, которые будут нужны (mso, sumatrapdf и т.д.)
2) поправьте C:\boot.ini или C:\Boot\BCD (с помощью EasyBCD, например) так, чтобы винда умела загружаться с разных разделов. Например
boot.ini
[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP disk 1 part 1" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows XP disk 1 part 2" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Windows XP disk 1 part 3" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(4)\WINDOWS="Windows XP disk 1 part 4" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(5)\WINDOWS="Windows XP disk 1 part 5" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(6)\WINDOWS="Windows XP disk 1 part 6" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Windows XP disk 2 part 1" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(1)partition(2)\WINDOWS="Windows XP disk 2 part 2" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional Multiprocessor PC"  /
fastdetect /noexecute=alwaysoff /hal=halmacpi.dll /kernel=ntkrnlmp.exe
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional"  /fastdetect /noexecute=alwaysoff /detecthal
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Multiprocessor PC with MPS"  /fastdetect /noexecute=alwaysoff /hal=halmps.dll /kernel=ntkrnlmp.exe


3) перезагружаюсь в защищённом режиме (Safe mode) — жать F8 перед загрузкой
4) запускаю редактор реестра Пуск-Выполнить, regedit, включаю все сервисы ide и sata правя параметры из HKLM\SYSTEM\CurrentControlSet\services\:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\
поиск по Ctrl+F значения “SCSI Miniport”
изменить параметр "Start" с значения "3" на значение "0"
нажать F3 чтобы искать дальше,
исправить везде, где найдёт.

В этой же ветке найти ещё три сервиса:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\pciide
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStorV
Значение "Start" у них тоже в 0 (ноль).

5) запустить «Диспетчер оборудования» (Компьютер-Свойства-Оборудование),
по Del удалить всё что связано со специфичным оборудованием:
— чипсет (например Intel XXX и т.д.)
— диски (VIA SATA xxx и т.д.)
— видеоконтроллер (NVidia G520 и т.п.)
Короче, всё фирменное. Если предложит перезапуститься — не перезапускаться, сказать «Нет»
6) не закрывая Диспетчер задач, выдернуть шнур питания (!!!) из системника.
Если сделаете «Пуск-Завершение работы», то считайте зря старались, снова в Диспетчере задач придётся удалять.
Всё, теперь у вас есть Винда, отвязанная от железа
7) установить по соседству Linux, например так
8) загрузиться в линуксе, запаковать винду в архив, например так:
#!/bin/sh
cd /mnt/win
tar --ignore-failed-read -czvf ./Win7.tar.gz bootmgr \
  config.sys XELDZ autoexec.bat BOOTSECT.BAK Boot Windows \
  Recovery "Program Files" ProgramData "Documents and Settings" \
  Users PerfLogs Progs AUTOEXEC.BAT CONFIG.SYS MSDOS.SYS \
  Bootfont.bin NTDETECT.COM boot.ini IO.SYS ntldr

записать архив на флэшку
9) на новой машине установить линукс, загрузиться в нём,
с помощью GParted создать раздел для винды (fat32 или NTFS)
10) примонтировать раздел и распаковать винду на него:
#!/bin/sh
mkdir /mnt/win
mount /dev/sda1 /mnt/win
cd /mnt/win
tar xvzf /media/FLASH/win7.tar.gz -C /mnt/win

11) добавить винду в загрузчик Grub:
sudo update-grub

12) загрузиться в винде (я первый раз гружусь в защищённом по F8),
подождать 20 мин пока винда «подхватит» устройства,
если предложит перезагружаться — отказываться
13) загрузиться в нормальном режиме,
подправить boot.ini или Boot/BCD (если надо)
14) скачать и доустановить недостающие дрова. Всё!
15) если винду съели вирусы или она упала, то снова из линукса развернуть архив.

Если освоите методику, любая винда со всем софтом ставится за 5 минут :) (плюс установка дров — пол часа, но от этого уже никуда не деться).
Ещё момент. Порою grub неправильно определяет параметры загрузки и тогда винда не грузится. В этом случае строчку:
chainloader +1

нужно заменить для WinXP на:
ntldr /ntldr

а для Win7 на:
ntldr /bootmgr


К слову сказать, Linux я устанавливаю из архива аналогично примерно таким скриптом:
install.sh
#!/bin/sh

INST_DEV=/dev/sdb1
INST_MNT=/mnt/vdorogu
#INST_MNT=/media/VDOROGU
#INST_MNT=/media/042343232

BOOT_DISK=/dev/sda

LIN_DEV=/dev/sda2
LIN_MNT=/mnt/root

WIN_DEV=/dev/sda1
WIN_MNT=/mnt/win


## For Ext4
#tune2fs -o journal_data_writeback $LIN_DEV
#tune2fs -O ^has_journal $LIN_DEV
#e2fsck -f $LIN_DEV

## === Mount parts

#mkdir $INST_MNT
#mount $INST_DEV $INST_MNT
#mkdir $LIN_MNT
#mount $LIN_DEV $LIN_MNT
#mkdir $WIN_MNT
#mount $WIN_DEV $WIN_MNT

## === Install Linux

cd $INST_MNT

tar xvzfk ./lubuntu1204.tar.gz -C $LIN_MNT

cd $LIN_MNT

mkdir cdrom
mkdir dev
mkdir media
mkdir mnt
mkdir mnt/win
mkdir proc
mkdir sys
mkdir tmp

chmod 777 tmp
chmod 777 home

grub-install --root-directory=$LIN_MNT $BOOT_DISK
mount --bind /dev $LIN_MNT/dev
mount --bind /proc $LIN_MNT/proc
mount --bind /sys $LIN_MNT/sys

chroot $LIN_MNT grub-install --recheck --no-floppy $BOOT_DISK
chroot $LIN_MNT update-grub

umount $LIN_MNT/dev
umount $LIN_MNT/proc
umount $LIN_MNT/sys

## === Install Windows

cd $INST_MNT

#tar xvzf ./iso/winxp.tar.gz -C $WIN_MNT

# === Edit fstab

nano $LIN_MNT/etc/fstab

Ещё пару замечаний.

Размеры архивов ОС с популярным софтом получаются такие:
1) winxp.tar.gz — 1,6Гб
2) win7.tar.gz — 3,6Гб
3) lubuntu12.04.tar.gz — 1Гб

Систему по умолчанию в линуксе (lubuntu) можно изменить в файле:
/etc/default/grub, параметр задать например так GRUB_DEFAULT=5.
И ещё :)

Во-первых, вверху под «Диспетчер оборудования» и «Диспетчер задач» понимать всегда «Диспетчер устройств», ну оговорится я, не надо кипятиться. Смысл-то всё равно был понятен.

Во-вторых, не показал скрипт, к-м пакую линукс. Запускаю под root'ом tar_linux.sh:
#!/bin/sh
cd /
tar --ignore-failed-read --exclude=var/cache/apt -czvf lubuntu1204.tgz bin boot etc home lib opt root run sbin usr var > tar_root.log

Ну и в третьих, загрузку винды через grub править в конфиге:
/boot/grub/grub.cfg
Зачем делать копирование MBR?
Не проще в консоли установки Windows Vista/7/8 использовать команду active с утилиты diskpart?
Команда прописывает загрузчик на имя файла bootmgr, для XP надо лишь переименовать ntldr в bootmgr.
Повторяюсь.
Для XP, Server 2003 и прочего legacy — самое то.
Дальше (≥Vista, Server 2008) удобнее, IMHO, штатные средства: sysprep /oobe /generalize в ОС, затем из WinPE захватить образ через DISM. Начиная с 7 / Server 2008R2 в образ можно драйверы и обновления добавлять. Но это всё относится только к переносу голой ОС (используем для автоматизации развёртывания и всяких там v2p). Для бэкапов DISM/imagex использовать нельзя.
Если заранее подготовить диск (создать раздел(ы)), то можно установить Win7/8 и без дополнительного 100-мегабайтного boot-раздела, просто в этом случае весь «boot» будет находиться на системном.
Чтобы ускорить развертывание есть:
1) Установка по сети Windows (PXE)
2) Установка по сети Windows (Windows AIK)
3) Загрузка по сети live-CD с Linux
4) Загрузка по сети live-CD с Windows
Статья интересная, спасибо.
Однако сейчас даже корпораты покупают Windows 8, не говоря о ноутбуках пользователей. UEFI и GPT.
По статистике из Википедии на октябрь 2014:
Win7 + WinXP = 70.23%
Win8 + Win8.1 = 16.80%

Parted поддерживает GPT, вроде и sfdisk — тоже.
А я по старинке пару раз юзал мультизагрузочную флешку с рекавери от Win7 и LiveCD с Ubuntu и dd. Перед клонированием через dd применял sysprep, а на другой машине вычищал от старых хвостов, разворачивал образ с помощью Ubuntu, а потом с рекавери диска восстанавливал загрузчик. Хотя да, тут присутствует в цепочке windows, но геморроя на порядок меньше.
UFO just landed and posted this here
Тем, что бесплатен и чрезвычайно гибок. Плюс способов загрузить линукс больше, чем способов загрузить акронис или нортон. Но бухгалтерам действительно стоит посмотреть в их сторону.
UFO just landed and posted this here
Есть инструмент, который бесплатно решает круг задач. Что может быть практичнее?
UFO just landed and posted this here
Мне пришлось разбираться в этом, когда потребовалось преобразовать энное количество машин из физических в виртуальные. Штатные конвертеры не всегда срабатывают, да и Acronis, бывает, промахивается, а заказчик требует, чтобы все работало в виртуальной среде.
UFO just landed and posted this here
Sign up to leave a comment.

Articles

Change theme settings