GNU/Linux >> Belajar Linux >  >> Ubuntu

Apakah Dd Membuat File Besar Saat Saya Mencoba Membuat Gambar Disk Cadangan?

Saya telah mencoba agar CUDA berfungsi di sistem saya dan dalam proses mengacaukan driver nvidia, saya telah merusak ubuntu dengan cukup parah sehingga saya harus memformat ulang partisi drive saya beberapa kali. Saya sekarang telah cukup sering dipukul dengan tongkat itu sehingga saya mencoba untuk mencadangkan partisi saya setelah saya menginstal semua alat dan program dan hal-hal saya, menggunakan dd (seperti yang direkomendasikan oleh seorang teman).

Namun, ketika saya berlari

sudo dd if=/dev/sda4 of=~/backup.img

Saya akhirnya mendapat kesalahan bahwa drive saya kehabisan ruang. Ini aneh bagi saya, karena partisinya cukup besar dan saya baru saja menginstal ubuntu baru bersama dengan beberapa program (kecil) di dalamnya.

Saya pikir apa yang mungkin terjadi adalah mencoba menulis salinan dari apa yang telah ditulisnya secara rekursif, jadi saya mencoba menulis file langsung ke partisi lain:

sudo dd if=/dev/sda4 of=/media/Ye\ Olde\ Data/ubuntu\ reinstall\ backup/backup.img

Tapi ini memakan waktu lama dan saya membatalkan proses setelah file mencapai ukuran yang saya yakin terlalu besar untuk hanya berisi data yang saya inginkan.

Apa yang terjadi? Apakah /media telah memasang partisi lain dan dengan demikian memperlakukan partisi lain sebagai bagian dari /dev/sda4? Apakah dd menyalin seluruh byte per byte partisi, mengabaikan byte apa yang sebenarnya memiliki file di dalamnya?

Dan apa pun masalahnya, bagaimana saya bisa melakukan apa yang saya coba lakukan, dengan benar?

Oh, dan inilah informasi disk saya, jika itu penting:

sudo sfdisk -l /dev/sda

Disk /dev/sda: 62260 cylinders, 255 heads, 63 sectors/track
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1   *      0+     12-     13-    102400    7  HPFS/NTFS/exFAT
/dev/sda2         12+  14602-  14590- 117187500    7  HPFS/NTFS/exFAT
/dev/sda3      29192+  62260-  33069- 265622493+   5  Extended
/dev/sda4      14602+  29191-  14590- 117193728   83  Linux
/dev/sda5      61228+  62260-   1032-   8287232   82  Linux swap / Solaris
/dev/sda6      29192+  61227   32036- 257329138+   7  HPFS/NTFS/exFAT

Jawaban yang Diterima:

Jika Anda menyalin partisi dengan dd , file output akan sebesar partisi. dd melakukan salinan fisik disk, ia tidak memiliki pengetahuan tentang ruang kosong atau bekas.

Namun, jika Anda mengompresi file hasil, Anda akan menghemat banyak ruang, mengingat ruang kosong akan terkompresi dengan sangat baik (hati-hati, ini akan menjadi sangat secara komputasional. berat). Anda bahkan dapat mengompres keluaran dd dengan cepat, dengan sesuatu di baris dd if=/dev/sdaX | gzip -c > compressed_file.gz .

sangat penting:

Selain itu, Anda tidak bisa (tidak pernah) melakukan dd pada partisi
yang aktif (dipasang), data yang direkam akan sama sekali tidak konsisten dan
sama sekali tidak berguna untuk cadangan. Pikirkanlah:blok data
terus dialokasikan, dipindahkan, dan dihapus; seperti memotret foto
dengan waktu pencahayaan yang lama ke target yang bergerak.

Untuk menyalin partisi dengan dd Anda harus boot dari yang berbeda –
live USB atau apa pun.

Apa yang akan saya lakukan untuk memecahkan masalah yang ada (perhatikan, hanya instruksi umum karena Anda perlu tahu apa yang Anda lakukan)

Terkait:Beberapa akun Dropbox di komputer yang sama?

Opsi pertama beli Norton Ghost, atau jelajahi opsi opensource:partimage dan clonezilla (tidak pernah menguji sendiri).

Opsi kedua lakukan secara manual:

  1. buat partisi tambahan untuk cadangan, sebut saja /dev/sdX (atau gunakan partisi data umum, apa pun).

  2. untuk membuat cadangan:

    • boot dengan live usb
    • pasang partisi root yang sebenarnya di /real
    • pasang partisi ekstra di /extra
    • lakukan tar besar, pada baris (cd /real && tar cvf /extra/mybck.tar.gz)
  3. untuk memulihkan

    • boot dengan live usb
    • pasang partisi root yang sebenarnya di /real
    • pasang partisi ekstra di /extra
    • kembalikan, pada baris (cd /real && tar xvpf /extra/mybck.tar.gz) , waspadalah terhadap p opsi untuk mempertahankan metadata
    • chroot di /real
    • perbarui grub atau bootloader yang Anda gunakan

Anda dapat mengganti tar dengan pengarsip pilihan Anda, pastikan itu akan menghormati kepemilikan/mode file. rsync layak untuk dijelajahi.


Ubuntu
  1. Hindari File Ekstra Saat Membuat Tar.gz?

  2. Buat cadangan gambar (kloning)

  3. Label Disk Tidak Dikenal Saat Membuat Partisi

  1. Mengecualikan direktori saat membuat file .tar.gz

  2. Bagaimana cara memasang image disk multi-partisi di Linux?

  3. Kapan membuat tautan keras berguna?

  1. Cara membuat swapfile pada disk ssd dengan btrfs

  2. Buat gambar partisi Windows di Linux

  3. Bagaimana cara membuat file gambar partisi yang diformat dari awal?