Уменьшить размер файла Ubuntu mate 16.04 img

10

Я скачал официальный ubuntu-mate-16.04.img.xz(около 1,1 ГБ) и распаковал его. Но извлеченный .imgсоставляет около 8,1 ГБ, что примерно на 162 МБ больше, чем размер моей SD-карты. Итак, я не могу восстановить .imgкарту SD. Другими словами, Raspberry Pi MATE 16.04 слишком велик для SD-карты емкостью 8 ГБ

Поскольку .xzфайл был настолько мал по сравнению с файлом .img, я подозреваю, что у .imgнего есть свободное место, поэтому я смонтировал img и обнаружил, что там было 4 ГБ свободного места.

Как мне изменить размер, .imgчтобы уменьшить его размер, чтобы я мог восстановить его на моей SD-карте?

Эшвин Кумар К
источник
1
В будущем, пожалуйста, приложите некоторые усилия, чтобы убедиться, что ваш вопрос читабелен. Абзацы и заглавные буквы - хорошие вещи.
Jacobm001

Ответы:

10

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

Тот факт, что сжатый файл составляет почти 1,1 ГБ, по сравнению с 8,1 ГБ извлеченных файлов, подтверждает это. Пустое пространство сжимается до пары байтов. Если бы были дополнительные пакеты, было бы заметное несоответствие размера между этими двумя изображениями.

Сжатие изображения

$ sudo modprobe loop # to enable loopback
$ sudo losetup -f  #request a new loopback device

#This will return the path to a free loopback device.this is /dev/loop0 for me

$ sudo losetup /dev/loop0 ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img
$ sudo partprobe /dev/loop0
$ sudo gparted /dev/loop0

Теперь появится отдельное окно с / dev / loop0 .. вы увидите два смонтированных раздела: загрузочный и корневой раздел.

gparted снимок

В моем случае в корневом разделе было около 3,74 ГБ неиспользуемого пространства, поэтому щелкните правой кнопкой мыши по корневому разделу и нажмите «Изменить размер» и уменьшите свободное пространство примерно до 10–20 МБ, затем нажмите «Применить».

введите описание изображения здесь

Теперь нам больше не нужно loopback-устройство, поэтому давайте разгрузим его:

$ sudo losetup -d /dev/loop0 

Удаление незанятой части

$ fdisk -lu ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img

Вот пример вывода:

 $ fdisk -lu ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img Disk
 ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img: 7.5 GiB, 8053063680
 bytes, 15728640 sectors Units: sectors of 1 * 512 = 512 bytes Sector
 size (logical/physical): 512 bytes / 512 bytes I/O size
 (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk
 identifier: 0xd882991d

 Device                                            Boot  Start      End
 Sectors  Size Id Type
 ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img1 *      2048   133119
 131072   64M  c W95 FAT3
 ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img2      133120 11487231
 11354112  5.4G 83 Linux

Затем обрежьте раздел:

$ truncate --size=$[(11487231+1)*512] ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img

Обратите внимание, что число 11487231 в приведенной выше команде зависит от того, что вы выводите для fdisk.

Теперь вы должны быть готовы с изображением!

Эшвин Кумар К
источник
Есть допущенные проблемы в образе MATE. Этот пост - один из способов уменьшить размер изображения, чтобы оно поместилось на SD-карте 8 ГБ. Решение проблем с WiFi предлагается на июль. Если вы собираетесь изменить изображение, вам также следует переместить раздел ext4 в 139264 (граница стираемого блока 4 МБ).
Милливей
Спасибо! :-) Только ... Это решение предполагает, что вы уже используете какой-то вариант Linux на Pi или в другом месте. Как могут те люди, которые в настоящее время не имеют работающего экземпляра Linux, но застряли в Windows или MacOS, достичь того же результата? Весьма признателен!
@Schurdl также будет работать с live linux DVD.
Стив Робиллард
Вы можете попробовать live linux DVD или виртуальную машину, но если вы хотите сделать это в Windows, попробуйте Cygwin
Ashwin Kumar k
3

Вы уверены, что это Raspberry Pi выделенный файл изображения? Ваше имя файла не указывает, что это для Raspberry Pi. Вы можете скачать правильное изображение отсюда: https://ubuntu-mate.org/raspberry-pi/, а также следовать руководству, чтобы записать его на свою SD-карту.

Huczu
источник
Да, в названии файла есть Raspberry Pi Armhf. Я просто убрал его, чтобы уменьшить продолжительность вопроса
Эшвин Кумар,
Так что не волнуйся. Они пишут, что вам нужно как минимум 8GB SD-карты. Просто следуйте инструкциям, и все должно быть в порядке. Если у вас возникли какие-либо ошибки, просто отредактируйте оригинальный пост с журналами.
Huczu
Нет, следование их инструкциям не сработает, и это уже 2017 год. Размер извлеченного изображения просто на несколько блоков превышает размер SD-карты на 8 ГБ.
Цюань до