Frage Löschen aller Partitionen über die Befehlszeile


Wie löschst du alle Partitionen auf einem Gerät von der Kommandozeile auf Linux (speziell Ubuntu)? Ich habe versucht, fdisk anzusehen, aber es zeigt eine interaktive Eingabeaufforderung. Ich suche nach einem einzelnen Befehl, den ich einen Gerätepfad (z. B. / dev / sda) geben kann und löscht die ext4, linux-swap und was auch immer andere Partitionen findet. Im Grunde wäre dies dasselbe, als ob ich GParted öffnen und alle Partitionen manuell auswählen und löschen würde. Das scheint ziemlich einfach zu sein, aber leider konnte ich nichts über Google finden.


28
2018-03-23 14:42


Ursprung




Antworten:


Würde das genügen?

dd if=/dev/zero of=/dev/sda bs=512 count=1 conv=notrunc

33
2018-03-23 14:48



Dadurch werden die Partitionen nicht gelöscht. Durch das Löschen der Partitionen wollte er den MBR erhalten und nur die Partitionstabelle leeren. - Mircea Vutcovici
Nein, das scheint genau das zu tun, was ich brauche. Es ist mir egal, ob die Daten noch da sind. GParted zeigt, dass die Partitionen nach dem Ausführen verschwunden sind, und das wollte ich. - Cerin
Mircea Vutcovici sprach nicht über Ihre Daten, sondern über den Bootstrap-Code in Ihrem MBR. Das ist jetzt weg, weil Sie es zusammen mit den 4 primären Einträgen aus der MBR-artigen Partitionstabelle gelöscht haben. - JdeBP
Vergessen Sie nicht, den Treiber zu deaktivieren, sonst funktioniert es nicht. - OrangeTux


Das wipefs Mit dem Programm können Sie die Partitionstabelle-Signatur einfach löschen:

wipefs -a /dev/sda

Von man wipefs

Wischdateien können Dateisystem-, Raid- oder Partitionstabellensignaturen löschen (magic   Zeichenketten) vom angegebenen Gerät, um die Signaturen unsichtbar zu machen   für libblkid.

wipefs löscht weder das Dateisystem selbst noch andere Daten   das Gerät. Ohne Optionen verwendet wipefs alle Optionen   sichtbare Dateisysteme und die Offsets ihrer grundlegenden Signaturen.

Wipefs ruft das BLKRRPART ioctl auf, wenn es a gelöscht hat   Partition-Table-Signatur, um den Kernel über die Änderung zu informieren.


17
2018-05-02 19:25





Schnell und schmutzig: benutzen gparted um die Partitionen zu löschen oder wenn Sie es eilig haben:

dd if=/dev/zero of=/dev/[disk device] bs=512 count=1

Dies wird den MBR des Laufwerks zappen (Daten sind noch intakt).

Alternative:

dd if=/dev/zero of=/dev/[disk device]

um das ganze Laufwerk zu löschen (schreibe einen einzelnen Durchlauf von Nullen über alles. Nicht "sicher", aber normalerweise gut genug), oder benutze einen "Festplatten-Shredder" für ein sicheres Löschen.


7
2018-03-23 14:50





Sehen man sfdiskDies ist eine nicht interaktive Variante von fdisk. Ansonsten kannst du die gesamte Partitionstabelle mit dd löschen, wie pk geschrieben hat.


4
2018-03-23 14:50





Sie sollten in der Lage sein zu verwenden geteilt auch dafür, obwohl das einige Scripting beinhalten kann, um die Partitionen zu durchlaufen.


4
2018-03-23 14:56





Wenn wir über Partitionen im MBR-Stil sprechen ...

dd if=/dev/zero of=/dev/[disk device] bs=1 count=64 seek=446 conv=notrunc

Erläuterung:

dd

Dieser Standardbefehl kopiert Bytes von einer Quelle und schreibt sie an ein Ziel. Es ist das einfachste flexible Werkzeug für diesen Job.

if=/dev/zero

Hier geben wir an, dass wir lesen /dev/zero, das ist ein spezielles Gerät, das emittiert NUL Bytes - Nullen.

of=/dev/[disk device]

Hier geben wir an, auf welchem ​​Gerät wir schreiben.

bs=1

dd denkt in Bezug auf Blöcke. Die Standardblockgröße kann je nach System 512 Byte, 1024 Byte oder 4096 Byte sein. Aber wir müssen die Dinge präziser angehen, sagen wir dd um eine Blockgröße von 1 Byte zu verwenden.

Anzahl = 64

Hier erzählen wir dd um 64 Blöcke (oder Bytes, wegen unserer bs=1 Parameter), da die primäre Partitionstabelle aus 4 16-Byte-Partitionseinträgen für insgesamt 64 Bytes besteht.

suche = 446

Die primäre Partitionstabelle innerhalb des MBR (also hier nicht über GPT gesprochen) befindet sich 446 Bytes in, so dass wir anweisen dd vor dem Schreiben 446 Bytes suchen.

Erweiterte Partitionen werden in der Regel erstellt, indem ein primärer Partitionssteckplatz auf die erweiterte Partitionstabelle verweist. Wenn wir also die vier primären Partitionen löschen, löschen wir die erweiterte Partitionstabelle ebenfalls effektiv; Das Betriebssystem wird es nicht finden können, so dass es nicht in der Lage ist, es zu lesen und zu interpretieren. (Wenn Sie die erweiterte Partitionstabelle löschen möchten, müssen Sie mehr über das Betriebssystem wissen; verschiedene Betriebssysteme machen erweiterte Partitionen auf unterschiedliche Weise.)


0
2018-04-10 17:16





Ich wollte dasselbe machen (außer in Slackware 14.2), fand aber heraus, dass ich die meisten der hier vorgeschlagenen Lösungen nicht umsetzen konnte, mit der ausgefeiltesten und gut dokumentierten Lösung, die neue Probleme bei der Erstellung von Ersatzpartitionen verursacht. Das löschte die Partition, aber einige Partitionierungssoftware fand anscheinend die Partitions-Backups automatisch.

Ich habe f3probe gefunden (http://oss.digirati.com.br/f3) löste das Problem, alle Partitionen schnell und einfach zu löschen, arbeitete mit Laufwerken mit großer Kapazität und erstellte genau eine Partition, die das gesamte Laufwerk überspannte und einfach zu löschen war.

Es war auch einfach, von dort aus neue Partitionen zu erstellen.

d.h.

f3probe --destructive --time-ops /dev/sdb
# Now we know only 1 partition exists on /dev/sdb
#    which is /dev/sdb1
#
# Unmount that partition
umount /dev/sdb1

#
# Delete that single partition
parted /dev/sdb rm 1

#
# Now you can create new partitions
# i.e. parted /dev/sdb mkpart primary fat32 1049K 15.8G
# 
# Update /etc/fstab before rebooting....

0
2017-09-12 09:15