Bölümün tam olarak ne olduğuna ve kopyanın amacına bağlıdır. Ancak, genel dd
olarak dosya sistemlerini yedeklemek için uygun olmayan bir araç olduğunu söyleyeceğim . Bunun amacı da bu değildi.
Bölümün boş bölümlerini kopyalamak çok zaman harcayacaktır.
Dosya sisteminin şu anda takılı olması, kısmen işletim sistemi düzeyinde bir varlık olması ve temeldeki blok cihazı ile senkronize olmaması nedeniyle tutarsızlıklara neden olabilir. sync
Başlangıçta aramak buna çok yardımcı olmaz, çünkü süreç anlık değildir.
Kullanın cp -a
veya rsync
bunun yerine. Daha sonra hedef bölümü oluşturmanız gerekir, elbette, o kadar kolay ölü ölü değildir, ancak çok daha güvenli ve daha esnektir. Bir dosya sistemi görüntüsü oluşturmanız gerekiyorsa aşağıya bakın.
Kök dosya sistemini kopyalamak istiyorsanız, kesinlikle kullanmayın dd
. Kopyada OLMAMASI gereken bir sürü şey olduğu için rsync -ax
(veya cp -ax
tek tek üst düzey dizinlerde) bir şey kullanmalısınız . Linux'ta buna aşağıdakiler dahildir:
/dev
/lost+found
/mnt
/proc
/run
/sys
/tmp
Bunlardan bazıları aslında çekirdek arayüzleridir, diskteki gerçek dizinler değildir. Bunları kopyalarsanız, kopyada geçerli olmayacak bir grup bilgiyi kopyalıyorsunuz demektir; onunla bir sistemi denerseniz, gerçek arayüz üste monte edileceği için boşa harcanan alan olacaktır. Diğerleri, çalıştırma işlemlerinde kullanılan geçici bilgileri içerir ve bunlar daha sorunludur, çünkü sistem bunu kopyalarsanız çöpü sıralayamaz.
Kök dosya sisteminin (veya herhangi bir dosya sisteminin) bir görüntü dosyasını oluşturmak istiyorsanız , boş bir görüntü dosyası oluşturun - bu aşağıdakiler için uygun bir kullanımdır dd
:
dd if=/dev/zero of=whatever.img bs=1024 count=1000000
Bu 1024 MB boyutunda bir görüntüdür (1000000 * 1024). count
Başka bir boyut istiyorsanız ayarlayın . Örneğin, dosyada bir ext
dosya sistemi oluşturun :
mke2fs whatever.img
Bunun gerçek bir blok cihaz olmadığı konusunda sizi uyaracaktır. İlerlemek. Şimdi görüntü dosyasını bağlayın:
mount whatever.img /mnt/img
/mnt/img
var olmalı ama her şey olabilir. Şimdi rsync
(veya cp -a
) içine girebilirsiniz /mnt/img
. Çıkardığınızda içerik içeride kalacaktır whatever.img
.
Ancak...
Açık olmak gerekirse, sadece herhangi bir nedenle bir görüntü dosyasına ihtiyacınız varsa, sadece açıklanan dosya sistemi görüntü yöntemini kullanın. Amacınız bölümü başka bir sabit sürücüye kopyalamaksa, bir görüntüye ihtiyacınız yoktur : o sürücüde boş bir dosya sistemiyle yeni bir bölüm oluşturun, bağlayın ve buraya kopyalayın. Bunun yerine dosya sistemi içeriğini boş bir dizine koyabilir ve arşivleyebilirsiniz:
tar -czf myarchive.tar.gz [the directory path]
Daha sonra bunu üst seviyeye yerleştirip aşağıdakileri kullanarak mevcut (boş veya başka bir şekilde) bir bölüme dağıtabilirsiniz:
tar -xzf myarchive.tar.gz
Yolları arşivdeki bir şeyle eşleşiyorsa mevcut dosyaların üzerine yazacağına dikkat edin. Aksi takdirde mevcut dizin hiyerarşisini aynı bırakacaktır.