Manipulace s diskem v Linuxu

Manipulace s diskem v Linuxu

Dnes jsem si potřeboval dát do pořádku flashdisk, odstranit staré oddíly a vytvořit jeden nový s FAT32. V souvislosti s tímto jsem si napsal několik následujících poznámek k práci s disky a diskovými oddíly v Linuxu. Jako bonus ještě na konec zmíním několik nástrojů, pro monitorování stavu a záchranu dat z disku, se kterými mám pozitivní zkušenosti.

1.  Získávání informací

Seznam filesystémů podporovaných jádrem

cat /proc/filesystems

Zaregistroval systém připojení USB disku?

dmesg

dmesg vytiskne zprávy jádra. Pokud ho spustíte po tom, co jste připojili USB disk, můžete si zkontrolovat, zda Váš systém USB disk vůbec “vidí”.

Ukázka výstupu dmesg:

[ 5395.140035] usb 2-1: new high speed USB device using ehci_hcd and address 3
[ 5395.273100] usb 2-1: configuration #1 chosen from 1 choice 
[ 5395.282585] scsi9 : SCSI emulation for USB Mass Storage devices 
[ 5395.283167] usb-storage: device found at 3 
[ 5395.283171] usb-storage: waiting for device to settle before scanning
[ 5400.280620] usb-storage: device scan complete
[ 5405.952224] scsi 9:0:0:0: Direct-Access Corsair  Flash Voyager 1.00 PQ: 0 ANSI: 2
[ 5405.952880] sd 9:0:0:0: Attached scsi generic sg3 type 0
[ 5405.966303] sd 9:0:0:0: [sdc] 15859712 512-byte logical blocks:(8.12 GB/7.56 GiB)
[ 5405.966919] sd 9:0:0:0: [sdc] Write Protect is off
[ 5405.966924] sd 9:0:0:0: [sdc] Mode Sense: 03 00 00 00
[ 5405.966929] sd 9:0:0:0: [sdc] Assuming drive cache: write through

Co a kam se připojuje při startu?

cat /etc/fstab

Pěkný článek o fstab na abclinuxu.cz.

Seznam všech aktuálně připojených disků

mount nebo mount -l

Zobrazí seznam zařízení, jejich přípojných bodů a parametrů připojení.

Seznam diskových oddílů v systému

cat /proc/partitions

Tabulky rozvržení oddílů na všech blokových zařízeních

parted -l

Poznámka: Jsou potřeba práva roota.

Tabulky rozdělení disků

fdisk -l

Poznámka: Jsou potřeba práva roota.

2.  Práce s disky a oddíly

POZOR: Následující část článku již ukazuje samotnou práci s disky a diskovými oddíly. Naleznete v ní i praktické příklady použití. V žádném případě, nedoporučuji příklady zkoušet, pokud nevíte co děláte! Já v příkladech pracuji se zařízením /dev/sdc což byl v mém případě flashdisk, ale na vašem počítači to může být klidně disk s daty a proto buďte opatrní a dejte pozor jakému disku měníte rozdělení oddílů a co formátujete!

Práce s tabulkou oddílů

fdisk

Program fdisk slouží k manipulaci s oddíly na pevném disku.

Příklad postupu pro rozdělení disku
(vytvoření jednoho velkého oddílů přes celý disk /dev/sdc):

$ fdisk /dev/sdc

Pomocí m zobrazíme nápovědu.
Pomocí d smažeme postupně dosavadní oddíly (pokud nějaké jsou).
Pomocí n vytvoříme nový oddíl.
– Vybereme p, protože chceme vytvořit primární oddíl.
– Číslo diskového oddílů zvolíme 1.
– První a poslední cylindr ponecháme implicitní.
Pomocí w zapíšeme změny na disk a ukončíme program.

Vytvoření filesystému (formát disku)

mkfs

Program mkfs je frontend pro různé systémové programy na tvorbu filesystémů.

Příklad použití pro vytvoření souborového systému FAT na oddílu /dev/sdc1, který jsme si vytvořili výše pomocí fdisku:

$ mkfs -t vfat /dev/sdc1

Pokud chcete při tvorbě zadat nějaká upřesňující nastavení, příkazem “mkfs.pozadovany_file_system” získáte jejich přehled včetně názvu konkrétní aplikace pro tvorbu požadovaného filesystému. Příklad:

$ mkfs.vfat
mkfs.vfat 3.0.3 (18 May 2009)
No device specified!
Usage: mkdosfs [-A] [-c] [-C] [-v] [-I] [-l bad-block-file] [-b backup-boot-sector]
       [-m boot-msg-file] [-n volume-name] [-i volume-id]
       [-s sectors-per-cluster] [-S logical-sector-size] [-f number-of-FATs]
       [-h hidden-sectors] [-F fat-size] [-r root-dir-entries] [-R reserved-sectors]
       /dev/name [blocks]

Jak vidíte, pro tvorbu filesystému FAT používá mkfs program mkdosfs. Pokud tedy chceme disk naformátovat na FAT32 a zároveň mu nastavit i název, tak místo mkfs můžeme rovnou použít mkdosfs. Příklad:

$ mkdosfs -F 32 /dev/sdc1 -n Flashka

Kontrola a oprava filesystému

fsck

Fsck je, podobně jako mkfs, frontend pro různé systémové programy na kontrolu filesystému.
Podrobnější informace o přepínačích pro jednotlivé filesystémy zjistíte pomocí “fsck.jmeno_filesystemu“.

Pro kontrolu oddílu s FAT tak můžete použít:

fsck -t vfat /dev/sdc1
# Díky přepínači "-t vfat" se ve skutečnosti spustí program dosfsck.

3.  Programy pro monitorování “zdraví” pevného disku
pomocí {tooltip}S.M.A.R.T.{end-link}Self-Monitoring, Analysis, and Reporting Technology{end-tooltip}

Smartmontools

Balík dvou programů pro monitorování stavu pevných disků pomocí systému S.M.A.R.T..
První program je “smartd” démon, který běží na pozadí v systému a sbírá data, druhý je “smartctl“, který slouží k ovládání S.M.A.R.T. a monitorování výsledků.

Domovská stránka: http://sourceforge.net/apps/trac/smartmontools/
Licence: GNU GPLv2
Jméno balíčku pro Ubuntu: smartmontools

GSmartControl

Grafické uživatelské rozhraní pro program smartctl z výše uvedeného balíku Smartmontools.
Screenshoty aplikace GSmartControl.

Domovská stránka: http://gsmartcontrol.berlios.de/home/index.php/en/Home
Licence: GNU GPL v2 a v3
Jméno balíčku pro Ubuntu: gsmartcontrol

4.  Záchrana dat z disku

TestDisk

Výborný nástroj na záchranu dat na disku. Umí obnovit ztracené rozdělení oddílů na disku, opětovně nastavit bootovací oddíl, obnovit smazané soubory z FAT, NTFS a ext2 a ještě několik dalších velice užitečných věcí.

Domovská stránka: http://www.cgsecurity.org/wiki/TestDisk
Licence: GNU GPL
Jméno balíčku pro Ubuntu: testdisk

Ddrescue

Nástroj pro obnovu dat. Slouží ke kopírování dat ze jednoho souboru, nebo blokového zařízení do jiného.

Domovská stránka: http://www.gnu.org/software/ddrescue/ddrescue.html
Licence: GNU GPLv3
Jméno balíčku pro Ubuntu: ddrescue

Comments are closed.