[[oktatas:linux|< Linux]]
====== Particionálás ======
* **Szerző:** Sallai András
* Copyright (c) 2017, Sallai András
* Szerkesztve: 2017, 2019, 2022
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]]
* 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.