Linux bruger som standard et filsystem kaldet ext2 (Extended file system version 2), men kan også læse fra og skrive til mange andre filsystemer, f.eks. FAT-baserede filsystemer, der bruges af DOS og Windows.
Generelt formateres et filsystem under Linux ved at benytte kommandoen mkfs (MaKe File System). Har du en uformateret partition (her /dev/hda5), som du ønsker at formatere, sker formateringen ved at skrive (som root):
[root@linus /root]# mkfs /dev/hda5
Programmet mkfs finder selv ud af, hvilket filsystem du har valgt til den ønskede partition, idet denne oplysning findes i partitionstabellen.
Når din computer går ned (ja, det sker, f.eks. når strømmen går), kan du komme ud for at dine filsystemer er i en fejlbehæftet tilstand. Det kan dog ofte reddes af programmet fsck (File System ChecK). Faktisk køres dette program altid ved opstart for at sikre at alle filsystemer er i en god tilstand.
Vi du køre filtjek manuelt på en ext2-partition, så kan du direkte bruge e2fsck:
[root@linus /root]# /sbin/e2fsck /dev/hda5
Hvis man har en harddisk med defekte blokke på så bliver man nødt til at finde dem og få filsystemet til at gå uden om. I det følgende gives en vejledning i at gøre dette.
Hvis du har en Red Hat-cd-rom, kan du starte maskinen fra den. Det kan kræve en ændring i opsætningen af din BIOS-opsætning, som vi dog ikke vil komme ind på her. Når der kommer en LILO-promt frem skriver du: "linux rescue".
Redningsproceduren (eng. rescue) vil bede om at få sprog og tastatur valgt – eksakt som det gøres ved en egentlig installation. Bare rolig – det er ikke en installation vi starter på. Når redningsproceduren beder om at montere rod-filsystemet under /mnt/sysimage skal der bare svares "no" (nej) hvis man ikke tør mounte harddisken, og "yes" hvis man kører rescue-CD'en for at redde data på harddisken eller fx. vil editere en system-konfigurationsfil, inden man genstarter systemet. Man svarer et eller andet, og derefter får man en kommandofortolker (et kommando-linie prompt. Ingen grafiske user-interface ting her).
Hvis du har en rednings-CD eller et "bootable business card" fra fx. lnx-bbc.org (Linux - Bootable Business Card projektet) som er en CD-ROM i visitkortstørrelse, kan du også boote fra fra den. Når systemet er startet, får du besked om, hvad systemets brugernavn (login-name eller bare login) og password (adgangskode) er. På rescue CD fra http://www.sysresccd.org/ er der faktisk slet ikke nogen adgangskode, man er logget på med det samme.
En rednings-CD (rescue CD) kan give dig en liste over partitioner og filsystemer på den harddisk, som er direkte koblet på systemet:
fdisk -l /dev/hda # hvis det er en IDE eller FAST IDE disk, eller hvis det er SCSI: fdisk -l /dev/sda
Den kommando vil give dig en liste med de tilgængelige filsystemer. Den kan for eksempel se sådan ud:
Device Boot Start End Blocks Id System /dev/hda1 * 1 12 96358+ b Win95 FAT32 /dev/hda2 13 63 409657+ 83 NTFS /dev/hda3 64 127 514080 8e Linux LVM /dev/hda4 128 3722 28876837+ 5 Extended /dev/hda5 179 1198 8193118+ 83 Linux /dev/hda6 3239 3279 329301 82 Linux swap
Nu kan du så mounte disse partitioner og arbejde på dem.
Hvis du er interesseret i at se filerne på et Linux filsystem, så kan du mounte det som ext2, også selv om det er ext3. Forskellen er, at hvis du kører fsck (File System Consistency checK) så er det hurtigere, hvis man har ext3 og en gyldig "journal-file", som ofte ligger udenfor partitionen og oftest heldigvis ikke er beskadiget.
Hvis du kører en rescue-CD, som automatisk mounter dine disk-partitioner for dig (som Knoppix kan gøre) så vil du typisk være interesseret i de filsystemer, der er monterede som /mnt/-et-eller-andet-tal, og som er af typen "ext2". Vi kan foreksempel være interesserede i filsystemet på partitionen /dev/hda2.
Du kan bruge kommandoen mount til at få oplysninger om hvilke filsystemer der er monterede (eng.: mounted):
[root@lnx-bbc ~]# mount /dev/sda2 on / type ext2 (rw) [] none on /proc type proc (rw) /dev/sda3 on /boot type ext2 (rw) [] /dev/vg1/lv_home on /home type ext2 (rw) /dev/vg1/lv_usr on /usr type ext2 (rw) none on /dev/pts type devpts (rw,gid=5,mode=620) /dev/hdb1 on /backup type ext2 (rw) []
Og hvis det ikke giver nok oplysninger, kan du bruge kommandoen fdisk til at spørge til partitioneringen af dine diske. IDE-diske (det typiske i skrivebordsmaskiner) har i Linux navnene /dev/hd-et-eller-andet-bogstav. Et linux-systems anden IDE-disk hedder således /dev/hdb og du kan spørge til dens opdeling med kommandoen:
[root@lnx-bbc ~]# fdisk -l /dev/hdb Disk /dev/hdb: 16 heads, 63 sectors, 59560 cylinders Units = cylinders of 1008 * 512 bytes Device Boot Start End Blocks Id System /dev/hdb1 1 59560 30018208+ 83 Linux
Kør nu kommandoen badblocks -o /tmp/blocks /dev/hda5 hvor hda5 erstattes af den partition man ønsker at tjekke for defekte blokke, og /tmp/blocks er et arbitrært valgt filnavn.
Ældre udgaver af programmet badblocks skal have at vide hvor mange blokke der er på den partition der skal tjekkes. Den oplysning kan man få ved at bede fdisk om en liste med alle partitionerne på den relevante disk. Den disk partitionen /dev/hda2 ligger på hedder /dev/hda (man stryger altså bare nummeret):
[root@lnx-bbc ~]# fdisk -l /dev/hda ... Device Boot Start End Blocks Id System /dev/hda1 1 70 529168+ 82 Linux Swap /dev/hda2 * 71 487 3152520 83 Linux ...Det er tallet 3152520 vi er ude efter. Det føjes til som et sidste argument til badblocks:
[root@lnx-bbc ~]# badblocks -o /tmp/blocks /dev/hda 3152520Derefter kan man læse filen med cat /tmp/blocks for at se om der blev fundet nogle defekte blokke. Hvis der ikke blev fundet nogen, så behøver man ikke at fortsætte.
Hvis der blev fundet defekte blokke skal du dernæst køre kommandoen e2fsck -l /tmp/blocks /dev/hda5. Den indsætter listen over de defekte blokke fra /tmp/blocks i filsystemets liste med defekte blokke. Til sidst taster du "Ctrl-d" for at komme ud af kommandofortolkeren og genstarte maskinen. Husk at tage din cd-rom ud.
Herefter vil maskinen ikke længere prøve at bruge de defekte blokke badblocks fandt på harddisken. Du kan finde en mere information om de kommandoerne med man badblocks og man e2fsck.
Se også http://www.redhat.com/mailing-lists/ext3-users/msg02454.html for mere information om emnet.