fdisk

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

fdisk – Original-Schreibweise FDISK in DOS-üblicher Form (siehe 8.3) – bezeichnet mehrere Partitionierungsprogramme für Blockgeräte wie Festplatten oder Disketten. Das Wort kommt von fixed disk, eine von IBM eingeführte englische Bezeichnung für Festplatte.

PC DOS 2.0 (1983) und die von Microsoft für alle IBM-PC-kompatiblen Computer veröffentlichte Version MS-DOS 2.0 enthielten die von IBM entwickelte allererste Version von FDISK.COM, das gemeinsam mit MS-DOS weiterentwickelt wurde. Als Programm auf der Kommandozeile (Konsolenprogramm) kann FDISK sowohl per Kommandozeilenparameter als auch per zeichenorientierter Benutzerschnittstelle (dialog- oder menü-basiert) bedient werden. Andere Betriebssysteme enthalten meist einen an das MS-DOS-FDISK angelehnten Klon, ebenfalls unter dem Namen fdisk, wie beispielsweise PC-Unix und PC-kompatibles DOS.

FDISK kann ursprünglich nur Partitionen des Master Boot Record (MBR) bearbeiten. Der MBR wurde gemeinsam mit PC DOS 2.0 und dem „Fixed Disk Setup Program Version 1.0“[1] (FDISK.COM, deutsche Übersetzung „Festplatten-Einrichtungsprogramm“) 1983 eingeführt. Der Master Boot Record ist ein Bootsektor und enthält neben dem Startprogramm auch die eigentliche Partitionstabelle, die auf vier primäre Partitionen begrenzt ist. Ab MS-DOS 3.2 ist auch eine erweiterte Partition möglich, innerhalb derer weitere Partitionen als logische Laufwerke definiert sein können.

Es gibt auch grafische Varianten von FDISK, etwa FDISKPM.EXE von OS/2. Einige Weiterentwicklungen von fdisk, z. B. die in util-linux enthaltene Variante, können zusätzlich zum MBR auch mit GUID-Partitionstabellen (GPT, englisch GUID Partition Table) umgehen – die GUID-Partitionstabelle ist der Nachfolger des Master Boot Record auf IBM-PC-kompatiblen Computern.

Geschichte[Bearbeiten | Quelltext bearbeiten]

Der IBM-PC XT (Typ 5160) von 1983 war der erste Vertreter der später als IBM-PC-kompatible Computer bezeichneten Systeme, der mit einer Festplatte ausgestattet war. Das dazu gelieferte Betriebssystem PC DOS bzw. MS-DOS 2.0 führte für diese Neuerung eine Unterteilung des Festplattenspeichers ein, sogenannte Partitionen, die in der dazu eingeführten PartitionstabelleMaster Boot Record“ (MBR) definiert sind. Aus Kompatibilitätsgrunden wurde die Partitionstabelle innerhalb des Bootsektors untergebracht – dieser beinhaltet beim IBM-PC und kompatiblen Computern das Startprogramm, welches im Chainloading-Prinzip das Betriebssystem, z. B. MS-DOS, von der als aktiv markierten Partition startet.

Festplatten waren um ein Vielfaches größer als Disketten. Ausgedrückt in damals üblichen Größenverhältnissen: eine 20 MiB große Festplatte ist um den Faktor 57 größer als eine damals übliche 360‑kB-Diskette. Die Dateisysteme dieser Zeit waren FAT12 für Disketten und FAT16 für Festplatten. Das FAT16-Dateisystem wies anfangs jedoch ein Größenlimit von 32 MiB auf, sodass größere Festplatten (damals 40 MiB und mehr) partitioniert werden mussten. DOS-FDISK folgt dieser Entwicklung: die Limits wurden sowohl beim FAT-Dateisystem als auch bei MBR-Partitionen sukzessive erhöht. Dementsprechend kann FDISK.COM aus MS-DOS/PC DOS 2.0 nur Partitionen bis 16 MiB anlegen. Ab MS-DOS 3.2 (1985) sind Partitionen bis 32 MiB möglich und die erweiterte Partition wurde eingeführt. Mit MS-DOS 3.3 (1987) wurden innerhalb der erweiterte Partitionen mehr als ein logisches Laufwerk unterstützt, was nun mehr als zwei Laufwerksbuchstaben pro Festplatte ermöglicht, sowie die Unterstützung für eine zweite Festplatte eingeführt.

Weil unter PC-DOS/MS-DOS-kompatiblen DOS-Betriebssystemen die Anzahl der (logischen) Laufwerke auf 26 beschränkt ist – von A: bis Z: (siehe Laufwerksbuchstaben) – sind insgesamt nur 24 Partitionen möglich. Die Laufwerksbuchstaben A: und B: sind unter MS-DOS in jedem Fall für Diskettenlaufwerke reserviert. Bei einer primären Partitionen sind somit noch maximal 23 logische Laufwerke innerhalb der erweiterten Partition möglich. Während das anfängliche Limit von maximal vier primären Partitionen ein Hindernis darstellen konnte, ist die Anzahl möglicher (logischer) Laufwerke durch Hinzufügen einer erweiterten Partition nicht nur für die damalige Zeit absolut ausreichend.

MS-DOS und PC DOS[Bearbeiten | Quelltext bearbeiten]

Startmenü von FDISK 2.0 (PC DOS 3.0).

In PC DOS bzw. IBM DOS ist jeweils dasselbe FDISK wie in MS-DOS der gleichen Version enthalten, da IBM das größtenteils unmodifizierte Betriebssystem von Microsoft für die hauseigene IBM-PC-Produktlinie nutzte. Der einzige Unterschied war, dass MS-DOS auch auf Klonen installiert werden konnte – es gab zahlreiche OEM-Versionen – während IBM DOS nur auf dem Original-IBM-PC nutzbar war – bis IBM DOS 3.3 (1986), welches erstmals auch gezielt als Alternative für IBM-PC-kompatible Computer vermarktet wurde.

Aufgrund einer mit IBM geschlossenen gemeinsamen Entwicklungsvereinbarung (englisch Joint Development Agreement, JDA) sind ab MS-DOS 3.3 die von IBM geschriebenen DOS-Programme auch in der von Microsoft veröffentlichten Betriebssystemvariante enthalten.[2]

Ab MS-DOS 4.0 wurde FDISK eine EXE-Datei, FDISK.EXE. Partitionen können ab dieser Version bis zu 2,1 GiB groß sein, was zugleich auch das Limit von FAT16B („BigDOS“) ist.

Ab MS-DOS 6.0 (und dem darin enthaltenen FDISK) werden bis zu acht Festplatten unterstützt; zwei IDE-Festplatten und bis zu sechs SCSI-Festplatten, für die erst über einen Treiber im Betriebssystem ein Zugriff ermöglicht wird.

Ab PC DOS 6.1 wurde das Betriebssystem von IBM eigenständig und ohne Microsoft weiterentwickelt.

MS-DOS 7.0 bis 8.0 sind keine eigenständigen Betriebssysteme mehr, sondern Bestandteil der Betriebssysteme Windows 95 bis Windows Me.

OS/2[Bearbeiten | Quelltext bearbeiten]

OS/2 ist bis Version 4.0 mit zwei Partitionsmanagern ausgestattet, dem textbasierten FDISK.EXE und dem grafischen Programm FDISKPM.EXE. Beide haben gleiche Funktionen und können FAT- und HPFS-Partitionen erstellen. OS/2-FDISK kann komplett über die Kommandozeile gesteuert werden, inklusive des Löschens von Partitionen, und kann den OS/2-Bootmanager installieren. OS/2-Versionen ab 4.5 unterstützen das Dateisystem JFS und haben FDISK durch einen Logical Volume Manager (LVM) ersetzt.

Aufgrund der gemeinsamen Entwicklungsgeschichte von OS/2 und Windows NT hat NTFS den gleichen Partitionstyp wie HPFS.

Windows[Bearbeiten | Quelltext bearbeiten]

MS-DOS-basierte Windows-Versionen, auch als Windows 9x bezeichnet, enthalten ein nahezu vollwertiges MS-DOS, sowie ein FDISK, das ab MS-DOS 7.10 (Windows 95b, Windows 98) und 8.00 (Windows Me) FAT32-Partitionen erstellen kann. Für Festplatten, die größer als 32 GiB sind, benötigt MS-DOS 7.10 einen Patch, der nur für Windows 98 zur Verfügung steht. Die FDISK-Programme von Windows 98 bis Windows Me können jedenfalls Festplatten von bis 128 GiB verwalten – mehr, wenn das BIOS die 48-Bit-Adressierung LBA-48 unterstützt.[3] Allerdings weisen diese Versionen von FDISK ein Limit von 64 GiB bei der Anzeige der Festplattenkapazität auf, was ebenfalls durch einen Patch von Microsoft behoben werden kann.

In Windows NT ist FDISK.EXE nicht enthalten. Ab Windows NT 3.1 wird stattdessen die grafische Datenträgerverwaltung (englisch Disk Administrator) verwendet und ab Windows 2000 steht zusätzlich das Konsolenprogramm diskpart zur Verfügung.

FDISK-Klone[Bearbeiten | Quelltext bearbeiten]

Bildschirmfoto von cfdisk unter Linux

Alternative Betriebssysteme verwenden auf PCs üblicherweise das vorhandene Partitionsschema – auf IBM-PC-kompatiblen Computern mit BIOS (für „basic input/output system“) somit die Partitionstabelle im Master Boot Record (MBR). Es gibt daher zahlreiche Programme mit dem Namen fdisk – oder ähnlichem Dateinamen bzw. Programmnamen – die zum Verwalten von Partitionen auf den jeweiligen Betriebssystemen dienen und dabei in Funktion und Verhalten mehr oder weniger an IBMs PC-DOS-FDISK angelehnt sind.

Dadurch dass alternative Betriebssysteme die Partitionstabelle der jeweiligen Computerplattform unterstützen und mit dem enthaltenen FDISK-Klon verwalten können, ermöglichen sie Multi-Boot-Systeme. Folglich ist auf IBM-PCs mit BIOS allen FDISK-Klonen die Unterstützung der MBR-Partitionstabelle gemein. Allerdings wurde seit ca. 2010 das BIOS zunehmend durch UEFI und somit die Partitionstabelle im MBR durch die GUID-Partitionstabelle (GPT) ersetzt, sodass PC-Betriebssysteme nun ebenfalls GPT verwenden können (müssen).

Unices[Bearbeiten | Quelltext bearbeiten]

Diese alternativen Betriebssysteme sind nicht selten Unix-Derivate. Auf IBM-PC-kompatiblen PCs laufen neben weit verbreiteten Betriebssystemen wie Windows und macOS daher meist diverse Unices wie BSD oder Linux, die zur Installation ihrerseits MBR- und GPT-Partition verwalten können müssen und daher ein entsprechendes Partitionierungsprogramm bereitstellen. Meist ist dies auch eine Variante von fdisk. macOS (ab 2001, ursprünglich „Mac OS X“) selbst, das ein FreeBSD-Userland bietet, enthält ebenfalls fdisk zum Manipulieren von „PC-Partitionstabellen.“ Auf EFI-PCs kann fdisk zumindest eine vorhandene GPT-Partitionierung erkennen, selbst verwalten oder bietet ein weiteres and fdisk angelehntes separates Partitionierungsprogramm. Unter macOS ist dies etwa das Konsolenprogramm gpt.

So wie OS/2-FDISK zusätzlich HPFS und Windows-9x-FDISK zusätzlich FAT32 unterstützt, kennen FDISK-Klone noch Partitionstypen (und Dateisysteme) des jeweiligen Betriebssystems – zusätzlich zu den mit MS-DOS eingeführten Partitionstypen. So kann z. B. ein für Linux geschriebenes fdisk auch Swap- (Partitionstyp 82) und ext2-Partitionen (Partitionstyp 83) anlegen.

Linux-Distributionen stellen verschiedene Variante von fdisk bereit. Neben dem traditionellen fdisk ist dies auch oft pfdisk – beide Programme sind kommandozeilen- und dialogbasiert und bieten zahlreiche Optionen. Das Programm cfdisk bietet eine einfache, menübasierte Handhabung. Das Programm sfdisk gilt als eher umständlich und für Experten ausgelegt, bietet aber als einziges mit dem Parameter --dump die Möglichkeit, die Struktur einer Partitionierung (d. h. ohne Bootcode) für ein späteres Neupartitionieren abzuspeichern.

DR DOS[Bearbeiten | Quelltext bearbeiten]

Einer der Hauptkonkurrenten von PC DOS und MS-DOS auf dem IBM-PC war CP/M von Digital Research. Später wurden aus CP/M-86 auch PC-DOS-kompatible Versionen entwickelt, wie Concurrent DOS, DOS Plus und DR DOS. Auch in diesen Variante ist ein von Digital Research entwickelter FDISK-Klon enthalten, der stark an IBMs FDISK angelehnt ist.

Wie bei PC DOS und MS-DOS wurde auch DR-DOS-FDISK nicht weiterentwickelt und kann mit der GUID-Partitionstabelle nicht umgehen.

FDISK-Alternativen[Bearbeiten | Quelltext bearbeiten]

Das mit FreeDOS ausgelieferte Free FDISK  ist ein freies und erweitertes Partitionierungsprogramm, das auch auf anderen PC-kompatiblen DOS-Versionen lauffähig ist. Ebenso kann der erweiterte Partitionsmanager XFDisk als freier Ersatz für das MS-DOS/PC-DOS-FDISK verwendet werden. XFDisk bietet viele Optionen, die im Standard-FDISK nicht enthalten sind.

GUID-Partitionstabelle[Bearbeiten | Quelltext bearbeiten]

Hauptartikel: GUID Partition Table

Die GUID-Partitionstabelle (GPT) ist das Partitionsschema des BIOS-Nachfolgers UEFI: Design-bedingt enthält jeder GPT auch eine MBR-Partitionstabelle, die eine einzige primäre Partition enthält, welche sich über den gesamten vorhandenen Speicherbereich erstreckt. Diese Partitionstabelle wird als Schutz-MBR, englisch Protective MBR, bezeichnet, denn sie soll die im GPT definierten Partitionen und Daten vor unabsichtlichem Löschen durch ältere Betriebssysteme und Programme schützen. Für alte Software – bei Programmen für den PC kann man seit 1983 davon ausgehen, dass diese eine MBR-Partitionstabelle erkennt – markiert der Schutz-MBR den gesamten Speicherbereich als belegt. Wäre dies nicht so, wären die vorhandenen Daten in Gefahr, weil alte Software den GPT nicht erkennt und den Speicher somit als vermeintlich frei erkennen würde.

In einigen Varianten von fdisk wurde daher die Unterstützung für die GUID-Partitionstabelle ebenfalls aufgenommen: Neuere Versionen von fdisk erkennen das Vorhandensein von GPT-Datenstrukturen und geben eine Warnung aus. fdisk würde sonst zwar den Schutz-MBR manipulieren, nicht aber die im GPT definierten Partitionen, was zu Datenverlust führt.

Andere Varianten von fdisk wurden um die Funktion erweitert, selbst GUID-Partitionstabellen (GPT) verwalten zu können. Wieder andere an MS-DOS-FDISK angelehnte Partitionierungsprogramme wurden rein für die GUID-Partitionstabelle, ohne Bearbeitungsmöglichkeit für die MBR-Partitionstabelle, neu geschrieben.

Limits[Bearbeiten | Quelltext bearbeiten]

Geschichtlich bedingt sind die Limits für das Betriebssystem, für das FDISK geschrieben wurde, und FDISK selbst sehr nahe beieinander. Daher ist das Betriebssystemlimit meist auch das FDISK-Limit.[4]

Betriebssystem FDISK Jahr Limit
MS-DOS 2.0
PC DOS 2.0
1.0 1983 eine Festplatte
4 primäre Partitionen, jedoch von MS-DOS nur eine primäre Partition nutzbar
16 MiB pro Partition (Partitionstyp 01)
kennt keine erweiterten Partitionen
MS-DOS 3.2 1985 Erweiterte Partition (Partitionstyp 05), jedoch von MS-DOS nur ein logisches Laufwerk unterstützt;
maximal 2 Laufwerke: C: (MS-DOS unterstützt nur eine primäre Partition) und ein logisches Laufwerk D: (von der erweiterten Partition)
MS-DOS 3.3 1987 Unterstützung für zwei physische Festplatten
Unterstützung für mehrere logische Laufwerke
primäre Partitionen und logische Laufwerke zusammen: maximal 24, Laufwerk C: bis Z:
32 MiB pro Partition (Partitionstyp 04)
Compaq MS-DOS 3.31 (OEM) 1987 512 MiB pro Partition (Partitionstyp 04, jedoch mit 32-Bit-Sektoradressierung)[5] – inkompatibel mit anderen Versionen von MS-DOS!
MS-DOS 4.0 1988 Partitionen bis zu 2,1 GiB (Partitionstyp 06)
NEC MS-DOS 3.30 (OEM) 1988 Unterstützung für 8 Primärpartitionen im MBR[5] – inkompatibel mit anderen Versionen von MS-DOS!
32-Bit-Sektoradressierung wie Compaq MS-DOS 3.31, jedoch mit Problemen bei Partitionen > 256 MB[5] – inkompatibel mit anderen Versionen von MS-DOS!
MS-DOS 5.0 1991 bis zu 8 physische Festplatten unterstützt
Obowhl FDISK immer noch nur eine primäre Partition anlegen kann, kann der Kernel nun weitere primäre Partitionen nutzen (Laufwerksbuchstaben zuweisen).
MS-DOS 7.0 (Windows 95) 1995 wenn das BIOS den LBA-Zugriffsmodus unterstützt: neuer Partitionstyp 0E für Primärpartition und 0F für die erweiterte Partition
MS-DOS 7.1 (Windows 95B und 98) 1996 Partitionen bis zu 2 TiB (Partitionstyp 0B für Primärpartition und 0C für die erweiterte Partition; für letztere ist LBA-Zugriff erforderlich)

Obwohl im Master Boot Record bis zu vier primäre Partitionen möglich wären, kann FDISK nur eine einzige primäre Partition erstellen. Um eine zweite Festplatte oder mehr als ein logisches Laufwerk nutzen zu können, muss sowohl der DOS-Kernel als auch FDISK erweiterte Partitionen kennen – eine mit dem in MS-DOS 3.3 enthaltenen FDISK partitionierte Festplatte funktioniert daher nicht ohne weiteres auf einer früheren Version von PC DOS/MS-DOS, da dieses die logischen Laufwerke in der erweiterten Partition nicht verwenden kann. Ebenso kann MS-DOS vor Version 5.0 nur eine einzige primäre Partition verwenden.

Eine primäre Partition kann als erweiterte Partition definiert sein. Diese kann eine beliebige Anzahl logischer Laufwerke enthalten, wobei MS-DOS nur maximal 24 logische Festplattenlaufwerke verwenden kann. Ist nur eine Festplatte im PC und auf der Festplatten ebenfalls genaue eine primäre Partition vorhanden, so können noch 23 logische Laufwerke von MS-DOS verwendet werden – bei drei Primärpartitionen (ab MS-DOS 5.0) sind es nur noch 21 logische Laufwerke. Diese müssen innerhalb eines zusammenhängenden Speicherbereichs, der durch die erweiterte Partitionen festgelegt ist, definiert sein. Bei mehr als einer Festplatte reduziert sich die Anzahl der in der erweiterten Partition nutzbaren logischen Laufwerke entsprechend der Gesamtanzahl an Partitionen und logischen Laufwerken auf allen Festplatten.

OS/2 akzeptiert wie MS-DOS (vor Version 5.0) nur eine primäre Partition pro Festplatte.

MS-DOS (und PC DOS) können nicht von einer erweiterten Partition starten. OS/2 hingegen schon – wenn allerdings ein logisches Laufwerk in der erweiterten Partition hinzugefügt oder gelöscht wird und sich damit die Laufwerksbuchstaben (welche automatisch vergeben werden) verändern, kann OS/2 eventuell nicht mehr starten.

Wie MS-DOS (bzw. kompatible DOS) und Windows unterliegt auch Unix den BIOS-bedingten Einschränkungen beim Betriebssystemstart. Ältere BIOS-Versionen konnten auf Bereiche oberhalb von 1024 Zylindern nicht zugreifen. Daher legten viele Anwender eine kleinere Startpartition für den Unix-Kernel so an, dass sie unterhalb der 1024-Zylinder-Grenze beginnt. Ebenso verhält es sich mit der 137-GiB-Grenze, wenn LBA nicht als 48-Bit-Zahl (LBA-48) vom BIOS implementiert wurde. Ist die Unix-Startpartition unterhalb der BIOS-bedingten Grenze, ist ein Starten möglich und das gestartete Betriebssystem kann anschließend auch den oberhalb liegenden Bereich nutzen. Meist richten die Installationsprogramme neben der Startpartition zumindest eine root-Partition für das Wurzelverzeichnis ein sowie eine Swap-Partition. Da viele Unix-Bootloader erweiterte Partition unterstützen, können alle für Unix relevanten Partition als logisches Laufwerk definiert sein, jedoch kann es nötig sein, die Startpartition /boot wegen der BIOS-Limitierung als Primärpartition erstellen zu müssen.

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Michal Necasek: DOS 2.0 FDISK. In: OS/2 Museum. 17. August 2011; abgerufen am 15. Juni 2017 (englisch).
  2. DOS 3.3. The Mature DOS. In: OS/2 Museum. Abgerufen am 15. Juni 2017 (englisch).
  3. The Fdisk.exe utility may not be able to create a hard disk partition that is larger than 128 GB
  4. Daniel B. Sedory: Detailed Notes on Microsoft's™ FDISK.EXE Program. In: The Starman's Realm. 18. November 2007; abgerufen am 15. Juni 2017 (englisch).
  5. a b c Daniel B. Sedory: The Standard MBR Code and Notes on the Differences in one OEM version of the DOS 3.30 MBR (Master Boot Record). In: The Starman's Realm. 18. Mai 2007; abgerufen am 15. Juni 2017 (englisch).