GNU/Linux >> Znalost Linux >  >> Linux

Vynulování obsahu pevného disku bez zničení souborového systému

Snadná odpověď:

mount /dev/your/disk /some/free/mountpoint
dd if=/dev/zero of=/some/free/mountpoint/zero bs=512
sync # See edit below
rm /some/free/mountpoint/zero
umount /some/free/mountpoint

To udělá přesně to, co jste požadovali:Přepíše veškerý prostor, který je dostupný pro soubory v systému souborů, nulami.

Složitější odpověď:

  • Bez nukingu MBR si nemůžete být jisti, že nemáte MBR virus
  • prázdný souborový systém nemá žádnou hodnotu

Doporučuji tedy pouze nuke zařízení (tj. vynulovat zařízení, včetně MBR a souborového systému) a pak jen znovu vytvořit tabulku oddílů a mkfs.ntfs -f -L LABEL -I

UPRAVIT

Jak @Nyos zdůraznil v komentářích, pokud ovladač NTFS nepřipojí synchronizaci (neznám výchozí nastavení), je dobré vložit extra sync před rm . Aktuální verze (od Ubuntu 18.04 plně opravená do 2020-05-02) nepřiděluje žádný zpožděný blok, takže sync není nezbytně nutné, protože všechny přidělené bloky budou vypsány na umount , ale neznáme ani budoucnost, ani jsem nečetl celý zdrojový kód.

Stejná poznámka:Pokud ovladač NTFS jednou získá podporu pro řídké soubory, možná budeme muset použít /dev/urandom místo /dev/zero abyste se vyhnuli (téměř) nekonečnému psaní.


I když to vůbec neodpovídá na vaši otázku... nicméně:

Za prvé, je opravdu, opravdu špatný nápad vynulovat disk. To platí pro „tradiční“ disky a ještě více pro disky SSD. Vynulování disku je triviální (stačí vytvořit soubor a vyplnit jej, Eugen Rieck dává přesný recept), ale trvá to dlouho a disk se opotřebovává. Cykly zápisu nejsou nekonečné, na jakémkoliv typu pevného disku.
Uvědomte si také, že nemáte ani záruku, že přepsání skutečně funguje tak, jak bylo zamýšleno. Pro váš účel nebude rozdíl patrný, ale pro jiné účely (předpokládejme bezpečné vymazání důvěrných dat) je tento přístup zcela nespolehlivý. Je to proto, že nemáte absolutně žádný způsob, jak vědět, co se stane, když něco přepíšete díky vyrovnávání opotřebení a přerozdělení. Disky dělají spoustu věcí, aniž by to kdokoli (včetně operačního systému!) věděl nebo dokonce měl způsob, jak to říct, natož změnit. Pokud byl například sektor přerozdělen, protože kontrolér nebyl spokojen s počtem opakování, nebo CRC nebo cokoli jiného, ​​můžete si vpřed dělat, co chcete, jednoduše už se k tomuto sektoru nedostanete. Nikdy znovu. Přesto data nebo to, co z nich zbylo (a vy to nemůžete vědět), tam zůstanou a případný zloděj by je mohl přečíst.

Za druhé, když pracujete v režimu plné paranoie, je opravdu, opravdu špatný nápad udržovat souborový systém (a MBR), zvláště když je disk „prázdný“. Kromě UUID souborového systému nic neztratíte pouhým vytvořením nového souborového systému (což pravděpodobně může být v některých situacích je to trochu nepříjemné, ale i to se dá snadno napravit). Získáte však jistotu, že nic nezůstane na místech, kde to nečekáte (například MBR).

Zatřetí, je špatný nápad vynulovat a znovu použít "prázdný" souborový systém, který ve skutečnosti není vůbec prázdný. Je to špatné z hlediska výkonu, když místo toho můžete vytvořit nový FS (bez zastaralých záznamů změn, neviditelných položek, zapomenutých streamů, atributů, fragmentovaných MFT...) od nuly. Nejenže znovuvytvoření všeho od začátku je mnohem bezpečnější, je také mnohem rychlejší a pravděpodobně to povede k lepšímu celkovému výkonu v budoucnu.

tl;dr

Většina zařízení má vyhrazenou možnost bezpečného vymazání nebo „obnovení továrního nastavení“ (což je stejné), kterou podporuje doprovodný nástroj pro správu nebo nějaký jiný nástroj prostřednictvím standardního příkazu ATA. Jednotka použije nejúčinnější a nejméně destruktivní metodu (některé jednotky skutečně přepíší celý disk, protože tuto funkci skutečně nepodporují, ale většina pouze vypíše šifrovací nebo bitový kódovací klíč, který funguje téměř okamžitě bez ohledu na velikost disku).

hdparm který je k dispozici na téměř každé distribuci Linuxu, má možnost --security-erase přesně pro tento účel.

Tím získáte disk "jako by právě koupil" s výjimkou toho, že byl nějakou dobu používán. Udělá to nejrychlejším (v rámci toho, co je technicky možné) a nejméně zabíjejícím disk. Poté jej rozdělte a vytvořte souborový systém, hotovo.


Linux
  1. Přednosti souborového systému bez oddílů?

  2. Informace o pevném disku za hardwarovým řadičem Raid?

  3. Obnovit data z pevného disku Fat32?

  1. Jak automaticky připojit externí pevný disk?

  2. Jak spustit Ubuntu bez pevného disku?

  3. Rozdělení souborů protokolu gzip bez uložení nekomprimovaných rozdělení na disk

  1. Jak zjistím, jaké pevné disky jsou v systému?

  2. Systém zamrzne. V logech jsem nic nenašel

  3. Odpojení kořenového souborového systému bez restartování serveru