Как клонировать жесткий диск на диск меньшего размера.
- Clonezilla великолепна, но не поддерживает такую функциональность.
- Также
dd
и PartImage не поддерживают это требование. rsync
не будет копировать MBR, поскольку MBR не является файлом.
Мне нужно клонировать жесткий диск, чтобы не делать резервную копию, поэтому rsync
это не приемлемый ответ.
Какие-либо предложения?
software-recommendation
dd
clone
clonezilla
Maythux
источник
источник
Ответы:
Вы явно не можете клонировать больший раздел в меньший (используя
dd
и т. П.), Поскольку там просто недостаточно места.Однако, если файлы, находящиеся в более крупном разделе, также поместятся в меньшем разделе, вы можете использовать их
rsync
для копирования. Точные параметры зависят от вашего конкретного случая использования, но для простого копирования всех файлов необходимо выполнить следующее:Изменить: еще раз: вы не можете клонировать больший раздел на меньший раздел . (Но продолжайте читать, ваша проблема может быть решена.)
Причина проста: ваш исходный раздел больше, чем целевой раздел. Что вы ожидаете? Должны ли некоторые блоки просто быть отброшены? Какие? А откуда
dd
знать? Конечно, вы можете использоватьdd
«sbs=
иcount=
опции для копирования только первый так-так много блоков из исходного раздела таким образом, что она помещается на целевом разделе, но вы будете в конечном итоге с разбитой перегородкой. Это, конечно, не то, что вы хотите.Так, так как вы не можете клонировать раздел большего размера на меньший раздел, единственное , что вы можете сделать , это первый уменьшить размер раздела исходного размера меньше или равна вашей целевой раздел с чем - то вроде
gparted
что осведомлен о особенности файловой системы, так что вы не потеряете данные. И только тогда вы можете использоватьdd
для клонирования раздела. В идеале новый размер исходного раздела должен быть равен размеру вашего целевого раздела (а не только меньшего или равного ), иначе у вас останется некоторое нераспределенное пространство на целевом разделе после клонирования.Также обратите внимание, что вы не должны просто копировать MBR большего диска в MBR меньшего диска (или наоборот, в этом отношении). MBR, который имеет размер 512 байт и является первым разделом вашего жесткого диска, содержит информацию о расположении жесткого диска:
(Обратите внимание, что
446+64+2=512
.)Если вы настаиваете на клонировании MBR, то клонируйте только первые 446 байтов следующим образом:
... заменяя
/dev/source
и/dev/target
на имена устройств исходного и целевого жестких дисков, например,/dev/sda
и/dev/sdb
, соответственно. ( Более подробная информация доступна здесь. )Тем не менее, правильный способ сделать это будет сделать чистую переустановку Grub (или все, что у вас есть на MBR) на новом жестком диске.
Подводя итог, если вы хотите клонировать больший диск на меньший диск, выполните следующие действия:
Разместите таблицу разделов на целевом диске с таким количеством разделов, как на исходном диске. Должно быть однозначное соответствие между разделами на исходном диске и разделами на целевом диске, за исключением того, что (некоторые из) разделов на целевом диске могут быть меньше, чем их соответствующие разделы на исходном диске. Используйте инструмент, такой как
fdisk
илиcfdisk
для этого.Для каждого раздела на целевом диске, который меньше соответствующего раздела на исходном диске, уменьшите размер этого соответствующего раздела на исходном диске, чтобы он соответствовал размеру раздела на целевом диске. Используйте такой инструмент, как
gparted
для этого.Для каждого раздела на исходном диске введите команду
... для клонирования раздела
/dev/sdaX
с исходного диска в соответствующий раздел/dev/sdbY
на целевом диске (конечно, замените имена устройств соответственно).Если вы настаиваете также на клонировании MBR, используйте две
dd
команды, написанные выше в этом посте (те, что с/tmp/mbr.bak
материалом). Однако имейте в виду, что чистая переустановка Grub будет лучше.источник
rsync
это действительно не для клонирования. Именно это я и говорил - внимательно прочитайте мой пост. ;) Я отредактировал свой пост, чтобы объяснить, как можно клонировать все разделы, а также MBR. Надеюсь, это ближе к тому, что вы хотите.parted
/gparted
для шага 1 прекрасно. Как это часто бывает, есть много способов достичь цели.fdisk
/cfdisk
являются более «базовыми» инструментами, и в приведенном выше описании я просто пытался сослаться на самый базовый инструмент, который бы выполнял эту работу.Точное клонирование невозможно, так как Malte Skoruppa уже опубликован. Однако clonezilla может выполнить эту задачу, если диск большего размера не заполнен (Мальте уже упоминал об этом).
В основном вам нужно включить расширенные опции и «игнорировать» предупреждение о меньшем диске. Смотрите Clonezilla docs для подробностей со скриншотами. У меня возникла та же проблема при восстановлении резервной копии жесткого диска объемом 160 ГБ на твердотельный накопитель объемом 64 ГБ. Для меня это сработало хорошо.
Другим решением, которое должно привести к желаемому результату, было бы восстановление на диск того же размера и перераспределение в соответствии с новой схемой раздела на меньший диск. Посмотрите jsm-techblog.blogspot.de для деталей, как это сделать.
источник
-k1
что создаст таблицу разделов пропорционально на целевом диске и включит опцию-r
автоматического изменения размера файловой системы в разделе. Это верно?k1
опцию, однако-icds
опция работала для меня. Я выложу ответ с более подробной информацией.Gparted должен делать работу
После изменения размера с помощью gparted загрузитесь с диска, чтобы дать ОС возможность исправить любые ошибки перед созданием образа с помощью Clonezilla.
Затем запускает Clonezilla и делает копию необходимых разделов жесткого диска
Еще один вариант, который я нашел отличным для меня: MondoRescure
Простое руководство можно найти здесь
Я выложу несколько скриншотов:
ШАГ 1 РЕЗЕРВНОЕ (СКРИНШОТ РАЗДЕЛА)
1. Выберите из списка поддерживаемых типов носителей для резервного копирования.
2. Если вы выполняете резервное копирование на CD / DVD- + R [W], то Mondo спросит вас, поддерживает ли ваш CD-рекордер технологию BurnProof, находится ли он в ноутбуке или иным образом эксцентричен. Если вы выполняете резервное копирование на ленточный стример, вы не увидите это сообщение
3. Сколько сжатия вы хотите? Нет, если ваш стример имеет встроенное аппаратное сжатие. Максимум, если ваш процессор невероятно быстрый. Среднее значение должно подойти для большинства ситуаций.
4. Если вы хотите сделать резервную копию всего компьютера (за исключением / sys, / run и / proc, а также / tmp), оставьте это как / по умолчанию. В противном случае укажите подмножества (например, / usr / local | / home), которые обязательно будут помещать канал между каждым путем.
5. Если вы выполняете резервное копирование всего компьютера, вы можете исключить определенные каталоги, например / shared / MP3. Пожалуйста, укажите их в диалоговом окне «Исключить каталоги». Пожалуйста, вставьте канал между каждым путем, например / shared / private | / scratch | / nfs | / windows
6. Ваше ядро в здравом уме? Пользователи Red Hat, Mandrake, SuSE, Debian и Slackware, в общем, должны сказать «да», потому что эти производители хороши в создании надежных ядер. Если вы используете Gentoo или LFS, то ваше ядро может быть нестандартным, и в этом случае скажите «нет», чтобы использовать отказоустойчивое ядро Mondo (предоставляется отдельно).
7. Если вы хотите проверить архивы после записи их в СМИ, скажите «да» здесь. Если вы абсолютно уверены в своем оборудовании и дистрибутиве Linux, скажите «нет» ... и немного помолитесь.
8. Если вы уверены, что хотите пойти дальше, скажите «да» и найдите, чем еще заняться, пока Мондо выполняет резервное копирование вашего компьютера. Если вы скажете «нет», то вы будете бесцеремонно выгружены в командной строке. :-)
9. Начнется процесс резервного копирования. Сначала нужно выполнить несколько задач перед резервным копированием, но резервное копирование в основном выполняется. Чтобы упростить процесс резервного копирования, вам был задан ряд вопросов. В следующий раз, если хотите, вы можете вызвать mondoarchive с различными ключами командной строки, чтобы управлять его поведением, вместо того, чтобы отвечать на ряд вопросов. Смотрите man-страницу для деталей.
10.Mondo создаст каталог всех файлов для резервного копирования. Это может занять до пяти минут. Список файлов будет разделен на наборы, примерно 4 МБ (до сжатия) файлов на набор. Обычно это занимает одну минуту.
11.Мондо звонит Минди. Mindi генерирует образ загрузочного носителя и образы вспомогательных дисков с данными, которые основаны на вашем существующем дистрибутиве Linux и файловой системе. Таким образом, вы можете быть уверены, что инструменты Mondo будут совместимы с вашими существующими файловыми системами и двоичными файлами: инструменты Mondo - ваши инструменты. Минди бежит до пяти минут.
12. Наконец, Mondo начинает резервное копирование вашего компьютера. Этот процесс может занять несколько минут или несколько часов, в зависимости от того, сколько данных вы архивируете, какова скорость вашего процессора, сколько у вас оперативной памяти и так далее. Он будет создавать резервные копии ваших обычных файлов, а затем ваши большие файлы (файлы, размер которых превышает примерно 32 МБ). Если вы решили проверить свои резервные копии, Mondo сделает то же самое.
ШАГ 2 ВОССТАНОВЛЕНИЕ (РАЗДЕЛЕНИЕ КЛОНА)
1. Выберите тип носителя для резервного копирования. Процесс реального восстановления очень похож на тот, который вы увидите, если набрать mondorestore без параметров после загрузки с носителя Mondo.
2. Нажмите «ОК», когда вставили кассету / CD. Если вы создали резервную копию ленты, самой ленты должно быть достаточно. Если вы сгенерировали резервную копию CD, первого CD должно быть достаточно. В противном случае вам может понадобиться загрузочный носитель.
3. Отметьте файлы и каталоги, которые вы хотите восстановить. Используйте кнопки «Больше» и «Меньше», чтобы открывать и закрывать подкаталоги.
4. Укажите место, куда нужно восстановить файлы. В общем, '/' подходит. Если вы не хотите перезаписывать более новые версии восстанавливаемых файлов, укажите / tmp / BKP или аналогичный путь восстановления.
5.Mondorestore получит информацию о конфигурации с носителя. (Пример экрана предназначен для пользователей ленты. Пользователи компакт-дисков увидят что-то другое.)
6.Данные будут восстановлены на жесткий диск - сначала обычные файлы, затем любые большие (32 МБ или более) файлы в наборе для восстановления.
источник
«Псевдоклонирование» жесткого диска большего размера может быть выполнено с помощью Clonezilla. Эффективно вы можете сохранять и восстанавливать разделы диска. Следующие шаги (разработанные для передачи с жесткого диска на твердотельный накопитель) помогут вам:
Первый трюк заключается в использовании Gparted для изменения размера разделов на жестком диске, сжимая каждый раздел, чтобы уменьшить количество неиспользуемого пространства, которое он содержит. Очевидно, что размеры разделов должны быть такими, чтобы общее пространство, необходимое для всех разделов, было меньше емкости SSD.
Затем запускается Clonezilla и создается копия отдельных разделов жесткого диска (с использованием параметра saveparts), которые временно сохраняются на внешнем USB-диске. Обратите внимание, что необходимо сохранять разделы (saveparts), а не создавать образ всего диска (saveisk).
См. «Клонирование» жесткого диска в меньший твердотельный накопитель для более подробного обсуждения процесса и ряда ссылок для справочных источников.
источник
Поскольку большинство приведенных выше примеров, кажется, предлагают на самом деле изменить размер исходного диска. Существует риск для ваших данных, изменив их перед тем, как сделать копию, если она есть.
Есть другой способ, который менее рискованный, хотя и очень ручной, который я использую. Поскольку он оставляет нетронутым исходный диск на тот случай, если вы захотите вернуться из-за сбоя.
Также с клонированием / изменением размера вы не можете переключиться на более новую файловую систему при переходе на новый диск во время замены диска. С помощью описанной ниже процедуры вам нужно всего лишь создать файловую систему по вашему выбору на целевом диске.
В моем примере источник (оригинальный диск) - / dev / sda, а пункт назначения (новый меньший диск) - / dev / sdb. В вашей настройке он может отличаться
ls -la / dev / disk / by-uuid
Теперь измените uuid на / и замените его в / mnt / destination / etc / fstab. не забудьте изменить файловую систему для точки монтирования, если вы решили изменить ее на нечто отличное от оригинального диска
если важно, чтобы grub был той же версии, снова загрузите исходный диск, запустите и выполните команду ниже, чтобы установить grub на новый диск.
ls / boot /
linux /boot/vmlinuz-2.6.32-5-amd64 root = / dev / sda single
initrd /boot/initd.img-2.6.32-5-amd64
источник
Вы можете перенести свои данные на диск меньшего размера, используя Clonezilla и GParted .
Использование GParted Live CD позволяет сократить ваши разделы так, чтобы они поместились на новом диске. Переместите разделы так, чтобы пустое (серое) пространство находилось в конце / справа от вашего диска. Если перед первым разделом уже было пустое место, оставьте это место, так как оно может содержать загрузочную или другую скрытую информацию.
С помощью Clonezilla сделайте
device-device
клон. Выберите дополнительные параметры и включите-icds
параметр, чтобы пропустить проверку размера диска. Продолжите работу с клоном, удалите старый диск и попытайтесь загрузиться с нового диска. Если вы получаете ошибки, попробуйте-fsck-src-part
опцию, которая поможет вам исправить ошибки на исходном диске.Из документов Clonezilla :
Один FAQ я прочитал предложил использовать как
-icds
и-k1
варианты с Clonezilla , однако , что не работает для меня. Другие упоминали, что вы можете копировать разделы с помощью GParted, однако он не может копировать все типы разделов, и я не смог загрузить свою машину после использования этого метода, вероятно, из-за того, что некоторая скрытая информация между разделами не была скопирована.источник
Может быть, не правильный ответ на вопрос, но я прихожу на эту страницу, пытаясь решить аналогичную проблему:
Я хотел клонировать старую компактную флэш-карту емкостью 256 Мбайт в 32-мегабайтную, которая вышла из строя, она содержит небольшое устройство Linux, которое производит небольшие пружинные витки.
Решено так:
(Конечно, эффективное пространство, используемое в 256 МБ, было <32 МБ, поэтому оно хорошо вписывается)
Создайте образ флэш-карты 256 МБ с помощью 'dd' (т.е. при условии, что карта подключена в / dev / sdb):
Используйте unetbootin, чтобы прочитать ISO-образ 'image256.iso' (опция Diskimage).
Выберите USB-накопитель, на котором находится карта 32 МБ, и перейдите к сбросу образа на карту 32 МБ.
Вот и все, 32-мегабайтная карта снова успешно запустила мою машину.
НТН
источник
Вы можете попытаться сделать это в два шага: сначала превратите клон Системы в Разреженный образ (образ увеличивается при добавлении в него большего количества материала). Теперь восстановите этот образ на второй меньший диск.
источник
это можно сделать. С помощью живого компакт-диска просто уменьшите файловую систему (resize2fs), чем lvm (если есть) последнего раздела (например, / dev / sdc3) с большого диска, чтобы он мог поместиться на маленьком диске.
С помощью fdisk удаляйте и воссоздайте с меньшими секторами последний раздел (/ dev / sda3), поэтому последний сектор большого диска имеет то же значение, что и последний сектор малого диска.
Затем сделайте ваш # dd if = big of = small bs = 10M, пока не закончится свободное место.
Особая осторожность при сокращении, поскольку одно плохое значение приведет к потере данных.
источник
После сжатия файловой системы на большем диске с помощью GParted я поместил два диска в корпус RAID в режиме зеркалирования, где больший диск является источником, а меньший диск является целью. Мне просто нужно было нажать кнопку сброса внутри корпуса (не менять режим, т.е. Raid 1 на Raid 0), чтобы начать клонирование. Работал отлично! :) Я использовал чехол GW3.5AX2-SU3 / MB Raid.
источник
я публикую свой опыт сокращения загрузочного диска с 250 ГБ (SDA) до 120 ГБ (SDC) диска
sda содержит 2 раздела:
так что я делаю:
тогда как мой gparted НЕ работает с lvm:
со спасательного диска:
pvresize / dev / sda2 --setphysicalvolumesize xxxxxxxxxxxxK (я даю 1 ГБ больше, чем пространство LV) (у меня здесь ОШИБКА ... так:
Но все же раздел был большим, так как я только сокращаю FS-LV-VG, так:
я воссоздаю раздел с помощью fdisk:
Затем система предложит использовать старую таблицу разделов до следующей перезагрузки. Но я забыл перезагрузить и сделать образ:
dd if = / dev / sda2 of = / dev / sdc2 bs = 4096 (на данный момент я подумал, что что-то не так, и я не смог загрузиться с sdc, так как таблица разделов не отражает конец нового sda2)
НО все было в порядке и после перезагрузки, и даже система выбирает раздел sdc для загрузки (он жалуется на дубликаты PV, LV и / boot)
Я не знаю, если мне повезет, или я делаю ненужные шаги ... любой комментарий будет признателен.
источник
Отказ от ответственности: я оригинальный автор WereSync
Это возможно с помощью WereSync . WereSync следует общему процессу ответа Мальте, но требует только одной команды, а не нескольких. Кроме того, если вы используете свой клон в качестве резервной копии, он может постепенно обновлять эту резервную копию, поскольку он использует rsync в бэкэнде.
Для установки WereSync используйте pip:
Оттуда вы можете просто использовать команду WereSync
Приведенная выше команда копирует данные из / dev / sda в / dev / sdb. В
-C
флаг марки, WereSync должны проверить , если разделы на двух дисках эквивалентны, и если они не WereSync должны скопировать разделы с / DEV / SDA в / DEV / SDB и изменять их размер , чтобы они поместились. UUID новых разделов будут другими. Система, используемая для проверки правильности разделов, может быть привередливой, поэтому после первого резервного копирования я рекомендую опустить этот флаг.-g
И-E
команды могут быть опущены, но установка загрузчика почти наверняка не в этом случае.-g
относится к «разделу grub», или раздел grub, на который следует установить. Обычно это раздел, смонтированный на /. Поэтому, если у вас есть / dev / sda2, смонтированный в /, вы переходите-g 2
к WereSync, как в примере выше. Если это не указано, WereSync попытается самостоятельно найти нужный раздел, но это может привести к ошибкам. Я рекомендую просто передать флаг.-E
относится к разделу EFI. Если ваш раздел EFI находится в / dev / sda1, перейдите-E 1
к WereSync, как в приведенной выше команде.Если у вас есть отдельный раздел для папки / boot, вы должны сообщить об этом и WereSync. Если у вас это есть в / dev / sda3, перейдите
-B 3
к WereSync.Более подробную информацию о возможных флагах этой команды можно найти в документации по команде WereSync .
источник
Я столкнулся с этой проблемой, потому что обновление Win 10 до 1607 прервалось после перезагрузки из-за того, что мой NVMe (Samsung 950 Pro) не был распознан, поэтому я клонировал NVMe на другой (больший) внутренний диск (в моем случае «Toshiba») , обновил Win 10 и восстановил систему обратно в NVMe.
Вот шаги, которые мне нужно было сделать, чтобы добиться этого (так как восстановление с
-icds
не работало).Инструменты:
Приготовление:
Заметка:
Если вы использовали Clonzila из стабильной ветви, вы должны перейти в режим загрузки Legacy в BIOS, чтобы иметь возможность загрузки с компакт-диска. В противном случае, если вы используете загрузку из альтернативной ветки, она должна поддерживать загрузку UEFI.
Отказ от ответственности:
Следуйте инструкциям под свою ответственность. Шаги и команды здесь проверяются и перепроверяются, но опечатки могут привести к потере данных или отказу оборудования, поэтому сначала изучите, что вы делаете, и примите эти шаги в качестве подсказок в правильном направлении.
Процедура:
В первый раз я думаю, что у меня были некоторые конфликты в Windows с NVMe, все еще имеющим информацию о загрузке Win, поэтому на этот раз я сразу же после первоначального клонирования в Toshiba (так, до перехода к загрузке UEFI) удалил все разделы на диске NVMe
~ удаление легко выполняется в оболочке Clonezilla с помощью:
~ альтернативно, загрузитесь в GParted и сделайте это визуально
(переключиться на загрузку UEFI в BIOS)
поскольку копирование MBR для меня ничего не дало, GPT важен в этой истории, поэтому войдите в оболочку (Clonezilla) и скопируйте GPT из Toshiba в NVMe с помощью
( объяснение )
поскольку Clonezila (даже с ключом-эксперта -icds) отказывается восстанавливать разделы, снова войдите в оболочку и выполните:
( больше информации )
сделайте резервную копию Tosiba MBR и GPT:
скопируйте резервную копию в безопасное место (чтобы мы могли восстановить ее, а не весь образ диска, который мы сделали на шаге 6)
очистить информацию раздела Toshiba, чтобы она не вызывала конфликтов с Windows
(переключитесь на загрузку UEFI в BIOS) загрузитесь с DVD-диска Windows 10 (1607), выберите «Восстановить»> «Устранение неполадок»> «Командная строка» и выполните все эти действия:
( больше информации )
перезагрузите Windows 1607 на диске NVMe
источник