< Linux

Particionálás

Szerző: Sallai András

Copyright © Sallai András, 2017, 2019, 2022

Licenc: CC Attribution-Share Alike 4.0 International

Web: https://szit.hu

Bevezetés

Ez a leírás a háttártárak felosztásáról szól. Bemutatásra kerül többféle particionáló program.

A leírásban a parancsok előtt általában egy # karakter szerepel, ami a várakozási jel, és egyben azt is jelenti, hogy a parancsot rendszergazdaként kell kiadni.

fdisk

Az fdisk parancs alapvető, általában minden Linuxon megtalálható.

Partíciós tábla megjelenítése:

# fdisk -l

Ha az fdisk számára paraméterként megadok egy háttértárat, akkor egy parancsértelmező indul, a partíciók szerkeszthetővé válnak. A használható parancsokat az „m” betű begépelésével írathatjuk ki.

Welcome to fdsik (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help):

Ha új merevlemezünk van, vagyis még sosem volt partíció a lemezen, a partíciós tábla típusát kell elsőként megadni. A programok általában ezt „label” néven említik.

A következő partíciós tábla típusok használhatók:

GPT

SGI

DOS

Sun

Ha változtatunk a partíciós táblákon, a változásokat ki kell írni a „w” paranccsal.

További parancsokért a „Command (m for help):” várakozási jelnél gépeljünk egy „m”, majd egy Enter billentyűt.

cfdisk

A cfdisk az util-linux csomag része.

A cfdisk egy menüvel rendelkező felület. Indítása:

# cfdisk

Indítás után a lehetséges felhasználói felület:

Disk: /dev/sda
Size: 74,5 GiB, 80026361856 bytes, 156301488 sectors
Label: dos, identifier: 0x00000001
Device Boot Start End Sectors Size Id Type
>> /dev/sda1 63 61432559 61432497 29,3G 7 HPFS/NTFS/exFAT
/dev/sda2 154347520 156301311 1953792 954M 82 Linux swap / Solaris
/dev/sda3 * 61433856 154347519 92913664 44,3G 83 Linux
[ Bootable ] [ Delete ] [ Quit ] [ Type ] [ Help ]
[ Sort ] [ Write ]
Toggle bootable flag of the current partition

Alul egy menüt találunk, amiben a „jobbra” és „balra” billentyűkkel mozoghatunk. A kilépés is itt választható. Minden partíciónak van egy alaptípusa, ezt lehet a [ Type ] menüben beállítani.

Ha elkészültek a partíciók, a végén ki kell a változásokat írni a háttértárra. Ezt a [ Write ] paranccsal tehetjük meg. Ügyeljünk arra, hogy rákérdez, biztosan szeretnénk-e végrehajtani a kiírást. Itt a „yes” szót kell begépelni, nem elég a „y” önmagában.

Ha két merevlemez van egy számítógépben és azok SATA csatlakozóval rendelkeznek, akkor az első merevlemez neve sda, a második merevlemez neve sdb, a harmadik sdc és így tovább:

/dev/sda

/dev/sdb

/dev/sdc

Ha elindítjuk a cfdisk particionáló programot paraméter nélkül, akkor az első merevlemezt tudjuk szerkeszteni. Ha másodikat szeretnénk, akkor meg kell adni paraméterként, például így:

# cfdisk /dev/sdb

Ha kiléptünk a cfdisk programból, érdemes az eredményt a fidsk -l paranccsal is megtekinteni.

Amennyiben még sosem volt particionálva a merevlemez a cfdisk felkínálja, hogy válasszunk partíciós címként. A következő lehetőségek vannak.

gpt

dos

sgi

sun

Általában a dos vagy gpt használatos.

A cfdisk programmal, ha törlünk egy partíciót, akkor törlése nem tökéletes. Ha korábban volt egy ext4 fájlrendszer a törölt partíción, az ext4 fájlrendszer a törlés után is megmarad. Persze ettől használható, újraformázható. A fdisk programmal nincs ilyen probléma.

partx

A partx, meglévő partíciók adatainak megjelenítésére használható.

A partx parancs a következő négy kapcsoló egyikét kötelezően megkívánja:

-a --add

-d --delete

-u --update

-s --show

Partíciók listázása egy tárolón:

# partx -s /dev/sda

Lehetséges kimenet:

NR START END SECTORS SIZE NAME UUID
1 2048 1050623 1048576 512M 8d4bd4c0-da36-479b-9ce6-918e8050d9fc
2 1050624 14682111 13631488 6,5G 82613e2a-bedb-48ee-9366-075d2731d621
3 14682112 16775167 2093056 1022M 3feddb13-43f3-4122-8a5d-9af124cde14f

Fájlrendszerek aláírása

Minden fájlrendszer egy úgynevezett aláírást hagy a partíción. Ha már volt formázva egy partíció, és törlés után újra létre szeretnék hozni, olyan figyelmeztetést, kaphatunk, hogy már van egy ext, ntfs vagy más aláírás a partíción.

Aláírás törlése:

# wipefs --all /dev/sdc1

Az öszes:

# wipefs --all /dev/sdc

UEFI

Az UEFI a Unified Extensible Firmware Interface rövidítése. A BIOS leváltására szánták.

Az EFI-t az Intel kezdte fejleszteni kezdetben Intel Boot Initiative néven. 2005-től az EFI-t az Unified EFI kezeli UEFI néven.

A rendszer használja-e az UEFI-t

# ls /sys/firmware/
acpi dmi memmap

Az EFI változókkal tart nyilván bizonyos adatokat. Az EFI változók megtekintéséhez telepítsük az efivar csomagot:

# apt install efivar

A változók megtekintése:

# efivar -l

Több információért nézzük meg a parancs kézikönyvét:

$ man efivar

ESP partíció

Az ESP partíció az EFI rendszer tartozéka. EFI esetén szükség van egy ilyen partícióra is. Az fdisk -l kimenetében csak „EFI System” néven látjuk. Az EFI a rendszerindításhoz itt tárolja a rendszerindító kódjait. Ha GRUB rendszertöltőt használunk, azt ide kell telepíteni.

Az ESP a FAT fájlrendszeren alapszik, de specifikációja független a FAT fájlrendszertől.

A GUID azonosítóra példa: C12A7328-F81F-11D2-BA4B-00A0C93EC93B

GPT

A GPT az UEFI-specifikáció része. Ha UEFI módban telepítettük a Linuxot, akkor dos helyett, gpt partíciós tábla jön létre. A Debian GNU/Linux telepítő, ha felismeri az UEFI jelenlétét, akkor UEFI módban indul, a partíciós tábla pedig gpt lesz.

Az fdisk -l, a kimenetében a Disklabel type sor, megmutatja melyik partíciós tábla került alkalmazásra. A gpt esetén:

Disklabel type: gpt

A korábbi dos partíciós tábla esetén:

Disklabel type: dos

A GPT partíciós tábla esetén nincs többé elsődleges és másodlagos partíció. A partíciók számának, pedig a tároló mérete szab határt, habár alapértelmezetten csak 128 partíció hozható létre.

A GPT a lemezek azonosításra egy GUID nevű azonosítót használ, amely 36 karakterből áll. Linux alatt ez UUID néven használjuk.

A GPT 64 bites LBA-t használ a lemezek címzésére. A legnagyobb címezhető méret 2 ZiB.

A lemezek végén is találunk egy fejlécet, ha megsérülne a lemez elején található fejléc.

Ha a partíció mérete nagyobb mint 2 TB, akkor GTP a jó választás, dos típus esetén nem címezhető meg az egész merevlemez.

parted

A parted egy interaktív partíciókezelő program. 2 TB-nál nagyobb partíciók esetén szokásosan ajánlott program.

Telepítése:

# apt install parted

Indítás után egy várakozási jelet kapunk:

GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

Paraméterezhetjük:

# parted /dev/sdb

A print utasításra, kiírja a partíciókat.

(parted) print
Model: ATA SAMSUNG HD083GJ (scsi)
Disk /dev/sda: 80,0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 32,3kB 31,5GB 31,5GB primary ntfs
3 31,5GB 79,0GB 47,6GB primary ext4 boot
2 79,0GB 80,0GB 1000MB primary linux-swap(v1)
(parted)

A select paranccsal kiválaszthatjuk a kívánt merevlemezt:

(parted) select /dev/sdb

A print free kiírja a szabad helyet:

(parted) print free

Partíció címke beállítása:

(parted) mklabel gpt

A következő típusok adhatók meg:

aix, amiga, bsd, dvh, gpt, loop, mac, msdos, pc98, sun

Ellenőrzés:

(parted) print

Partíciók készítése

Csatolási pont	Méret
bármi	4 GiB

Partíció készítése:

(parted) mkpart primary 1 4000

Csatolási pont	Méret
/	20 GiB
/home	maradék

(parted) mkpart primary ext4 1MiB 20GiB
(parted) set 1 boot on
(parted) mkpart primary ext4 20GiB 100%

Csatolási pont	Méret
/boot	100 MiB
/	20 GiB
swap	1GiB
/home	maradék

(parted) mkpart primary ext2 1MiB 100MiB
(parted) set 1 boot on
(parted) mkpart primary ext4 100MiB 20GiB
(parted) mkpart primary linux-swap 20GiB 21GiB
(parted) mkpart primary ext4 21GiB 100%

Partíció UEFI számára

(parted) mkpart primary fat32 2048s 537MiB
(parted) set 1 esp on

Átméretezés

A 3-s partíciónak új véget adok meg:

resizepart 3 5000MiB

Meg kell különböztetni a partíció és fájlrendszer átméretezését. A parted programmal a partíciót méretezzük át.

A fájlrendszer átméretezéséhez használjuk a resize2fs parancsot. Például:

# resize2fs /dev/sdaX [size]

Ha nem adunk meg paramétert, akkor a partíció méretére állítja a fájlrendszert.

A fájlrendszert sosem lehet nagyobbra méretezni mint a partíció. Elsőként növeljük meg a partíciót, majd ezt követően a fájlrendszert. A resize2fs a ext2, ext3 és ext4 fájlrendszerek átméretezésére képes.

Btrfs fájlrendszer esetén:

# btrfs filesystem resize /dev/sdaX [size]

Ha méretcsökkentést végzünk, előbb a fájlrendszer méretét csökkentsük.

Beavatkozás nélküli mód

# parted -s /dev/sdb mkpart primary 0% 100%

Végezhetünk vele egyszerű listázást is:

# parted /dev/sda P

Ez megjeleníti a partíciókat.

# parted /dev/sda P
Model: ATA WDC WD10EZRX-00A (scsi)
/dev/sda lemez: 1000GB
Szektorméret (logikai/fizikai): 512B/4096B
Partíciós tábla: msdos
Szám Kezdet Vég Méret Típus Fájlrendszer Zászlók
1 1049kB 100GB 100GB primary ext4 boot
2 100GB 103GB 3000MB primary linux-swap(v1)
3 103GB 203GB 100GB primary ext4
4 203GB 1000GB 797GB extended
5 203GB 303GB 100GB logical ext4
6 303GB 400GB 97,2GB logical ext4
7 400GB 1000GB 600GB logical ext4

Forrás

https://wiki.archlinux.org/index.php/Parted (2019)

https://www.thegeekdiary.com/how-to-create-a-partition-using-parted-command/ (2019)

man parted (Debian GNU/Linux 10)

man resize2fs (Debian GNU/Linux 10)

disktype

A partíció típusának meghatározása:

Telepítés:

# apt install disktype

Használatra példa:

# disktype /dev/sda

A partíciók blokkjai

A blockdev parancs az util-linux csomag része.

Az egyes partíciók blokkméretének lekérdezése:

# blockdev --getbsz /dev/sdb1

A használható kapcsolók listáját nézzük meg helpben:

# blockdev --help

lsblk

Az lsblk egy nagyon hatékony partíció lekérdező eszköz. Az util-linux csomag része. A használathoz csak írjuk be:

lsblk

A kimenet ehhez hasonló lehet:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931,5G 0 disk
├─sda1 8:1 0 93,1G 0 part
├─sda2 8:2 0 2,8G 0 part [SWAP]
├─sda3 8:3 0 93,1G 0 part
├─sda4 8:4 0 1K 0 part
├─sda5 8:5 0 93,1G 0 part
├─sda6 8:6 0 90,5G 0 part /
└─sda7 8:7 0 558,8G 0 part /home
sdb 8:16 0 931,5G 0 disk
├─sdb1 8:17 0 500G 0 part /media/janos/DATA01
└─sdb2 8:18 0 431,5G 0 part /media/janos/DATA02
sr0 11:0 1 1024M 0 rom

Megadható eszköz is, például:

lsblk /dev/sdb

A -f kapcsolóval kiírja a fájlrendszer típusát és azonosítóját is:

lsblk -f

Lehetséges kimenet részlet:

NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda
├─sda1 ext4 ea41fa71-8bec-4c33-96d4-360eb42608aa
├─sda2 swap bc5ad776-b647-402a-98b8-ede054a742b0 [SWAP]
├─sda3 ext4 2e5c830f-ca87-4334-89a3-a4685a14660f
...

gdisk

A gdisk GPT partíciós tábla kezelő. Telepítése:

# apt install gdisk

Használat, például:

# gdisk /dev/sdb

Segítségével, átkonvertálhatók dos partíciós táblák gpt partíciós táblává.

Partíció olvasása

Mentsük ki a partíció egy részét egy fájlba:

# dd if=/dev/sdb1 of=disk01.img count=2048

A fájlt ezek után megvizsgálhatjuk egy szerkesztővel. Vizsgálhatnánk közvetlenül a partíciót is, de így biztonságosabb.

$ hexedit disk01.img

A hexaszerkesztőt a következő paranccsal telepíthetjük:

# apt install hexedit

Hexa szerkesztő csomagok még:

wxhexeditor

GUI

apt install wxhexeditor

Bless

GUI

apt install bless

hexedit

CLI

telepítés: apt install hexedit

indítás: hexeditor

hexcurse

CLI

telepítés: apt install hexcurse

indítás: hexcurse

ht

CLI

telepítés: apt install ht

indítás: hte

dhex

CLI

apt install dhex

indítás: dhex

Lásd még

gpart: /usr/sbin/gpart

exfat-utils: /sbin/exfatlabel

util-linux: /bin/lsblk

pydf: /usr/bin/pydf

hwinfo: /usr/bin/hwinfo

# hwinfo –block –short

fstransform: /usr/sbin/fstransform

partimage: /usr/sbin/partimage

partíciók mentése, visszaállítása

Az lsblk nagyon szép kimenetet generál a létező partíciókról.