Jak už to tak bývá, pevný disk není nafukovací a jakkoliv jsme si říkali, že 500 giga nám přece musí stačit, s povzdechem zjišťujeme, že opravdu nestačí a rozhodneme si pořídit ještě další, záložní disk. Ať už se jedná o skutečný pevný disk, který se rozhodneme instalovat do počítače přímo, či o disk připojený externě přes nějaké rozhraní, musíme si jej napřed připravit, abychom jej mohli začít používat. Tato příprava spočívá zejména v tzv. vytvoření oddílů a jejich následném naformátování. Také si řekneme, jak nové oddíly připojit do systému.
Ačkoliv v Linuxu existuje několik klikacích prográmků na práci s disky, my si ukážeme základní práci s diskem pomocí konzolového prográmku gdisk
, který se běžně nachází v základní instalaci Fedory.
Poznámka:
Pevný disk rozdělený programem gdisk
používá tzv GPT metodu (GUID Partition Table), která má mnoho výhod oproti starší MBR metodě, ale takto připravený disk nemusí být použitelný ve starších verzích známých operačních systémů.
Varování: Vytváření oddílů a jejich formátování na disku zničí veškerá stávající data. Než říznete, raději si to dvakrát změřte.
Kde najdu svůj disk?
Každé připojené zařízení, tedy i disky, se objeví jako nějaký soubor v adresáři /dev
. Pevné disky se nejčastěji hlasí jako sd*
(SCSI device), kde *
je číslo, které disku přidělil operační systém. Hledat disky v kupce sena adresáře /dev
není však tou nejbezpečnější metodou a riziko omylu je velké. Uděláme to tedy lépe:
- Než připojíme nový disk, podíváme se, jaká bloková zařízení už v systému máme.
$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 238.5G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 237.5G 0 part └─luks-5d2200d0-a688-45cb-b2f1-b07a087ae237 253:0 0 237.5G 0 crypt ├─fedora-root 253:1 0 50G 0 lvm / ├─fedora-swap 253:2 0 5.7G 0 lvm [SWAP] └─fedora-home 253:3 0 181.8G 0 lvm /home
Vidíme, že je připojen jeden disk jménem
sda
, který je dále rozdělen na dva diskové oddíly,sda1
asda2
. Další údaje pak ukazují detailnější rozdělení pomocí LVM, které v tomto článku rozebírat nebudeme. - Připojíme nový disk. Jedná-li se o pevný disk, vypneme předtím samozřejmě počítač.
- Zopakujeme předchozí příkazy a na výpisu poznáme, který disk se zde objevil.
$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 238.5G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 237.5G 0 part └─luks-5d2200d0-a688-45cb-b2f1-b07a087ae237 253:0 0 237.5G 0 crypt ├─fedora-root 253:1 0 50G 0 lvm / ├─fedora-swap 253:2 0 5.7G 0 lvm [SWAP] └─fedora-home 253:3 0 181.8G 0 lvm /home sdb 8:16 0 500M 0 disk
Vidíme, že v našem případě se jedná o disk se jménem
sdb
a s tímto diskem budeme nadále pracovat.
Jak si vytvořit oddíly?
Plánování
Ještě nedávno se vycházelo z názoru, že na disku lze vytvořit primární (primary) a rozšířené (extended) oddíly. Primární oddíly mohly být na disku jenom čtyři, a proto bylo nutné pečlivě plánovat, jak oddíly přesně vytvořit.
Omezení se řešilo tak, že se pokud bylo potřeba oddílů více, vytvořily se tři primární oddíly a posléze jeden rozšířený, ve kterém bylo možné vytvořit "libovolné" množství dalších oddílů. Budeme-li pro vytváření pracovat s programem gdisk
, nemusíme si s tímto omezením dělat hlavu, protože můžeme vytvořit až 128 oddílů za sebou. Přesto je lepší, když si rozdělení disku rozmyslíme dopředu.
Disk je potřeba si vhodně rozdělit podle toho, jak jej chceme používat. Potřebujeme-li pouze více místa na odkládání filmů, fotek a hudby, stačí nám jeden velký diskový oddíl. Chceme-li si vytvořit disk pro instalaci Fedory, můžeme si také vystačit s jedním diskovým oddílem, ale lepší je, když si disk rozdělíme na několik částí, abychom oddělili například uživatelská a systémová data.
V našem článku si ukážeme, jak rozdělit disk o velikosti 500MB na dva oddíly, které budeme moci využít pro zálohování dat a sdílení dat v síti:
- oddíl pro zálohování dat o velikosti 200MB.
- oddíl pro sdílení dat v síti o velikosti 300MB.
Ve skutečnosti bychom na takový disk mnoho neuložili, ale pro náš modelový příklad to bude stačit.
Získávání informací o disku
Než začneme, znovu si uvědomíme, na kterém disku chceme vytvářet nové oddíly. V našem případě se jedná o disk pod značkou sdb
.
- Podíváme se na informace o disku:
$ sudo gdisk -l /dev/sdb
Z výstupu se dozvíme následující informace:
- Verzi programu
gdisk
GPT fdisk (gdisk) version 1.0.3
- Dostupné souborové tabulky na disku a dále, která tabulka se používá pro ukládání metadat. Vidíme, že to je GPT, což je správně.
Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT.
Jestliže chceme pracovat s celým diskem, nemusíme se na použitou tabulku ohlížet. V případě, že na disku už nějaké oddíly jsou a my jenom přidat další do volného místa, pak se musím přesvědčit, že disk skutečně používá GPT metodu. V případě, že používá MBR, byl by vhodnější nástroj starší
fdisk
, který s tímto typem tabulky pracuje. - Informace o názvu a velikosti pevného disku.
Disk /dev/sdb: 1024000 sectors, 500.0 MiB Model: source0
- Velikost jednotlivých diskových sektorů.
Sector size (logical/physical): 512/512 bytes
- Identifikátor pevného disku, pod kterým se disk vždy hlásí do systému.
Disk identifier (GUID): 6278184A-3E2D-4E10-9FAA-C9D360817D65
- Informace o jednotlivých oddílech. Oddíly zatím nemáme vytvořené, tak se dole v tabulce nic neukáže.
Partition table holds up to 128 entries Main partition table begins at sector 2 and ends at sector 33 First usable sector is 34, last usable sector is 1023966 Partitions will be aligned on 2048-sector boundaries Total free space is 1023933 sectors (500.0 MiB) Number Start (sector) End (sector) Size Code Name
- Verzi programu
Vytvoření samotných oddílů
Jako první vytvoříme oddíl o velikosti 200MB.
- Spustíme
sudo gdisk /dev/sdb
a dostaneme se na úvodní obrazovku.GPT fdisk (gdisk) version 1.0.3 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help):
- Pokud jsme v prostředí
gdisku
poprvé, možná se bude hodit rychlá nápověda, kterou, jak už nám prompt napovídá, získáme po stisknutí otazníku.b back up GPT data to a file c change a partition's name d delete a partition i show detailed information on a partition l list known partition types n add a new partition o create a new empty GUID partition table (GPT) p print the partition table q quit without saving changes r recovery and transformation options (experts only) s sort partitions t change a partition's type code v verify disk w write table to disk and exit x extra functionality (experts only) ? print this menu Command (? for help):
- Stiskneme písmeno n, abychom přidali nový oddíl.
- Zvolíme číslo pro nový oddíl a napíšeme ho na příkazový řádek. Je však dobré zachovávat pořadí oddílů, takže stačí když stiskneme Enter a oddíl automaticky číslo uvedené jako default.
Partition number (1-128, default 1):
- Dále si zvolíme umístění prvního sektoru nového oddílu. Doporučuji nechat default nastavení.
First sector (34-1023966, default = 2048) or {+-}size{KMGTP}:
- Pak musíme zvolit poslední sektor oddílu, kterým zároveň definujeme jeho velikost. Abychom nemuseli složitě počítat, kolik sektorů je potřeba pro určitou velikost, využijeme volby + a napíšeme po jaké velikosti se má oddíl ukončit. Pro 200MB, které chceme vytvořit, napíšeme +200M.
Last sector (2048-1023966, default = 1023966) or {+-}size{KMGTP}: +200M
- Zvolíme jaký systém budeme na oddílu provozovat. K tomu je potřeba znát čtyřmístný kód. Ten můžeme získat stiskem klávesy L.
Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): 8300
- Tím máme oddíl vytvořen. Stisknutím p (vytiskni tabulku oddílů) si zobrazíme stávající tabulku oddílů.
Command (? for help): p
- Přesvědčíme se, že oddíl byl v pořádku vytvořen.
Number Start (sector) End (sector) Size Code Name 1 2048 411647 200.0 MiB 8300 Linux filesystem Command (? for help):
- Celý postup zopakujeme s dalším oddílem.
- Stiskneme n
- Přiřadíme číslo oddílu (Enter).
- Zvolíme první sektor (Enter).
- Zvolíme velikost oddílu (+300M a Enter)
- Zvolíme typ souborového systému (0700 pro Windows a Enter)
- Zkontrolujeme, že máme oddíly správně vytvořeny (p a Enter)
Number Start (sector) End (sector) Size Code Name 1 2048 411647 200.0 MiB 8300 Linux filesystem 2 411648 1023966 299.0 MiB 0700 Microsoft basic data Command (? for help):
Všimněme si, že velikost druhého oddílu není přesně 300MB, ale jenom 299. To proto, že
gdisk
přepočítá velikost na sektory, takže ta se lehce může nakonec lišit. Také, pokud zadáte velikost větší, než kolik je volného místa na disku,gdisk
vytvoří pouze tak veliký oddíl, aby se na disk vešel.
- Takto vytvořené oddíly zatím nejsou zapsány na disku. Ještě pořád si to můžeme rozmyslet a se ctí ustoupit z boje. Pokud jsme si jistí, že máme oddíly správně, zapíšeme je na disk stisknutím w (Zapsat).
Command (? for help): w
- Přečteme si varování, znovu si to rozmyslíme a pak stiskneme Y (Ano).
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): Y
- V tomto okamžiku zapíše
gdisk
nové rozložení na disk, informuje nás o stavu operace a skončí. V tuto chvíli již na disku nejsou žádná data a disk používá nové rozdělení.OK; writing new GUID partition table (GPT) to /dev/sdb. The operation has completed successfully.
- Zkontrolujeme si, že se oddíly skutečně vytvořily, příkazem
lsblk
.sdb 8:16 0 500M 0 disk ├─sdb1 8:17 0 200M 0 part └─sdb2 8:18 0 299M 0 part
Formátování oddílů
Nově vytvořené oddíly nemůžeme použít, aniž bychom je naformátovali. To znamená, že musíme na oddíl zapsat informace o souborovém systému, který bude pro ukládání dat použit. V Linuxu si můžeme vybrat mezi mnohými souborovými systémy, které mají své výhody a nevýhody. Můj oblíbený linuxový souborový systém je ext4.
Pokud chceme, aby souborovému systému rozuměly i jiné operační systémy než Linux, musíme vybrat takový, který je podporován. Pro Windows například použijeme buď ntfs nebo fat32. Druhý jmenovaný se běžně používá například na USB klíčenkách, protože mu rozumí i tablety, televize a další rozmanitá zařízení.
Diskové oddíly se formátují variantou příkazu mkfs
, podle toho, o který systém máme zájem (viz tabulka).
ext4 | mkfs.ext4 |
ext3 | mkfs.ext3 |
ntfs | mkfs.ntfs |
FAT32 | mkfs.vfat |
… | … |
- Na prvním oddíle
sdb1
vytvoříme souborový systém typuext4
a pojmenujeme jej linux_backup.$ sudo mkfs.ext4 -L linux_backup /dev/sdb1
Prohlédneme si výpis, který nám ukáže, že vše proběhlo v pořádku.
mke2fs 1.43.4 (31-Jan-2017) Creating filesystem with 204800 1k blocks and 51200 inodes Filesystem UUID: f9ef5926-0243-4990-afd5-6fe34bf2a7a2 Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729 Allocating group tables: done Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done
- Na druhém oddíle
sdb2
vytvoříme souborový systém typuvfat
a pojmenujeme jej WINSHARE. Souborové systémyvfat
musí mít název velkými písmeny, aby mu rozuměly i starší verze Windows.$ sudo mkfs.vfat -n WINSHARE /dev/sdb2
Výpis je tentokrát o dost kratší.
mkfs.fat 4.1 (2017-01-24)
- Příkazem
sudo blkid
si zkontrolujeme, že oddíly skutečně existují a mají správné parametry. Výpis je zkrácený./dev/sdb1: LABEL="linux_backup" UUID="f9ef5926-0243-4990-afd5-6fe34bf2a7a2" TYPE="ext4" PARTLABEL="Linux filesystem" PARTUUID="8f33b3ef-7cfa-4220-bbe8-53c054b381e7" /dev/sdb2: SEC_TYPE="msdos" LABEL="WINSHARE" UUID="9DA7-0E16" TYPE="vfat" PARTLABEL="Microsoft basic data" PARTUUID="d819dbca-a063-4f80-87f8-bcfb313da757"
Jak nové oddíly připojit?
Automatické připojení oddílu na externím disku.
Když je oddíl na externím disku a tento připojíme za běhu do počítače, operační systém tuto událost zaznamená a oddíl připojí automaticky. Takto se dneska chová většina operačních systémů a Fedora v tomto není výjimkou.
Jestliže se oddíl automaticky nepřipojí, můžete zkusit postup v další části.
Ruční připojení oddílu
K tomu, abychom mohli oddíl připojit ručně, musíme vědět, co a kam chceme připojit. Musíme tedy znát název zařízení a cílový adresář, do kterého bude zařízení připojeno. Také je dobré vědět, jakým souborovým systémem je oddíl naformátován.
V našem případě chceme připojit oddíl /dev/sdb1
, na kterém je souborový systém ext4
do adresáře /home/backup
.
- Vytvoříme cílový adresář.
$ mkdir /home/backup
- Připojíme do něj náš oddíl
$ sudo mount -t ext4 /dev/sdb1 /home/backup
Od této chvíle můžeme s oddílem normálně pracovat, jakoby to byl jednodušše další adresář.
Poznámka: Nesmíme však zapomenout, že Linux na lepších souborových systémech dodržuje přístupová práva. Vzhledem k tomu, že připojovat oddíly může jenom superuživatel, obyčejný uživatel na něm nemusí mít právo zápisu, dokud mu toto právo nepovolíme.
Následující příkaz umožní zápis na oddíl všem uživatelům, ale rozhodně to není příklad nejlepší praxe: sudo chmod 777 /home/backup
.
V tomto článku se můžete o právech dočíst více a zvolit nejlepší strategii pro svůj případ.
Závěr
Představili jsme si postup, jak pomocí konzolového prográmku gdisk
můžeme rozdělit pevný disk na jednotlivé oddíly, tyto oddíly naformátovat a připojit do systému. Existují samozřejmě pohodlnější metody s grafickou aplikací, ale tento jednoduchý způsob má v sobě jisté kouzlo, pro které stojí za to o něm vědět.
3. 10. 2017 at 13:17
Dobry den,
prosim Vas v com je skutocna vyhoda, resp. prinos pouzitia GPT oproti MBR, napr. pre typicky priklad desktop PC:
– disk 1 = SSD cca 500 MB => sda1 (100 MB) = /, sda2(400 MB) = /home
– disk 2 = HDD cca 1TB => sdb1 (1 TB) = /data
je to len modelovy priklad, samozrejme, kolko ludi tolko chuti …
Je mi jasne, pre disky viac ako 2 TB bez GPT tazko. Ale mna skor zaujima, preco by som mal zacat pouzivat GPT pre vyssie uvedeny priklad (hlavne z praktickych pricin) ?
Dakujem !
5. 10. 2017 at 19:35
Proc GPT?
– zalozni patition table na konci disku
– soucasti tabulky je kontrolni soucet
– nema limit na pocet partitions (i kdyz vetsinou se dela prostor na 128 zaznamu)
– kazda partition ma UUID a NAME (label) na urovni PT, napriklad v fstabu tak muzete pouzivat PARTUUID= a prezije to i formatovani dane partition
– UUID pro specifikaci typu (takze jich muze byt opravdu hodne)
– UEFI firmware je schopen s PT zachazet
– pouziva 64bit cisla na adresovani
MBR je proti tomu dost omezena hracka na 4 zaznamy. Externded patitions jsou pak linkovanej seznam rozhozenej po disku, takze staci jeden byte a mate slusnej problem dohledat kde co zacina a konci…
Jo a default fdisk, cfdisk i sfdisk ve Fedore umi GPT, gdisk nemusite 🙂
6. 10. 2017 at 13:52
Dakujem za odpovede, takze asi najopodstatnenejsi dovod je backup partition table, co vyzera rozumne. Na druhej strane, uz znacnu dobu pouzivam PC, linux na dost velkom pocte strojov a zatial som sa ani raz osobne nestretol s narusenim partition table (mozno mate ine skusenosti) ?
Avsak ako skalny pouzivatel Fedory, ktora vzdy „kracala s dobou“ asi uz je najvyssi cas prejst na novsiu GPT.
5. 10. 2017 at 13:01
Dobrý den,
Váš scénář nepotřebuje GPT, to je jasné. Nicméně přesto mě napadá jeden důvod, proč použít GPT. GPT má zdvojenou tabulku oddílů, jednu vpředu a druhou vzadu, takže v případě, že se ta přední poškodí, lze namapovat disk z té zadní. U MBR, které používá jenom tu přední, by informace byly ztracené.