Могу я dd более крупный диск к меньшему?

Я изменил размер раздела более крупного диска с GParted.

Я могу сделать

sudo dd if=/dev/LargerDrive of=/dev/SmallDrive

?

5
задан 18 March 2014 в 04:31

4 ответа

Да, пока разделы будут соответствовать, так не должны быть изменены dd.
т.е. размер диска не является проблемой.

(Обратите внимание, что весь ниже должен быть сделан путем начальной загрузки исходной установки DVD и использования опции LiveCD, таким образом, рассматриваемые диски не смонтированы.)

Вот упрощенный ответ, где я или никогда используемый gparted для изменения размеров раздела, или я сделал, но теперь сделал его снова для возвращения его вниз для калибровки.

Например, если Вы берете диск на 160 ГБ (/dev/sda) и копируете его в диск на 750 ГБ (/dev/sdb) - который я сделал для получения более быстрой начальной загрузки на диске на 7 200 об/мин. Вы могли бы делать это просто для резервного копирования.

/dev/sda (Загрузочный диск на 160 ГБ), включается в порт SATA 0

/dev/sdc DVD-привод находится в порте SATA 1

/dev/sdb (Диск на 750 ГБ), включается в порт SATA 2

Запустите путем сбора информации

sudo fdisk -l

/dev/sda Ваш исходный диск на 160 ГБ с разделами.

Затем идеально это покажет, что/dev/sdb не имеет никакой таблицы разделов.

Если/dev/sdb показывает разделы, но Вы хотите использовать его так или иначе, можно вытереть MBR и таблицу разделов от него со следующей командой:

sudo dd if=/dev/urandom of=/dev/sdb bs=512 count=24

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

Продолжите резервировать свой загрузочный диск к большему:

sudo dd if=/dev/sda of=/dev/sdb

Это займет время. Я пишу это спустя 3 года после регистрации вопроса, и шахта занимает 8 000 секунд (приблизительно 2,5 часа), чтобы сделать резервное копирование.

В моем случае я затем удалил исходный загрузочный диск и отложил его как резервное копирование. Это заставляет мою систему загружаться от первого жесткого диска, который она находит, который является 750 на порте SATA 2.

Но в Вашем случае, Вы удаляете 750 и откладываете его как резервное копирование, таким образом готовя почву для ответа на вопрос конкретно.

ЗАТЕМ ПОЗЖЕ - И ГЛАВНЫЙ ИЗ ВАШЕГО ВОПРОСА:

Скажите свои сбои загрузочного диска, или Вы решаете заменить его твердотельным диском на 160 ГБ как, я просто сделал. Я не использовал больше диска на 750 ГБ. Это все еще содержит просто исходные разделы на 160 ГБ до

Новый SSD - также 160 ГБ (50$ на eBay), таким образом, это является достаточно большим для содержания разделов.

Исходный/dev/sdb все еще включается в ту же материнскую плату сокет SATA как прежде, поэтому теперь я включаю SSD в порт SATA 0, и SSD теперь/dev/sda

(/dev/sdc LiveCD, который я загружаю от),

Откройте окно терминала и проверьте вещи:

sudo fdisk -l

проверить, что 160 ГБ (/dev/sda) не имеют никакой таблицы разделов. Если это делает, можно вытереть MBR и таблицу разделов от него со следующей командой:

sudo dd if=/dev/urandom of=/dev/sdb bs=512 count=24

Затем возобновите dd:

dd if=/dev/sdb of=/dev/sda

(Потребуется тот же отрезок времени в качестве прежде - несколько часов),

Удостоверьтесь, что сделали чистое завершение работы liveCD.

sudo init 0

Это извлечется, CD затем предлагают Вам нажимать Enter, таким образом, это может сбросить остающиеся буферы.

Удалите 750, который был/dev/sdb.

И вуаля, это может теперь загрузиться на диск меньшего размера очень хорошо, потому что размер разделов позволил этому соответствовать.


Если Вы делаете это с SSD как, я просто сделал, поставьте свой ремень безопасности перед начальной загрузкой. Это настолько быстро, Вы даже не получите полную ничью от кофейной кружки, прежде чем это попросит Ваш пароль.


В моем особом случае я решил оставить 750 жестких дисков внутри как вторичный диск, который я монтирую UUID в fstab под/mnt для резервных копий и сбора данных.


Таким образом, там у Вас есть он. Ответ с июля 2017 с помощью Ubuntu 14.04 Install/LiveCD

6
ответ дан 8 October 2019 в 11:20

Да, но необходимо определить раздел, если Вы просто копируете раздел.

Поэтому, если число раздела на более крупном диске равняется 1, то

sudo dd if=/dev/LargerDrive1 of=/dev/SmallDrive bs=4M

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

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

1
ответ дан 8 October 2019 в 11:20

Нет это не должно хорошо делать, Вы потеряете данные, если Вы сделаете это. Проблема в основном состоит в том, что данные не хранятся в первой части диска обязательно. dd / кошка копирует с запуска в конец. Включая пустые регионы файловой системы.

, Если Вы сделали это dd / кошка только скопирует размер целевой файловой системы из источника. Это может быть проблемой, если будут какие-либо данные по последним областям диска, то дополнительно данные файловой системы будут неправильными на копии диска.

, Если однако Вы только интересуетесь данными, хранившими в первой части диска - например, начальная загрузка / корневой раздел, это может быть хорошо, чтобы сделать. (Я сделал это прежде, например, с разделами начальной загрузки из изображений ISO).

, Если Ваши совпадения данных в меньшем диске, то одна опция состоит в том, чтобы изменить размер файловой системы на большем диске. Процедура была бы чем-то вроде этого:

0) Делают резервное копирование таблицы разделов (распечатайте fdisk данные с помощью p и сохраните их в файл). При удалении раздела диска если Вы не форматируете диск, можно повторно разделить диск точно таким же образом как прежде и восстановиться больше всего, если не все данные. Если Вы хотите скопировать больший диск на меньшие диски, одна опция может быть к dd / кошка исходный раздел в файл ISO на диск меньшего размера - если это соответствует. Если все Ваши исходные разделы меньше, чем Ваши целевые диски, такое резервное копирование возможно.

1) Размонтирование диск полностью включая все разделы.

2) e2fsck разделы для проверки нет никаких ошибок.

3) resize2fs разделы на исходном диске.

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

5) делят Ваш целевой диск так, чтобы разделы были тем же размером как исходные разделы.

6) dd или кошка исходные разделы на целевые разделы.

7) e2fsck целевые разделы.

8) Молятся.

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

Прежде, чем сделать это, практику с некоторыми потребляемыми данными.

Сводка: путем изменения размеров файловых систем можно спрессовать данные и отжать вакуум на каждом разделе, затем можно скопировать данные между дисками, копируя разделы по одному с помощью dd или кошку, затем с помощью файловой системы, проверяющей целевую систему, необходимо смочь разрешить любые неисправности на разделах. На практике у Вас должны были бы быть шары, больше, чем Chuck Norris для попытки такой вещи.

1
ответ дан 17 November 2019 в 11:08

Это зависит от обстоятельств. (Предполагая, что вы хотите скопировать весь диск с любыми разделами, а не только с одним разделом.)

Конечно, «лишнее» пространство в конце большого диска не может быть занято разделами, иначе данные будут не подходит. Итак, как вы уже сделали, вам нужно будет изменить размер разделов и переместить их в начало диска.

Второй фактор, который следует учитывать, - это таблица разделов. Таблица разделов msdos находится в начале диска. Следовательно, после того, как вы позаботились о размерах разделов, dd вставьте диск и отключите неиспользуемое пространство. Таким образом я успешно скопировал несколько дисков.

Это немного сложнее, если задействована таблица разделов gpt . В этом случае таблица разделов хранится в двух местах: в начале и в конце диска. Копия в конце будет потеряна, если новый диск слишком мал - я пробовал это, и GParted после этого не распознал никакие разделы на целевом диске. Что сработало для меня, так это сначала создать новую таблицу разделов типа gpt на целевом диске (с использованием GParted), а затем скопировать отдельные разделы с помощью GParted. Таким образом, GParted позаботится об обновлении записей таблицы разделов.

0
ответ дан 30 April 2020 в 14:55

Другие вопросы по тегам:

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