Linux dd kullanarak 128 GB'lık bir sürücüyü 120 GB'a nasıl görüntüleyebilirim?


1

2 tane SSD var. Sistemim (Ubuntu 12.04) bir bilgisayara kuruluyor ve onu diğerine kopyalamak istiyorum. Sorun şu ki sistemin şu anda 128 GB'lık bir sürücüde olması ve yenisinin yalnızca 120GB olması. ddDaha küçük kapasiteli bir sürücüyü kullanarak bir görüntü oluşturmak mümkün mü ?


2
Superuser.stackexchange.com veya serverfault.stackexchange.com
Joe'dan

Lütfen sorunuzu cevaplayabilir misiniz?
jofel

bu bir programlama sorusu değil. Bu arada, canlı bir sistem ile önyükleme yapın, her iki diski de monte edin ve daha küçük bir diske kopyalamak için cp -a yapın.
Ottavio Campana

Bu soruya bir göz atın .
Benny Hill

Yanıtlar:


5

İstediğiniz şeyi nasıl yapmalısınız:

  1. mümkünse tercihen ... 120GB daha küçük sistem bölümü yeniden boyutlandırmak için GParted kullanmak oldukça emin gerçekten hedef sürücüsünün toplam boyutu altında buna sahip yetinmek, 120GB daha küçük.

  2. dd if=/dev/sda bs=8M of=/dev/sdbKaynak ve hedef sürücülerinizin sırasıyla sda ve sdb olduğunu varsayalım. Bunu normal modda çok kullanıcılı oturum açma ile çalışan kaynak işletim sisteminizden DEĞİL, güvenli moddan veya canlı bir önyükleme ortamından yapın.

    YA , kendi kaynaklarda ağ canlı önyükleme ortamında erişimi ve evreni varsa: apt-get install pv ; pv < /dev/sda > /dev/sdb. Bu komut ile dd komutu arasındaki fark, buradaki amaçlarınız için, bu komutun size bir İLERLEME BAR'ı vermesi ... :)

Ancak, gerçekten yapmak istediğinizi yapmak için muhtemelen daha iyi bir yol:

  1. Hedef sürücüye Ubuntu'yu çıplak bir şekilde kurun. (Yeni bir sürücüde bir önyükleme kesimi elde etmenin daha etkili yolları var, ancak burada "noob-friendly" kullanmaya gidiyorum.)

  2. her iki sürücüyü de canlı bir önyükleme ortamından bağlayın ve rsync -harv --progress /path/to/source/ /path/to/target/. GERÇEKTEN çalışan bir sistemde değil, canlı bir önyükleme ortamında olmak istediğinizi, aksi takdirde devfs, procfs ve benzeri şeyler ile uğraşmak zorunda kalacağınızı unutmayın.


1

ADIMLARI

  1. Mümkünse, kaynak sürücünün (128 Gb) bir yedeğini alın.

  2. Önyüklemek için Gparted USB kullanın , daha sonra kaynak sürücü bölümünüzü (128 Gb) hedef sürücü boyutundan (120 Gb) daha küçük olacak şekilde küçültmek için kullanın. Tam bir sürücünüz varsa, hiç boş alanı olmayan 128 Gb diyelim, o zaman veri dosyalarının bazılarını sıkıştırmanız (sıkıştırmanız) veya 120 Gb'den (hedef sürücünün boyutu) elde etmek için başka bir geçici USB'ye kopyalamanız gerekebilir. . Aksi halde kaynak içeriğini hedef sürücüye yerleştiremezsiniz. Sadece sığmayacak.

    Durumda biraz fazladan boş alan bırakın (belki de 1 Gb, geometri çevirileri veya her neyse. ddSürücüm bir boyut ama Gparted biraz farklı, farklı bir boyut sergiledi).

  3. Kaynak sürücünün bölümü hedef sürücünün boyutundan daha az küçüldükten sonra, bunu yapabilirsiniz dd. Hedefe kaynak kopyaladığınızdan emin olun, aksi takdirde çok mutsuz olursunuz. (Eğer kaynak / dev / sda ise, bölümü şimdi 120 Gb'den az olan 128 Gb sürücü olduğundan emin olun ... Hedefiniz / dev / sdb yeni 120 Gb sürücüdür. )

    dd if=/dev/sda of=/dev/sdb bs=4096 conv=notrunc,noerror

  4. Şimdi, isterseniz, Gparted'e ve kaynak sürücüde geri dönebilirsiniz, bölümün tam boyutunu izin verilen maksimuma genişletebilirsiniz.

Gparted bölümleri daraltmakta harika bir iş çıkarır ve kullanılan alanı gösterir, böylece kullanılan alanın üzerinde ne büyüklükte olursa olsun daraltabilirsiniz. Gparted kullanarak bölümleri kopyalayıp yapıştırmaya çalıştım, ancak benim için işe yaramadı . Bölümleri küçültmek için yalnızca Gparted kullanın, daha sonra ddkopyalamayı yapmak için kullanın .

Tamamlandığında, size alanınız tükendiğini söyleyebilir . Bu normal; daha küçük bir diske kopyalıyorsunuz. Ancak, daha küçük bir bölüm kopyaladığınız için tüm veriler kopyalanır. dd128 Gb'yi 120 Gb'ye kopyalamaya çalışır ve bir hata atar. Endişelenme; sürücülerde hasar yok. Şimdi Gparted USB'yi çıkarın, kaynak sürücüyü çıkarın ve yeni 120 Gb diske önyükleyin, içeriğini kontrol edin ve boş yeriniz varsa, önceden sıkıştırılmış dosyaları açabilirsiniz.


Bu Jim Salter'ın cevabına çok benziyor , sadece biraz daha fazla ayrıntı ile.
Scott

Gerçekten de, bu yazı hakkında yorum yapmaya çalışın, ama ben yeniyim, sistem bana izin vermiyor. Dün tam olarak bu işlemi yaptım, sunucumu yedekledim. Yani prosedür doğru. Saygılarımızla.
Luis H Cabrejo,

0

Her sürücünün sadece bir bölümü olduğunu / olacağını düşünüyorum.

ddİstediğiniz şekilde kullanılamaz, çünkü fiziksel olarak bir sürücüdeki her veri bloğunu diğerine kopyalar, bölüm ve dosya sistemini 128 GB olarak tanımlayan veriler dahil. Ve ilk sürücünün sonunda depolanan veri blokları kaybolacak.

Ottavio Campana tarafından yapılan açıklamalarda ima edilen basit bir çözüm:

  1. LiveCD kullanarak sistemi önyükleyin
  2. Yeni sürücüde dosya sistemini oluşturun
  3. Her iki sürücüyü de takın ve eskisini yeniye kopyalayın cp -a

Ana sürücünüz olacaksa, yeni sürücüye bir önyükleyici (örn. GRUB) kurmanız gerekecektir.

Benny Hill'in yorumu, başka çözümler sunan cevaplarla benzer bir soruya bağlantı sağlar.


0

Aklıma gelen tek seçenek, ext4 bölümünü yeniden boyutlandırarak, sonunda 119 gb veri ve 9 gb boş alan izlemesine sahip olmanızdır. Ardından, sürücüye 120 gb veri kopyalamak için DD'yi bs = ve count = komutları ile kullanabilirsiniz. (Daha sonra yeniden boyutlandırabileceğiniz 1 gb artık boş alana sahip olacaksınız (yalnızca güvenli olması için yaptım))

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.