Зображення жорсткого диска на блискавці дуже велике


20

Щойно я створив зображення щойно встановленого подвійного завантаження (Ubuntu та Windows) за допомогою цієї команди (яку я деякий час використовував для менших зображень):

dd if=/dev/sda | gzip > /mnt/drive.img.gz

На цьому приводі використовується менше 60G з 500G. Тим не менш, цей файл-файл зараз має величину 409G.

Як у тому, що? Чи не вдається gzip стиснути всі ці нулі? Як я вже сказав, це щойно встановлена ​​система. Це не могло бути таким захаращеним.

Зараз я не очікував, що файл буде 60G, але 400G мені здається дуже величезним.


Відповіді:


29

Як у тому, що? Чи не повинен gzip вдатися стиснути всі ці нулі?

Так, якби вони були нулями .

Невикористаний простір на диску не означає, що він містить нулі; це означає, що він не використовується і може містити що завгодно .

Є програми, які стирають невикористаний простір на диску до нулів. Я пропоную вам скористатися ними перед тим, як зробити образ диска. (Я не пам'ятаю ні одного експромтом, в Linux, я б просто використовувати dd if=/dev/zero bs=1048576 of=somefileдля створення файлів , що містять тільки нулі, заповнюючи кожну файлову систему ;. Потім видалити їх , перш ніж зробити зображення Крім того , я вважаю за краще xzбільш gzip.)


О, дякую, я навіть не думав про те, що було на цьому диску, перш ніж я встановив його! Я думаю, що зараз швидше розпакувати це зображення і зробити його меншим (до якого, здається, також є рішення). Я також розглядаю питання про використання xz. Спасибі!
chris137

12
Запис 400G нулів щоразу, коли ви хочете зробити клон, не здається гарною ідеєю на SSD. Інше рішення (з використанням програми клонування, обізнаної з файловою системою) здається кращою.
Федеріко Полоні

4
@FedericoPoloni: Ні, але сформоване зображення є ідеальним зображенням із сирої дискової форми . Утиліти для клонування дисків використовують різні формати, тому для відновлення зображення вам потрібна утиліта. Я не знаю (але також не перевіряв, чи є) будь-який, який може насправді генерувати необроблене зображення, замінюючи невикористані блоки на зображенні нулями; це було б справді корисно. Використання ddв Linux - це найпростіший і найпростіший виправити непотрібний розмір зображення, а як разовий - це добре навіть на SSD.
Номінальна тварина

1
@FedericoPoloni: Так, як gzip, так і xz-стиснуті зображення можна монтувати за допомогою nbdkit . (Я не дуже переживаю за формати, якщо вони відкриті та підтримуються більш ніж однією утилітою; я переживаю лише за те, щоб утиліти стали непідтримуваними та невдалими в нових системах. Я був би радий використовувати SquashFS замість xz або gzip, наприклад.)
Номінальна тварина

3
@Gilles Обрізаний простір під час читання не гарантовано матиме нулі. Деякі контролери дають це, інші - ні.
девіантфан

14

Для резервного копіювання окремих розділів ви можете використовувати partclone .

Partclone читає файлову систему, щоб побачити, де зберігаються файли, і створює резервні копії лише тих частин розділу.


3
Також Clonezilla є відмінним графічним інтерфейсом для цього.
Федеріко Полоні

partimage є прекрасним інструментом, і він вже є у багатьох Linux-дистрибутивах / живих компакт-дисках.
Criggie

Ще одним інструментом у цій жилці є fsarchiver.
Iwillnotexist Idonotexist
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.