Как перейти с одного диска на другой, который имеет другой размер?

42976
warren

Я несколько раз сталкивался с этим сценарием: мне нужно заменить диск, потому что мне нужно больше места, у него проблемы, переход на новую коробку и т. Д.

Каков наилучший способ скопировать данные из одного размера раздела в другой (при условии, что у цели достаточно места)?

Что делать, если это другая файловая система (например, от ReiserFS до ext4)?

Если это просто новый диск в существующей системе, как я могу убедиться, что мне не нужно переустанавливать, чтобы все работало?

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

21
http://superuser.com/questions/32164/easiest-way-to-clone-boot-partition-onto-new-hard-drive был запрошен для дисков / разделов Windows warren 14 лет назад 1

8 ответов на вопрос

10
craigmoliver

Клонируйте диск с помощью CloneZilla, затем используйте gparted, чтобы изменить его размер. Оставьте свой старый на случай, если пойдет не так :-)

Кстати, этот путь бесплатный.

Мне нравится бесплатная часть здесь, хотя ничто не сравнится с ХОРОШИМ рабочим программным обеспечением, которое делает все (вместо 3 бесплатных программ вместе) Ivo Flipse 14 лет назад 2
Это всего лишь две бесплатные программы, и это совершенно безболезненно. ISO загрузиться не проблема. craigmoliver 14 лет назад 1
Я могу подтвердить, что это работает. Я успешно переместил свой дополнительный диск с Windows 7 с диска 160 ГБ на диск 1 ТБ. Клонировал его на мой Linux-диск с помощью Clonezilla. Восстановил его на новом диске и изменил его размер с помощью средства управления дисками Windows 7. Это было от NTFS до NTFS, хотя. Thomas Watnedal 14 лет назад 0
Вы говорите «клонировать диск», хотя он попросил клонировать раздел. Также он сказал, что другая файловая система. barlop 9 лет назад 0
5
warren

Решение, которое я использовал в прошлом tar. Если разделы одинакового размера и типа, вы можете использовать dd.

Вот мой ответ на затруднение:

  1. загрузиться с использованием живого компакт-диска, такого как Slax
  2. убедитесь, что разделы, которые вы хотите, находятся на новом диске
  3. убедитесь, что старый и новый диски смонтированы, например, /tmp/driveoldи / tmp / drivenew '
  4. запустить из терминала следующую tarкоманду:

    (tar cp --xattrs /tmp/driveold/path) | (tar x /tmp/drivenew/path)

  5. повторите для каждого раздела, который нужно скопировать

Это работает для каждого раздела, на котором я когда-либо пробовал (исключая /boot, для которого я гарантирую, что разделы идентичны, и использую dd).

Мне нравится это решение, потому что оно очень простое, но я думаю, что вам понадобятся некоторые дополнительные параметры, такие как p (сохранить разрешения), чтобы получить все метаданные. Jay Conrod 14 лет назад 1
ты прав на р - я добавил это :) warren 14 лет назад 1
Говоря о метаданных, следует также использовать параметр `--xattrs` (хранить ACL и информацию SELinux). Cristian Ciupitu 14 лет назад 1
2 гудрона, соединенные с трубой, можно заменить на `cpio --pass-through '. Cristian Ciupitu 14 лет назад 0
спасибо, @Christian, за вызов `--xattrs` warren 14 лет назад 0
В какой версии `tar` есть опция` --xattrs`? Не мой. Вместо этого я предлагаю использовать `rsync` или простой` cp`: http://serverfault.com/questions/306538/how-to-move-linux-to-another-partition/306699#306699 Teddy 12 лет назад 1
2
pgs

Это одна из причин, по которой мне нравится LVM. Просто добавьте новый диск в группу томов, pvmoveлогические тома со старого на новый диск, удалите старый диск из группы томов, а затем из системы. Если вы заменяете загрузочный диск, вам также необходимо обновить загрузчик.

Это * отличная идея - кроме того, что если вы не используете LVM, это немного больно :) Хотя, спасибо за предложение! warren 14 лет назад 0
Что следует учесть при следующей установке :-) pgs 14 лет назад 0
2
Johan

+1 к Уоррену и использовать смолу.

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

Если вы имитируете сбой диска (отключите питание от старого диска), начните восстановление на новый диск. И когда вы закончите, вы запускаете старый диск и проверяете их наличие всех файлов.

Если они идентичны, вы оба переместили все свои данные, и вы знаете, что ваш план резервного копирования действителен и работает.

хорошая идея - хотя для тех из нас () у которых нет «резервного» решения, это также может быть хорошим временем для его создания :) warren 14 лет назад 0
:) Johan 14 лет назад 1
2
Shoan

Другим вариантом будет загрузка с liveCD и монтирование старого диска только для чтения. Это сделано для того, чтобы livecd не мог изменить его во время копирования. Затем rsync -avz /mnt/olddisk/ /mnt/newdisk(завершающий слеш после olddisk необходим). Как уже упоминали другие, если это загрузочный диск, который расширяется, вам нужно будет перезапустить grub-install <new device>его, прежде чем он станет загрузочным.

есть один, который я не thoguht из :) warren 14 лет назад 0
1
MicTech

Создайте образ из исходного раздела и поместите этот образ на новый жесткий диск.

Norton Ghost ™ 14.0 делает то или иное программное обеспечение для изображений


Вот список программного обеспечения для клонирования дисков

Сравнение программного обеспечения для клонирования дисков [wikipedia]

Acronis True Image - еще одна альтернатива (http://www.acronis.com/homecomputing/products/trueimage/) fretje 14 лет назад 4
К сожалению, этот метод требует покупки Norton Ghost craigmoliver 14 лет назад 6
1
chills42

Большинство утилит клонирования дисков могут сделать это. Мне нравится использовать g4u из livecd. Призрак хорош, но я бы предпочел использовать бесплатный.

1
warren

Я также нашел Disk Copy, которого нет в списке в Википедии, но никогда не использовал его.

Disk Copy - хороший вариант. craigmoliver 14 лет назад 1
К сожалению, это только для Windows, и этот вопрос был помечен как Linux. programmer5000 7 лет назад 0

Похожие вопросы