Last Updated on 25/10/2023 by administrator
Opravení chybných sektorů Linux (Fix Bad Sectors in Linux)
Opravení chybných sektorů – Linux
Motivace:
Článek popisuje, jak provést opravení chybných sektorů v Linuxu, pokud je použitý souborový systém (file system) typu ext2, ext3, nebo ext4.
Je důležité mít na paměti, že provádění oprav na souborovém systému může být riskantní, a proto je vždy dobré mít zálohu dat, než se snažíte opravit potenciálně poškozený souborový systém.
Řešení:
1. Stáhnout Nabootovat Ubuntu ISO na flash disk. Pro vytvoření bootovací USB flashky je možné použít článek – Macrium Reflect – Vytvoření bootovacího flash disku (USB boot), nebo využít programu UNetbootin.
2. Bootovat flash disk při startu PC.
3. Otevřít terminál a spustit příkaz sudo fdisk -l, který najde příslušný HDD a jméno oddílu (partition). Parametr „l“ provede List the partition tables, což vypíše tabulky oddílu:
sudo fdisk -l
Příkaz níže spustí aplikaci e2fsck pro opravu chybných sektorů. Nahradit sda1 názvem zařízení oddílu (partition), což lze vidět na výstupu sudo fdisk -l příkazu:
sudo e2fsck -cfpv /dev/sda1
Legenda:
- c – vyhledá špatné bloky a označí je jako poškozené, takže se nebudou používat do budoucna
- f – vynucuje kontrolu souborů
- p – opravuje vše co lze bezpečně opravit
- v – je ukecanost příkazu
Pozn. Když se hovoří o označení vadných bloků na pevném disku, není to fyzická oprava bloků na samotném disku. Označení vadných bloků znamená, že souborový systém označí určité sektory na disku jako poškozené a nepoužitelné pro další zápisy. To zabrání používání těchto vadných bloků a minimalizuje riziko ztráty dat.
Průběh opravení chybných sektorů:
mint@mint:~$ sudo fdisk -l Disk /dev/loop0: 1.8 GiB, 1918455808 bytes, 3746984 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/sda: 149.1 GiB, 160041885696 bytes, 312581808 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x000083f8 Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 310505471 310503424 148.1G 83 Linux /dev/sda2 310507518 312580095 2072578 1012M 5 Extended /dev/sda5 310507520 312580095 2072576 1012M 82 Linux swap / Solaris Disk /dev/sdb: 14.5 GiB, 15606349824 bytes, 30481152 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xc3072e18 Device Boot Start End Sectors Size Id Type /dev/sdb1 * 8064 30481151 30473088 14.5G c W95 FAT32 (LBA) mint@mint:~$ sudo e2fsck -cfpv /dev/sda1 /dev/sda1: Updating bad block inode. 180204 inodes used (1.86%, out of 9707520) 141 non-contiguous files (0.1%) 248 non-contiguous directories (0.1%) # of inodes with ind/dind/tind blocks: 0/0/0 Extent depth histogram: 152404/58 3649847 blocks used (9.40%, out of 38812928) 0 bad blocks 3 large files 130270 regular files 20770 directories 57 character device files 25 block device files 0 fifos 24 links 29072 symbolic links (27651 fast symbolic links) 1 socket ------------ 180219 files
Zdroj:
[1] https://www.amolak.net/fix-hard-disk-bad-sectors-in-linux/