[[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.