Я спас данные с жесткого диска 2 ТБ (и оказалось, что он не был неисправен - но это другая история), и я получил изображение 2 ТБ. Монтируя этот образ под Linux, я вижу (используя df), что на этом образе 512 ГБ свободны. Теперь я хотел бы вернуть это пространство, то есть либо уменьшить изображение, которое кажется немного сложным (как указывалось в нескольких вопросах и ответах на Super User и других сайтах), либо поместить файлы в новое изображение.

У меня вопрос: какой самый простой способ получить монтируемое изображение, которое содержит данные, но не свободное место? Я предпочитаю хранить все данные в одном файле изображения.

1 ответ1

1

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

cp --sparse=always fromfile tofile

Который занимает немного места на диске.

Но прежде чем сделать это, «свободное» пространство в изображении ДОЛЖНО быть обнулено: смонтировать образ и cat /dev/zero > /media/loopmount/hugefile затем sync и rm /media/loopmount/hugefile перед размонтированием.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .