DD и свободное пространство

DD и свободное пространство

У меня есть раздел (/dev/sda1) размером 10 ГБ. Также есть файл "dd" другого раздела размером 7 ГБ ( /dev/sdb1).

Когда я выполняю команду как:

dd если=sdb1.dd из=/dev/sda1

затем все идет нормально, но я не могу использовать оставшиеся 3 ГБ пространства /dev/sda1

Есть ли способ заставить DD использовать оставшееся свободное пространство (в данном случае 3 ГБ)?

решение1

ddне заботится о свободном пространстве (как в концепции файловой системы), он просто копирует блок за блоком.

Если sdb1.ddэто образ файловой системы, вы можете увеличить его с помощью resize2fsили других инструментов (в зависимости от типа файловой системы) после его копирования.

resize2fs /dev/sda1

решение2

Есть ли способ заставить DD использовать оставшееся свободное пространство (в данном случае 3 ГБ)?

Нет.

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

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

решение3

dd не копирует файлы, если копирует байты. Это включает структуру файловой системы, которая является файловой системой размером 7 гигабайт. Когда вы закончите копирование, данные файловой системы покажут, что это файловая система размером 7 гигабайт.

Если вы просто пытаетесь дублировать все файлы, использование dd для создания копии — это не то, что вам нужно. Используйте tar или dump/restore на свежесозданную файловую систему.

Связанный контент