Як зменшити файл зображення після виділення повного простору


13

Я зараз експериментую із створенням резервної копії SD-карти Raspberry Pi (Raspbian). Я використовую Win32DiskImager для читання зображення (із зчитувача SD-карт) на своєму жорсткому диску, але тепер проблема з розміром. Зображення просто більше, ніж оригінальна SD-карта, і її можна записати лише на більшу SD-карту, яка, якщо ви повернете її назад, має таку ж проблему.

Як створити .img файл, як я можу знову видалити весь невикористаний простір? (це тому, що я використовував raspi-config для виділення всього доступного простору до кореня?)

Я намагався скласти уявлення про те, як виглядають розділи (-и) з Cygwin, але не вдається налагодити роботу fdisk (-bash: fdisk: команда не знайдена) - (після читання зображення карти 16Gb, що містить нерозподілений простір у кінець: можливе обрізання? )

Відповіді:


12

Тож найкращий спосіб, який я знайшов, - це використовувати GParted (ви можете використовувати ОС на базі Linux або завантажуватися з GParted Live USB). Досить просто знайти детальні інструкції, як детально виконати кожен із цих кроків, але ось загальний метод, який я знайшов для роботи:

  1. Запустіть GParted, знайдіть свою SD-карту в списку пристроїв і зменшіть основний розділ на мінімальний розмір.
  2. Візьміть значення останнього сектора цього розділу і помножте це на розмір сектора (для мене 512; я вважаю, що це стандарт, хоча ви можете перевірити це в налаштуваннях GParted для свого пристрою): це дасть вам загальний розмір у байтах скопіювати.
  3. Розділіть загальну кількість байтів на 4096 (округніть, якщо вам потрібно - краще зайняти трохи більше місця, ніж недостатньо), і це дасть вам "рахунок", щоб потім увійти до наступної команди на терміналі в Linux оточення (Ви, ймовірно, можете це зробити з терміналу операційної системи GParted Live USB або в Cygwin без судового доти, доки ви запускаєте його як адміністратор):

sudo dd if=/dev/mmcblk0 of=/path/to/your/file.img bs=4k count=<count>

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


Я можу переконатися, що це працює. Я лише спробував кілька хвилин тому перейти з картки 8 ГБ на карту 4 Гб. Це має працювати за умови, що ваші дані менше, ніж ваша картка призначення.
PNDA

Відібравшись забув про цю посаду з моменту переходу. Спробуємо це в майбутньому. Здається, це поширена проблема, тому дякую за ваш внесок.
Реньє Дельпорт

Це слід позначити як правильну відповідь! Дякую!
rodripf

будь-яким способом у Windows?
Спалах Грім

1
Ви можете завантажуватися з GParted Live USB.
Майк Робертс

7

Існує чудовий інструмент під назвою pishrink, який максимально зменшує розмір зображення DD за рахунок зменшення кореневого розділу. Якщо ви запускаєте відновлене зображення, то перший раз, коли розділ знову розгорнуто до максимального розміру. Якщо ви працюєте з Windows, просто використовуйте Linux на Raspberry, щоб зменшити зображення.


0

Найновіша версія Win32DiskImager має опцію "Читати лише виділені розділи". Він пише лише використаний простір, а не порожній.

  1. Зменшити розділ на sd-картці з GParted.
  2. Створіть зображення за допомогою Win32DiskImager з більшої карти.
  3. Напишіть зображення за допомогою Win32DiskImager на меншій карті, використовуючи параметр, згаданий вище.

-1

Проста відповідь - ви не можете. Якщо ви хочете зменшити зображення, використовуйте стиснення, саме це і робиться більшість (на 'NIX gzip працює добре). На цьому сайті ви знайдете багато дискусій.

Альтернативою є резервне копіювання лише файлів. Мій підхід описаний нижче. /raspberrypi//a/28087/8697


1
ви можете (якщо вміст даних менший, ніж нова SD-карта)
Вільф

2
Стиснення не допоможе. Це не питання дискового простору, де знаходиться файл IMG. Це питання місця на SD-картці, куди слід писати файл IMG
Thomas Weller

@Thomas Стиснення файлу IMG зробить його меншим, тому він (сподіваємось) вписується на SD-карту, на яку ви хочете записати .... я щось пропускаю?
користувач253751

@immibis: Ви можете отримати файл IMG, щоб він зайняв менше місця на жорсткому диску вашого ПК. Якщо ви запишете gzipped дані на SD-карти, вони не завантажуватимуться. Дані повинні бути у правильному форматі для завантаження, і це не формат gzip.
Томас Веллер

@Thomas О, я думав, що ОП хотів зберегти їх резервні копії на іншій SD-картці чомусь, на відміну від їх відновлення.
користувач253751
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.