GNU/Linux >> Znalost Linux >  >> Linux

Vymaže dd if=/dev/zero of=/dev/sda již existující tabulku oddílů?

Will dd if=/dev/zero of=/dev/sda vymazat již existující tabulku oddílů?

Ano, tabulka oddílů je v první části disku, takže zápis přes ni ji zničí. To dd přepíše přes celý disk, pokud jej necháte běžet (takže to bude nějakou dobu trvat).

Něco jako dd bs=512 count=50 if=/dev/zero of=/dev/sda by stačilo k přepsání prvních 50 sektorů, včetně tabulky oddílů MBR a primárního GPT. I když alespoň podle Wikipedie má GPT sekundární kopii tabulky oddílů na konci disku, takže přepsání pouze části v hlavě disku nemusí stačit.

(Nemusíte používat dd , ačkoli. head -c10000 /dev/zero > /dev/sda nebo cat /bin/ls > /dev/sda bude mít stejný účinek.)

dělá fdisk /dev/sda g (pro GPT) vymazat nuly zapsané /dev/zero?

Také ano (za předpokladu, že uložíte změny).

(Frázování v názvu je však jen matoucí, /dev/zero sám o sobě nedělá nic víc než jakékoli běžné úložiště.)


Tabulka oddílů je uložena blízko začátku (logického) diskového zařízení.

Přepsání této oblasti čímkoli (nuly z /dev/zero nebo jakákoli jiná data) nahradí tabulku oddílů bláboly, takže již nebude zřejmé, kde oddíly na zařízení začínají.
Stále však lze skenovat celý disk a pokusit se identifikovat "magické bajty", které označují počátky souborových systémů.

A naopak, pokud použijete fdisk (nebo jakýkoli jiný rozdělovací nástroj), chcete-li vytvořit novou tabulku oddílů, nástroj přepíše prvních pár bajtů disku, aby se nová tabulka uložila.

Disk má pouze jeden začátek, takže cokoli uděláte jako poslední, se tam „přilepí“.

Pamatujte však, že některé formáty tabulky oddílů (jako GPT) uchovávají záložní kopie na různých místech (např. na konci disku pro GPT), ze kterých lze obnovit některé informace o oddílech.



Linux
  1. Linux:Rozdíl mezi /dev/console, /dev/tty a /dev/tty0?

  2. Co jsou soubory /dev/zero a /dev/null v Linuxu

  3. Jak kódovat base64 /dev/random nebo /dev/urandom?

  1. Jak zaměníte /dev/sda s /dev/sdb?

  2. Proč Linux uvádí jednotky NVMe jako /dev/nvme0 namísto /dev/sda?

  3. Jak Linux používá /dev/tty a /dev/tty0

  1. Jak přenosné jsou /dev/stdin, /dev/stdout a /dev/stderr?

  2. echo nebo print /dev/stdin /dev/stdout /dev/stderr

  3. K čemu se používá `/dev/console`?