MKSWAP(8) Systemadministration MKSWAP(8)

mkswap - skapa ett Linux-växlingsområde

mkswap [flaggor] enhet [block]

mkswap [flaggor] --size storlek --file fil

mkswap skapar ett Linux-växlingsområde på en enhet eller i en fil.

Argumentet enhet är vanligtvis en diskpartition (t.ex. /dev/sdb7), men kan också vara en fil. Linux-kärnan tittar inte på partitions-ID:n, men många installationsskript antar att partitioner av hex-typ 82 (LINUX_SWAP) är avsedda att vara swappartitioner. (Varning: Solaris använder också den här typen. Var försiktig så att du inte dödar dina Solaris-partitioner.)

Parametern blocks är överflödig men behålls för bakåtkompatibilitet. (Den anger önskad storlek på växlingsområdet i block om 1024 byte. om den utelämnas kommer mkswap att använda hela partitionen eller filen. Det är oklokt att ange den - ett skrivfel kan förstöra disken)

När du har skapat ett växlingsområde behöver du kommandot swapon(8) för att börja använda det. Vanligtvis listas växlingsområden i /etc/fstab så att de kan tas i bruk vid uppstart med kommandot swapon -a i något uppstartsskript.

Växlingshuvudet rör inte vid det första blocket. En startladdare eller disketikett kan finnas där, men det är inte en rekommenderad inställning. Den rekommenderade inställningen är att använda en separat partition för ett Linux-växlingsområde.

mkswap, liksom många andra mkfs-liknande verktyg, * raderar det första partitionsblocket för att göra alla tidigare filsystem osynliga.*

mkswap vägrar dock att radera det första blocket på en enhet med en disketikett (SUN, BSD, ...).

-c, --check

Kontrollera enheten (om det är en blockenhet) efter dåliga block innan du skapar växlingsområdet. Om några dåliga block hittas skrivs antalet ut.

-F, --file

Skapa en växlingsfil med lämpliga filbehörigheter och fyllda block på disken.

-f, --force

Fortsätt även om kommandot är dumt. Detta gör det möjligt att skapa en växlingsområde som är större än filen eller partitionen den ligger på.

Utan denna flagga kommer mkswap att vägra att radera det första blocket på en enhet med en partitionstabell.

-q, --quiet

Undertrycka utdata- och varningsmeddelanden.

-L, --label etikett

Ange en etikett för enheten, för att tillåta swapon(8) efter label.

--lock[=läge]

Use an exclusive BSD lock for the device or file that is operated upon. The optional argument mode can be yes (1), no (0), or nonblock. If the mode argument is omitted, it defaults to yes. This option overrides the environment variable $LOCK_BLOCK_DEVICE. The default is to not use any lock at all, but using a lock is recommended to avoid collisions with systemd-udevd(8) or other tools.

-p, --pagesize storlek

Ange sidans storlek (i byte) som ska användas. Denna flagga är vanligtvis onödigt; mkswap läser storleken från kärnan.

-U, --uuid UUID

Ange vilket UUID som ska användas. Standardinställningen är att generera ett UUID. Formatet för UUID är en serie hexadecimala siffror åtskilda av bindestreck, så här: "c1b9d5a2-f162-11cf-9ece-0020afc76f16". UUID-parametern kan också vara något av följande:

klart

rensa filsystemets UUID

slumpmässigt

generera ett nytt slumpmässigt genererat UUID

tid

generera ett nytt tidsbaserat UUID

-e, --endianness ENDIANNESS

Ange vilken ENDIANNESS som ska användas, giltiga argument är native, little eller big. Standardvärdet är native.

-o, --offset offset

Ange den offset som växlingsområdet ska skrivas till.

-s, --size storlek

Ange storleken på den skapade växlingsfilen i byte och kan följas av ett multiplikativt suffix: KiB (=1024), MiB (=1024*1024), och så vidare för GiB, TiB, PiB, EiB, ZiB och YiB ("iB" är valfritt, t.ex. har "K" samma betydelse som "KiB"). Om filen finns och är större än storlek, kommer den att trunkeras till denna storlek. Denna flagga är endast meningsfullt när det används tillsammans med --file.

-v, --swapversion 1

Ange version för växlingsområdet. (Den här flaggan är för närvarande meningslöst, eftersom det gamla flaggan -v 0 har blivit föråldrat och nu stöds endast -v 1. Kärnan har inte haft stöd för växlingsområdesformatet v0 sedan 2.5.22 (juni 2002). Den nya versionen v1 stöds sedan 2.1.117 (augusti 1998))

--verbose

Utförlig körning. Med denna flagga kommer mkswap att ge ut mer information om upptäckta problem under konfigurationen av swap-områden.

-h, --help

Visa hjälptext och avsluta.

-V, --version

Visa version och avsluta.

LIBBLKID_DEBUG=all

aktiverar libblkid felsökningsutdata.

LOCK_BLOCK_DEVICE=<mode>

använd exklusivt BSD-lås. Läget är "1" eller "0". Se --lock för mer information.

Den maximala användbara storleken på ett växlingsområde beror på arkitektur och kärnversion.

Det maximala antalet sidor som är möjligt att adressera via växlingsområdeshuvudet är 4294967295 (32-bitars unsigned int). Det återstående utrymmet på växlingsenheten ignoreras.

För närvarande tillåter Linux 32 växlingsområden. De områden som används kan ses i filen /proc/swaps.

mkswap vägrar områden som är mindre än 10 sidor.

Om du inte vet vilken sidstorlek som används i din maskin kan du slå upp den med getconf PAGESIZE.

Förutom mkswap --file är det också möjligt att skapa swapfilen manuellt innan den initieras med mkswap, t.ex. med ett kommando som

Sedan version 2.41 ställer mkswap --file in nocow-attributet för nyskapade filer för att stödja swapfiler på Btrfs.

# dd if=/dev/zero of=växlingsfil bs=1MiB count=$((8*1024))

för att skapa 8GiB växlingsfil.

I sådana fall bör du läsa anteckningarna från swapon(8) om begränsningarna för användning av swap-filer (hål, förallokering och kopiering vid skrivning).

fdisk(8), swapon(8)

För felrapporter, använd felhanteraren https://github.com/util-linux/util-linux/issues.

Kommandot mkswap 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