GNU/Linux >> Znalost Linux >  >> Ubuntu

Vytváří Dd při pokusu o vytvoření záložního obrazu disku obrovský soubor?

Snažil jsem se přimět CUDA, aby na mém systému fungovala, a v procesu zahrávání si s ovladači nvidia jsem rozbil ubuntu natolik, že jsem musel několikrát přeformátovat oddíl disku. Tou tyčí jsem byl zasažen tolikrát, že se pokouším zálohovat svůj oddíl, jakmile jsem nainstaloval všechny své nástroje a programy a věci pomocí dd (jak mi doporučil přítel).

Nicméně, když jsem běžel

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

Nakonec jsem dostal chybu, že na mém disku došlo místo. To mi bylo divné, protože oddíl je poměrně velký a mám na něm jen čerstvou instalaci ubuntu spolu s několika (malými) programy.

Usoudil jsem, že se to mohlo stát, že se rekurzivně pokoušel zapsat kopii toho, co již napsal, a tak jsem místo toho zkusil zapsat soubor přímo do jiného oddílu:

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

To však trvalo věčnost a proces jsem přerušil, jakmile soubor dosáhl velikosti, o které jsem si byl docela jistý, že je příliš velký na to, aby obsahoval pouze data, která jsem chtěl.

Co se děje? Je to tak, že /media má připojené další oddíly, a proto považuje ostatní oddíly za součást /dev/sda4? Je to tak, že dd zkopíruje celý oddíl bajt po bajtu a ignoruje, jaké bajty ve skutečnosti obsahují soubory?

A v každém případě, jak mohu správně dělat to, o co se snažím?

Jo a tady jsou informace o mém disku, kdyby na tom záleželo:

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

Přijatá odpověď:

Pokud zkopírujete oddíl pomocí dd , bude výstupní soubor stejně velký jako oddíl. dd vytvoří fyzickou kopii disku, nezná prázdné nebo použité místo.

Pokud zkomprimujete výsledný soubor, ušetříte spoustu místa, protože prázdné místo se zkomprimuje velmi dobře (pozor, výpočetně to bude velmi těžký). Můžete dokonce komprimovat výstup dd za běhu s něčím na řádku dd if=/dev/sdaX | gzip -c > compressed_file.gz .

opravdu důležité:

Navíc nemůžete (nikdy) neprovádějte dd na živém (připojeném)
oddílu budou zaznamenaná data zcela nekonzistentní a
absolutně nepoužitelná pro zálohování. Přemýšlejte o tom:bloky dat jsou
neustále alokovány, přesouvány a mazány; je jako fotografování
s dlouhou dobou expozice na pohybující se cíl.

Chcete-li zkopírovat oddíl pomocí dd musíte zavést systém z jiného –
live USB nebo cokoli jiného.

Co bych udělal, abych problém vyřešil (všimněte si, pouze obecné pokyny, protože musíte vědět, co děláte)

Související:Více účtů Dropbox na stejném počítači?

První možnost kupte si Norton Ghost nebo prozkoumejte možnosti opensource:partimage a clonezilla (sám jsem nikdy netestoval).

Druhá možnost udělejte to ručně:

  1. vytvořte další oddíl pro zálohy, nazvěte jej /dev/sdX (nebo použijte společný datový oddíl, cokoliv).

  2. zálohovat:

    • zavedení pomocí živého USB
    • připojte skutečný kořenový oddíl do /real
    • připojte další oddíl do /extra
    • proveďte velký tar na řádku (cd /real && tar cvf /extra/mybck.tar.gz)
  3. obnovit

    • zavedení pomocí živého USB
    • připojte skutečný kořenový oddíl do /real
    • připojte další oddíl do /extra
    • obnovit na řádku (cd /real && tar xvpf /extra/mybck.tar.gz) , dejte si pozor na p možnost zachovat metadata
    • chroot v /real
    • aktualizujte grub nebo bootloader, který používáte

Můžete nahradit tar s vaším preferovaným archivátorem, jen se ujistěte, že bude respektovat vlastnictví/režim souborů. rsync stojí za prozkoumání.


Ubuntu
  1. Linux – Jak vytvořit naformátovaný obrazový soubor diskového oddílu od nuly?

  2. Vytvořte zálohu obrazu (klonování)

  3. Jak vytvořit soubor s obrazem naformátovaného oddílu od začátku?

  1. Vyvarovat se při vytváření Tar.gz souboru navíc?

  2. Nerozpoznaný štítek disku při vytváření oddílu

  3. Vyloučení adresáře při vytváření souboru .tar.gz

  1. Jak připojit obraz disku s více oddíly v Linuxu?

  2. Kdy by bylo užitečné vytvořit pevný odkaz?

  3. Jak vytvořit odkládací soubor na ssd disku pomocí btrfs