| FDISK(8) | Systemadministration | FDISK(8) |
NAMN
fdisk - manipulerar diskens partitionstabell
SYNOPSIS
fdisk [flaggor] enhet
fdisk -l [enhet...]
BESKRIVNING
fdisk är ett dialogstyrt program för att skapa och manipulera partitionstabeller. Programmet hanterar partitionstabellerna GPT, MBR, Sun, SGI och BSD.
Blockenheter kan delas in i en eller flera logiska diskar som kallas partitioner. Denna uppdelning registreras i partitionstabellen, som vanligtvis finns i sektor 0 på disken. (I BSD-världen talar man om `disk slices' och en `disklabel')
All partitionering styrs som standard av enhetens I/O-gränser (topologin). fdisk kan optimera disklayouten för en 4K-sektorstorlek och använda en inriktningsoffset på moderna enheter för MBR och GPT. Det är alltid en bra idé att följa fdisk:s standardvärden eftersom standardvärdena (t.ex. första och sista partitionssektorerna) och partitionsstorlekar som anges med notationen +/-<size>{M,G,...} alltid är inriktade enligt enhetens egenskaper.
CHS-adressering (Cylinder-Head-Sector) är föråldrad och används inte som standard. Följ inte gamla artiklar och rekommendationer med fdisk -S <n> -H <n> råd för SSD eller 4K-sektor enheter.
Observera att partx(8) ger ett rikt gränssnitt för skript för att skriva ut disklayouter, fdisk är mestadels utformad för människor. Bakåtkompatibilitet i utdata från fdisk garanteras inte. Indata (kommandona) bör alltid vara bakåtkompatibla.
FLAGGOR
-b, --sector-size sektorstorlek
-B, --protect-boot
-c, --compatibility[=läge]
-L, --color[=när]
-l, --list
Om inga enheter anges, används de enheter som nämns i /proc/partitions (om denna fil finns). Enheterna listas alltid i den ordning som de anges på kommandoraden eller av kärnan som listas i /proc/partitions.
-x, --list-details
--lock[=läge]
-n, --noauto-pt
-o, --output lista
Standardlistan med kolumner kan utökas om lista anges i formatet +list (t.ex. -o +UUID).
--bytes*
-s, --getsz
-t, --type typ
-u, --units[=unit]
-C, --cylinders nummer
-H, --heads nummer
-S, --sectors nummer
-w, --wipe när
-W, --wipe-partitions när
-h, --help
-V, --version
ENHETER
Device är vanligtvis /dev/sda, /dev/sdb eller liknande. Ett enhetsnamn hänvisar till hela disken. Gamla system utan libata (ett bibliotek som används i Linux-kärnan för att stödja ATA-värdkontroller och -enheter) gör skillnad mellan IDE- och SCSI-diskar. I sådana fall kommer enhetsnamnet att vara /dev/hd* (IDE) eller /dev/sd* (SCSI).
partition är ett enhetsnamn följt av ett partitionsnummer. Exempelvis är /dev/sda1 den första partitionen på den första hårddisken i systemet. Se även dokumentationen för Linux-kärnan (filen Documentation/admin-guide/devices.txt).
STORLEKAR
Dialogrutan "last sector" accepterar partitionsstorlek som anges med antal sektorer eller med +/-<size>{K,B,M,G,...} notation.
Om storleken föregås av '+' tolkas den som relativ till partitionens första sektor. Om storleken inleds med "-" tolkas den som relativ till den övre gränsen (den sista tillgängliga sektorn för partitionen).
Om storleken anges i byte, kan talet följas av de multiplikativa suffixen KiB (1024 byte), MiB (1024*1024 byte), och så vidare för GiB, TiB, PiB, EiB, ZiB och YiB. "iB" är valfritt, t.ex. har "K" samma betydelse som "KiB".
De relativa storlekarna, om de anges med multiplikativa suffix (t.ex. +100MiB), justeras alltid i enlighet med enhetens I/O-gränser. Notationen +/-<size>{K,B,M,G,...} rekommenderas.
Den sista sektorn i partitionen beräknas strikt som <start> + <size> (utan -1) om storleken anges med notationen +<sectors>. I detta fall är storleken inte anpassad till enhetens I/O-gränser.
För bakåtkompatibilitet accepterar fdisk även suffixen KB (1000 byte), MB (1000*1000 byte), och så vidare för GB, TB, PB, EB, ZB och YB. Dessa 10^N-suffix är föråldrade.
SKRIPTFILER
fdisk tillåter läsning (med kommandot "I") av sfdisk(8)-kompatibla skriptfiler. Skriptet tillämpas på partitionstabellen i minnet, och sedan är det möjligt att ändra partitionstabellen innan du skriver den till enheten.
Och vice versa är det möjligt att skriva den aktuella disklayouten i minnet till skriptfilen med kommandot "O".
Skriptfilerna är kompatibla mellan cfdisk(8), sfdisk(8), fdisk och andra libfdisk-program. För mer information se sfdisk(8).
DISKETIKETTER
GPT (GUID-partitionstabell)
Observera att den första sektorn fortfarande är reserverad för en skyddande MBR i GPT-specifikationen. Det förhindrar att partitioneringsverktyg som endast använder MBR felaktigt känner igen och skriver över GPT-diskar.
GPT är alltid ett bättre val än MBR, särskilt på modern hårdvara med en UEFI-startladdare.
DOS-type (MBR)
I en partitionstabell av DOS-typ lagras startoffset och storleken på varje partition på två sätt: som ett absolut antal sektorer (anges i 32 bitar) och som en Cylindrar/Huvuden/Sektorer-trippel (anges i 10+8+6 bitar). Det förstnämnda är OK — med 512-byte-sektorer fungerar detta upp till 2 TB. Den senare har två problem. För det första kan dessa C/H/S-fält bara fyllas i när antalet huvuden och antalet sektorer per spår är kända. Och för det andra, även om vi vet vad dessa siffror borde vara, räcker inte de 24 bitar som finns tillgängliga. DOS använder endast C/H/S, Windows använder båda, Linux använder aldrig C/H/S. C/H/S-adresseringen är föråldrad och kan komma att sakna stöd i en senare fdisk-version.
Läs avsnittet om DOS-läge om du vill ha DOS-kompatibla partitioner. fdisk bryr sig inte om cylindergränser som standard.
BSD/Sun-type
IRIX/SGI-type
En sync(2) och en ioctl(BLKRRPART) (läser om partitionstabellen från disken) utförs innan den avslutas när partitionstabellen har uppdaterats.
DOS-LÄGE OCH DOS 6.X VARNING
Observera att allt detta är föråldrat. Du behöver inte bry dig om saker som geometri och cylindrar i moderna operativsystem. Om du verkligen vill ha DOS-kompatibel partitionering måste du aktivera DOS-läge och cylinder enheter genom att använda kommandoradsflaggorna '-c=dos -u=cylinders' för fdisk.
DOS 6.x FORMAT-kommandot letar efter viss information i den första sektorn i partitionens dataområde och betraktar denna information som mer tillförlitlig än informationen i partitionstabellen. DOS FORMAT förväntar sig att DOS FDISK rensar de första 512 byte av dataområdet i en partition när en storleksändring inträffar. DOS FORMAT tittar på den här extra informationen även om flaggan /U har angetts - vi anser att detta är ett fel i DOS FORMAT och DOS FDISK.
Slutsatsen är att om du använder fdisk eller cfdisk(8) för att ändra storleken på en DOS-partitionstabellpost, måste du också använda dd(1) för att nolla de första 512 byte i partitionen innan du använder DOS FORMAT för att formatera partitionen. Om du t.ex. använder fdisk för att skapa en DOS-partitionstabellpost för /dev/sda1, använder du kommandot dd if=/dev/zero of=/dev/sda1 bs=512 count=1 (efter att du har avslutat fdisk och startat om Linux så att partitionstabellinformationen är giltig) för att nollställa de första 512 byte i partitionen.
fdisk erhåller vanligtvis diskgeometrin automatiskt. Detta är inte nödvändigtvis den fysiska diskgeometrin (moderna diskar har faktiskt inte något som liknar en fysisk geometri, i synnerhet inte något som kan beskrivas i den förenklade formen Cylindrar/Huvuden/Sektorer), men det är den diskgeometri som MS-DOS använder för partitionstabellen.
Vanligtvis går allt bra som standard och det är inga problem om Linux är det enda systemet på disken. Men om disken måste delas med andra operativsystem är det ofta en bra idé att låta en fdisk från ett annat operativsystem skapa minst en partition. När Linux startar tittar det på partitionstabellen och försöker härleda vilken (falsk) geometri som krävs för ett bra samarbete med andra system.
När en partitionstabell skrivs ut i DOS-läge utförs en konsistenskontroll av partitionstabellens poster. Denna kontroll verifierar att de fysiska och logiska start- och slutpunkterna är identiska, och att varje partition börjar och slutar på en cylindergräns (utom för den första partitionen).
I vissa versioner av MS-DOS skapas en första partition som inte börjar på en cylindergräns, utan på sektor 2 i den första cylindern. Partitioner som börjar på cylinder 1 kan inte börja på en cylindergräns, men det är osannolikt att detta orsakar problem om du inte har OS/2 på din maskin.
För bästa resultat bör du alltid använda ett OS-specifikt partitionstabellprogram. Du bör t.ex. skapa DOS-partitioner med DOS-programmet FDISK och Linux-partitioner med Linux-programmen fdisk eller Linux cfdisk(8).
FÄRGER
Färgläggningen av utdata implementeras av terminal-colors.d(5) funktionalitet. Implicit färgläggning kan inaktiveras med en tom fil
/etc/terminal-colors.d/fdisk.disable
för kommandot fdisk eller för alla verktyg med
/etc/terminal-colors.d/disable
Sedan version 2.41 stöds även miljövariabeln $NO_COLOR som inaktiverar färgläggning av utdata om den inte uttryckligen aktiveras med en kommandoradsflagga.
Den användarspecifika $XDG_CONFIG_HOME/terminal-colors.d eller $HOME/.config/terminal-colors.d åsidosätter den globala inställningen.
Observera att färgläggningen av utdata kan vara aktiverad som standard, och i så fall behöver inte terminal-colors.d-katalogerna finnas ännu.
De logiska färgnamn som stöds av fdisk är:
header
help-title
warn
welcome
MILJÖ
FDISK_DEBUG=all
LIBFDISK_DEBUG=all
LIBBLKID_DEBUG=all
LIBSMARTCOLS_DEBUG=all
LIBSMARTCOLS_DEBUG_PADDING=on
LOCK_BLOCK_DEVICE=<mode>
UPPHOVSPERSONER
Karel Zak <kzak@redhat.com>, Davidlohr Bueso <dave@gnu.org>
Originalversionen skrevs av bland andra Andries E. Brouwer och A. V. Le Blanc.
SE ÄVEN
FELRAPPORTERING
För felrapporter, använd felhanteraren https://github.com/util-linux/util-linux/issues.
TILLGÄNGLIGHET
Kommandot fdisk ingår i paketet util-linux som kan hämtas från Linux Kernel Archive https://www.kernel.org/pub/linux/utils/util-linux/.
| 2026-05-18 | util-linux 2.42.1 |