Zmniejsz rozmiar pliku Ubuntu mate 16.04 img

10

ubuntu-mate-16.04.img.xzPobrałem oficjalny (około 1,1 GB) i rozpakowałem go. Ale wyodrębniono .imgokoło 8,1 GB, czyli około 162 MB więcej niż rozmiar mojej karty SD. Nie mogę więc przywrócić .imgkarty SD. Innymi słowy Raspberry Pi MATE 16.04 Obraz jest za duży na kartę SD 8 GB

Ponieważ .xzplik był tak mały w porównaniu do .img, podejrzewam, że .imgma wolne miejsce, więc zamontowałem img i stwierdziłem, że było 4 GB wolnego miejsca.

Jak zmienić rozmiar, .imgaby zmniejszyć jego rozmiar, aby móc przywrócić go na karcie SD?

Ashwin Kumar k
źródło
1
W przyszłości postaraj się, aby twoje pytanie było czytelne. Akapity i wielkie litery to dobre rzeczy.
Jacobm001

Odpowiedzi:

10

Ok, więc w końcu znalazłem odpowiedź i chcę się z wami podzielić. Domyślam się, że twórcy przez pomyłkę utworzyli skompresowany plik z rozwiniętego obrazu.

Dowodzi tego fakt, że skompresowany plik ma prawie 1,1 GB, w porównaniu do 8,1 GB wyodrębnionych plików. Puste miejsce zostanie skompresowane do kilku bajtów. Gdyby istniały dodatkowe pakiety, zauważalna byłaby rozbieżność wielkości między tymi dwoma obrazami.

Zmniejszenie obrazu

$ 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

Teraz pojawi się osobne okno z / dev / loop0 .. zobaczysz dwie zamontowane partycje boot i partycję root.

migawka gparted

W moim przypadku partycja root miała około 3,74 GB nieużywanego miejsca, więc kliknij prawym przyciskiem myszy na root i kliknij zmień rozmiar i zmniejsz wolne miejsce do około 10-20 MB, a następnie kliknij Zastosuj.

wprowadź opis zdjęcia tutaj

Teraz nie potrzebujemy już urządzenia loopback, więc rozładujmy go:

$ sudo losetup -d /dev/loop0 

Usuwanie nieprzydzielonej części

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

Oto przykładowy wynik:

 $ 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

Następnie obetnij partycję:

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

Zwróć uwagę, że liczba 11487231 w powyższym poleceniu zależy od tego, jaki jest twój wynik dla fdisk.

Teraz powinieneś być gotowy z obrazem!

Ashwin Kumar k
źródło
Występują problemy na obrazie MATE. Ten post jest jednym ze sposobów zmniejszenia rozmiaru obrazu, aby dopasować go do 8GiB SD. Rozwiązania problemów z WiFi są proponowane na lipiec. Jeśli zamierzasz zmodyfikować obraz, powinieneś także przenieść partycję ext4 na 139264 (granica bloku wymazywania 4MiB).
Milliways 27.04.16
Dziękuję Ci! :-) Tylko ... To rozwiązanie zakłada, że ​​już korzystasz z Linuksa na Pi lub w innym miejscu. W jaki sposób ludzie, którzy obecnie nie mają działającej instancji Linuksa, ale utknęli w systemie Windows lub MacOS, mogą osiągnąć ten sam wynik? Bardzo zobowiązany!
@ Schurdl będzie działało również DVD z linuksem na żywo.
Steve Robillard
możesz wypróbować DVD z linuksem na żywo lub maszynę wirtualną, ale jeśli chcesz to zrobić w systemie Windows, wypróbuj cygwin
Ashwin Kumar k
3

Czy na pewno jest to dedykowany plik obrazu Raspberry Pi? Twoja nazwa pliku nie określa, że ​​dotyczy Raspberry Pi. Możesz pobrać poprawny obraz stąd: https://ubuntu-mate.org/raspberry-pi/, a także postępuj zgodnie z instrukcjami, aby zapisać go na karcie SD.

Huczu
źródło
Tak, ma nazwę pliku malinowego pi armhf. Właśnie go usunąłem, aby skrócić długość pytania
Ashwin Kumar k.
Więc nie martw się. Piszą, że potrzebujesz co najmniej 8 GB karty SD. Postępuj zgodnie z instrukcjami i wszystko powinno być w porządku. Jeśli wystąpią jakieś błędy, po prostu edytuj oryginalny post za pomocą dzienników.
Huczu
Nie, postępowanie zgodnie z ich instrukcjami nie będzie działać, a to już 2017 rok. Rozmiar wyodrębnionego obrazu jest po prostu większy niż rozmiar 8 GB sdcard o kilka bloków.
Quan To