Як розгорнути неочищене зображення диска?


13

Офіційні зображення, що надаються, - це необроблені образи диска, які можна було створити за допомогою dd.

Як збільшити зображення? Мене не цікавить перерозподіл зазначеного зображення, оскільки на це вже відповіли в розділі Як я можу змінити розмір мого / (root) розділу? .


Не точно впевнений, що ви маєте на увазі під розширенням. Ви хочете виконати "розмір розділу" на зображенні перед тим, як додати його на диск?
Joost

Це одна мета, але для цього потрібно розширити образ диска.
Алекс Чемберлен

Відповіді:


13

Як пояснено в цьому запитанні, існує два способи розширення зображення. Нижче наведено два приклади розширення файлу на 1 кілобайт.

DD створює нерозріджений файл

dd if=/dev/zero bs=1k count=1 >> myimage.img

Урізання створює розріджений файл

truncate -s +1024 myimage

Напевно, ви хочете використовувати усікання. Рідкий файл записує лише метадані блоків, які він використовує, а не фактично записує блоки. Це робить файл швидшим (оскільки він не повинен записувати фактичний нуль на диск), і це економить місце на вашому диску.

Зауважте , що файлова система HFS + Apple не підтримує розріджені файли.


HFS + не відповідає POSIX? linux.die.net/man/2/truncate
Алекс Чемберлен

Якщо підтримка розріджених файлів є вимогою до POSIX, я не думаю. Ось хороша демонстрація відмінностей між HFS + та деяким ext (я здогадуюсь) stackoverflow.com/a/193015/689893 . Очевидно, він створює файл, але він використовує простір на диску, як звичайний файл, а не розріджений файл.
Joost

Ні, я думаю, що я зрозумів неправильно!
Алекс Чемберлен

Якщо ви розріджений файл, він буде по- , як і раніше НЕ так? dd
Алекс Чемберлен

Рідкий файл містить дані, тому я думаю, ви можете просто додати нулі. Вона буде обробляти цю частину як нечасту.
Joost

10

Неймовірно простий спосіб змінити розмір зображення - це використовувати один із qemuінструментів, що називається qemu-img. Це, звичайно, залежить від того, що ви qemuвстановили (що я знаю, ви вже робите Алекс).

Команда виглядає приблизно так:

qemu-img resize filename [+|-]size[K|M|G|T]

Де filenameзнаходиться файл зображення, а розмір - розмір, який ви хочете збільшити (або зменшити).

Наприклад, якщо ви хочете збільшити зображення archarm.imgна 2 Гб, виконайте такі дії:

qemu-img resize archarm.img +2G

Посилаючись на manpage, перш ніж використовувати цю команду для зменшення зображення диска, ОБОВ'ЯЗКОВО використовувати файлову систему та інструменти розділення всередині VM, щоб відповідно зменшити виділені файлові системи та розміри розділів. Якщо цього не зробити, це призведе до втрати даних!
AntonioK
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.