Tam alan ayırdıktan sonra bir görüntü dosyası nasıl küçültülür


13

Bir Raspberry Pi (Raspbian) sd kartını yedekleme denemesi yapıyorum. Görüntü (SD kart okuyucudan) benim HDD üzerine başarıyla okumak için Win32DiskImager kullanıyorum - ama şimdi boyut sorunu. Görüntü orijinal SD karttan sadece daha büyüktür ve yalnızca daha büyük bir SD karta geri yazılabilir;

Bir .img dosyası oluşturduktan sonra, kullanılmayan tüm alanı nasıl yeniden kaldırabilirim? (Bu, raspi-config köküne kullanılabilir tüm alanı ayırmak için kullandığım için mi?)

Bölümlerin Cygwin ile nasıl göründüğü hakkında bir fikir edinmeye çalıştım, ancak fdisk'i çalışmayı başaramıyorum (-bash: fdisk: komut bulunamadı) - ( bölümlenmemiş alan içeren bir 16Gb kartın görüntüsünü okuduktan sonra son: Kesme mümkün mü? )

Yanıtlar:


12

Bulduğum en iyi yol GParted kullanmak (Linux tabanlı bir işletim sistemi kullanabilir veya GParted Live USB'den önyükleme yapabilirsiniz). Bu adımların her birinin nasıl yapılacağı hakkında ayrıntılı talimatlar bulmak yeterince basittir, ancak işte bulduğum genel yöntem:

  1. GParted'ı çalıştırın, SD kartınızı cihaz listesinde bulun ve ana bölümü gidebildiği kadar küçültün.
  2. Bu bölümün son sektörünün değerini alın ve bunu sektör boyutuyla çarpın (benim için 512; bunun standart olduğunu düşünüyorum, ancak cihazınız için GParted ayarlarında kontrol edebilirsiniz): bu size bayt cinsinden toplam boyutu verecektir. kopyalamak.
  3. Toplam bayt sayısını 4096'ya bölün (gerekiyorsa toplayın - yeterli olmadığından biraz daha fazla alan almak daha iyidir) ve bu size bir Linux'ta terminalde aşağıdaki komutu girmeniz için 'sayı' verecektir. (Bunu muhtemelen GParted Live USB işletim sistemi terminalinden veya yönetici olarak çalıştırdığınız sürece sudo olmadan Cygwin'de yapabilirsiniz):

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

Gerekirse giriş aygıtı konumunu değiştirin. Bu size boş alan göz ardı edilerek olabildiğince küçük olan bir son görüntü dosyası vermelidir.


Bunun çalıştığını doğrulayabilirim. Birkaç dakika önce 8GB'lık bir karttan 4GB'lık bir karta geçmeyi denedim. Bu, verilerinizin hedef kartınızdan daha küçük olması koşuluyla çalışmalıdır.
PNDA

Sıradan bu yazıyı unuttuğumdan beri unuttum. Gelecekte deneyecek. Bu yaygın bir sorun gibi görünüyor, bu yüzden girişiniz için teşekkürler.
Renier Delport

Bu doğru cevap olarak işaretlenmelidir! Teşekkürler!
rodripf

Windows üzerinde herhangi bir yolu?
Flash Thunder

1
GParted Live USB'den önyükleme yapabilirsiniz.
Mike Roberts

7

Kök bölümünü daraltarak dd görüntüsünün boyutunu mümkün olduğunca azaltan pishrink adında güzel bir araç var . Geri yüklenen görüntüyü bölüm ilk kez ilk açışınızda yeniden başlatırsanız. Windows'u çalıştırırsanız, görüntüyü daraltmak için Ahududu'nuzda Linux'unuzu kullanın.


0

Win32DiskImager'ın en yeni sürümünde Salt Okunmuş Ayrılmış Bölümler seçeneği vardır. Sadece kullanılmış alanı yazar, boş değil.

  1. GParted ile sd karttaki bölümü daraltın.
  2. Daha büyük karttan Win32DiskImager ile görüntü oluşturun.
  3. Win32DiskImager ile görüntüyü daha yüksek değere sahip küçük kart üzerine yazın.

-1

Basit cevap, yapamayacağınızdır. Görüntüyü daraltmak istiyorsanız, sıkıştırmayı kullanın, en çok yaptığınız şey ('NIX gzip'te iyi çalışır). Bu sitede bu konuda birçok tartışma bulacaksınız.

Alternatif sadece dosyaları yedeklemektir. Yaklaşımım aşağıda açıklanmıştır. /raspberrypi//a/28087/8697


1
şunları yapabilirsiniz (veri içeriği yeni SD karttan küçükse)
Wilf

2
Sıkıştırma yardımcı olmaz. IMG dosyasının bulunduğu disk alanı değil. SD kartta IMG dosyasının yazılacağı bir alan meselesi
Thomas Weller

@Thomas IMG dosyasını sıkıştırmak daha küçük hale getirecektir (umarım) yazmak istediğiniz SD karta sığar .... Bir şey mi kaçırıyorum?
user253751

@immibis: Bilgisayarınızın sabit diskinde daha az yer kaplaması için IMG dosyasını gzip edebilirsiniz. Gzip ile sıkıştırılmış verileri SD kartlara yazarsanız, önyükleme yapılmaz. Önyükleme için verilerin doğru biçimde olması gerekir ve gzip biçimi değildir.
Thomas Weller

@Thomas Oh, OP'nin yedeklemelerini geri yüklemek yerine bir nedenden ötürü başka bir SD kartta saklamak istediğini düşündüm.
user253751
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.