Filsystemer og gjennoppretning av data Uten et filsystem blir det vanskelig å bruke en harddisk fornuftig, og uten BOOT sektorer kan ikke et OS hverken lese eller boote fra disken. BOOT sektorer er den viktigeste strukturen på en harddisk. Vi har to hovedtyper: Master boot sector (MBR) Volume boot sector (VBR) MBR: Partisjonering av harddisker ble først introdusert for PC OS med DOS 2.0 i 1983, og var orginalt ment for å kunne ha flere OS på samme disk. MBR er alltid lokalisert på den første fysiske sektoren på disken (cylinder 0, head 0, sector 1) og inneholder viktig informasjon om de forskjellige partisjonene på disken: Bootstrap code, instruksjoner for å lokalisere og laste VBR fra den aktive partisjonen. Master partition table, en tabell med fire 16-byte poster for opptil fire partisjoner. Hver post forteller om hvilken type partisjonen er, om den er aktiv, hvor den er fysisk på disken og hvor mange sektorer den bruker. Signature bytes, en to-byte signatur (55AAh) som brukes for å validere sektoren. For en full beskrivelse av MBRs format se tabell 25.1 i læreboka. De fleste OS støtter opptil 24 partisjoner på en harddisk, men MBR kan kun holde data om fire partisjoner, dvs fire primære partisjoner. Ved å bytte ut en primær partisjon med en utvidet partisjon kan det lages logiske partisjoner inne i diskområdet til den utvidete. Kun den utvidete partisjonen blir beskrevet i MBR. På den første sektoren i den utvidete partisjonen ligger det en utvidet partisjonstabell som linker til de logiske partisjonene og tilbake til MBR. Hvis posten om den utvidede partisjonen i MBR blir skadet eller forsvinner vil alle logiske partisjoner innenfor den utvidede bli, essensielt, borte.
VBR: Hver partisjon (også kalt volum) har en volume boot record. VBR inneholder f.eks. informasjon om hvordan OSet skal startes og annen info til f.eks. BIOS: Jump instruction to boot code, 3-byte Intel x86 instruksjoner for å gå til starten av OSets bootstrap kode innenfor sektoren. BIOS parameter block, spesifik informasjon om volumet (partisjonen) inkludert størrelse, antall sektorer volumet bruker, cluster størrelsen og volum navn. Brukes av filsystem driveren og varierer etter filsystem type. Boot code, instruksjoner for å finne og kjøre OSets kjerne eller systemfiler. Signature bytes, en to-byte signatur (55AAh) som brukes for å validere sektoren. For full beskrivelse av VBR se tabellene 25.4 til 25.8 i læreboka. VBR er lokalisert på den første sektoren til partisjonen. Alle primære og logiske partisjoner på en disk har hver sin VBR. En utvided partisjon har altså ikke VBR, kun den utvidede partisjonstabellen nevnt over. Floppydisker og andre flyttbare media (f.eks. ZIP disker) har også VBR. De er da lokalisert på første sektor av volumet da disse ikke trenger partisjonering. Clusters: Et filsystem lagrer data på disken i clusters, også kalt allocation units. En cluster er den minste delen av en disk et OS kan behandle når den skriver eller leser en fil på harddisken. Et cluster er byggd opp av en eller flere 512-byte sektorer, vanligvis flere enn én. Størrelsen på clustere har en direkte påvirkning på ytelsen til et system. Flere sektorer i et cluster gjør at OSet behandler færre deler på disken, færre intruksjoner som skal utføres og dermed bedre ytelse. Men ytelsen kommer på bekostning av lagringsplass. Få filer er like store som et cluster og et cluster vil skjelden bli fylt. Diskplassen mellom slutten av en fil og slutten av et cluster vil stå ubrukt. Denne ubrukte diskplassen kalles slack. Nyere filsystemer kan bruke mindre clustere på større partisjoner slik at mengden slack ikke blir for stor.
FAT: For de fleste Windows OS er de mest brukte filsystemene basert på en file allocation table eller FAT, som har oversikt over data lagret i clustere på disken. FAT er universelt det best støttede filsystemet, så alle PC OS og mange andre OS forstår FAT. Derfor er FAT mye brukt i eksterne harddisker og andre flyttbare media. Det er tre hovedtyper av FAT hvor forskjellen er hvor mange bit som brukes i tabellen: FAT12, brukes på volum mindre enn 16 MiB, f.eks. floppydisker. FAT16, brukes på volum opp til 2 GiB av MS-DOS 3.0 og de fleste Windows versjonene. WinNT. Win2K og WinXP kan bruke FAT16 volum på opptil 4 GiB. FAT32, kan brukes på volum fra 512 MiB til 2 GiB og er nødvendig for FAT volum over 2GiB. MS-DOS og Windows systemer brukte orginalt FAT12 og FAT16 og disse er støttet av alle andre PC OS. Det er et tillegg til FAT systemer kalt VFAT som ble introdusert med Win95. VFAT er en driver som tillater lange filnavn og er automatisk aktiv på alle Windows OS fra og med Win95. FAT12: Lansert i 1981 og det første filsystemet brukt i en PC, og blir fortsatt brukt i dag på floppydisker og FAT volum mindre enn 16 MiB. FAT12 bruker en tabell med 12 bits nummere for å administrere clustere på disken. Et FAT12 cluster er typisk 8 sektorer, untatt for floppydisker hvor clusterstørrelse er avhenging av floppy type. FAT12 partisjoner har en sektor for boot record og BPB (BIOS parameter block), to kopier av FAT på opptil 12 sektorer hver, opptil 32 sektorer for root directory, og et opptil 4084 cluster stort data område. For oversikt over cluster størrelser og max volum størrelse se tabellene 25.9 og 25.10 i læreboka. FAT16: Arvtakeren til FAT12 ble introdusert med MS-DOS 3.0 i 1984 og ble brukt på partisjoner større enn 32729 sektorer. FAT16 har teoretisk støtte for partisjoner opptil 2 GiB og 4 GiB, men MS- DOS 3.3 og tidligere versjoner var begrenset til en max partisjonsstørrelse på 32 MiB fordi disse OS brukte 16 bits sektor adressering intern noe som begrenset partisjonsstørrelsen til 65535 sektorer a 512 bytes, altså 32 MiB. MS-DOS 3.31, sluppet i 1987, hadde 32 bits intern sektor adressering og FAT16 kunne da benyttes på partisjoner opptil 2 GiB med cluster størrelse på 64 sektorer. FAT16 partisjoner har en sektor for boot record og BPB (BIOS parameter block), to kopier av FAT på opptil 256 sektorer hver, opptil 32 sektorer for root directory, og et opptil 65524 cluster stort data område. For oversikt over cluster størrelser og max volum størrelse se tabellene 25.11 og 25.12 i læreboka.
VFAT: For Win95 var støtten i OSet for FAT filsystemet reprogrammert i 32 bits kode og kalt virtual file allocation table (VFAT). VFAT ga bedre ytelse fra filsystemet samt støtte for lange filnavn. Et problem med støtten for lange filnavn var bakoverkompabilitet med det gamle filnavnformatet i bruk av MS-DOS og Win3.1; det gamle 8.3 formatet (eks: filenavn.txt). VFAT løser problemet ved å gi hver fil to filnavn: et langt og et alias navn i 8.3 format. 1. De tre første tegnene etter siste punktum i filnavnet blir utvidelsen i alias navnet (.mpeg ->.mge ) 2. De seks første tengene i filnavnet, whitespace eksludert, konverteres til store bokstaver og blir de seks første i alias navnet ( en film snutt.mpeg -> ENFILM.mpe ) 3. Tegn syv og åtte i alias navnet blir ~1. I tilfellet navnkonflikt inkrementeres tallet. ( en film snutt.mpeg -> ENFILM~1.mpe ) VFAT lagrer 8.3 navnet i standard navn feltet for filens directory post i FAT slik at 16 bit MS-DOS og Windows kan bruke fila via alias navnet. Det lange filnavnet blir lagret i ekstra directory poster som ikke kan leses av tidligere MS-DOS versjoner ved å flagge dem med attributter ikke mulige for en vanlig 8.3 fil. FAT32: En videreutvikling av FAT16 som bruker flere bit for å administrere clustere. Til forskjell fra VFAT som er en selvstendig utvidelse av eksisterende filsystem, er FAT32 en forbedring av selve FAT systemet. Først støttet av Win95B (Windows 95 OEM Service Release 2), og også en del av Win98, WinME, Win2K og WinXP. FAT32 er mer diskplass effektiv enn FAT16 siden FAT32 kan bruke mindre clustere for større partisjoner (16 sektorer per cluster for partisjoner opptil 16 GiB). Resultatet er en mellom 10% til 15% bedre utnyttelse av diskplassen for store partisjoner enn FAT16. I tillegg støtter FAT32 partisjoner opptil 2 TiB. Navnet FAT32 impliserer at filsystemet bruker 32 bit nummer for cluster administrasjon, noe som er feil. Kun de første 28 bit er i bruk. De resterende 4 bit er reservert, satt høye, og blir kun forandret hvis partisjonen blir formatert. Microsoft har aldri indikert noen hensikt med disse fire bitene. FAT32 reserverer de første 32 sektorene for boot record ( både standard og backup), dernest 2 FAT på mellom 512 til 2097152 sektorer og dataområdet på 65525-268435445 clusters. Teoretiskt sett kan en FAT32 partisjon være på opptil 8TiB, men fordi MBR bruker 32 bits nummerering begrenser MBR FAT32 partisjoner til 2TiB. For oversikt over cluster størrelser og max volum størrelse se tabellene 25.13 og 25.14 i læreboka. om FAT: For å forstå grunnprinsippet for hvordan FAT er byggd opp kan en tenke på FAT som et regneark der hver celle representerer hver cluster på disken. Hver celle inneholder et 12, 16 eller 32 bits
hexadesimaltall, avhengig av FAT type, som indikerer cluster status eller linker til neste cluster i FAT kjeden. For FAT16 er mulige verdier mellom 0000h og FFFFh Hvis et cluster ikke er i bruk er clusterets verdi i FAT 0. Et skadet cluster får verdien FFF7h og verdiene FFF8h og FFFFh indikerer at clusteret innholder slutten på en fil og ikke trenger å referere til et annet cluster. Et directory inneholder informasjon om filene lagret på en FAT partisjon. Hver post i directory er 32 byte lang og inneholder all informasjon OSet vet om en fil, inkludert følgende: Filename and extension, åtte tegns navn og tre tegns utvidelse/type. Punktumet mellom navn og utvidelse er ikke inkludert, kun implisert. File attribute byte, standard DOS fil attributter, se tabell 25.21 Date/time of last change, når fila ble lagd eller sist forandret. File size, filas størrelse i bytes. Link to start cluster, nummeret til clusteret som inneholder første filfragment. Det er to basis typer av directory: root og subdirectory. En gitt partisjon kan kun ha et root directory og det er alltid lagret direkte etter de to kopiene av FAT. Untaket er FAT32 som har muligheter for å lagre root directory hvor som helst på disken. FAT filsystem feil. Feil i filsystemet oppstår som regel som følge av programvare kræsj og uforsvarlig system behandling. Å skru av et system uten å stenge Windows skikkelig kan resultere i at clustere blir feilaktig merket i bruk.
Vanlige feil med et FAT filsystem: Lust clusters, clustere som er feilaktig merket som i bruk. Forekommer ofte når filsystem prosesser blir avbrutt grunnet kræsj eller system shutdown. Cross-linked files, når to directory poster refererer til samme cluster i link to start cluster feltet. Resultatet er at hver fil bruker samme FAT kjede. Clustere kan kun holde info om en fil av gangen, så å jobbe med en av filene kan overskrive den andre fila. Invalid files or directories, når data i en directory post for en fil eller subdirectory er så skadet at det er ugjyldig. FAT error, FAT har flere større feil, som lust clusters og uoverenstemmelser i fil størrelsen mellom FAT og filens directory. Som regel resultatet av en stor hendelse. NTFS: New Technology File System (NTFS) ble introdusert med WinNT 3.1 i 1993 og er unik for NT-baserte OS. NTFS er standard filsystem for WinNT, Win2K og WinXP, og har mange forbedringer over FAT; lange filnavn, støtte for større filer og partisjoner, utvidede attributter og bedre sikkerhet. NTFS ble designet fra grunnen opp uten tanke på bakoverkompabilitet siden WinNt skulle bli en helt ny 32 bits plattform. Kun Windows versjonene NT, 2000 og XP kan lese NTFS partisjoner. NTFS bruker altså ikke FAT, men en spesiell filstruktur kallt Master file table (MFT) i samarbeid med metadata filer. MFT er essensielt en relasjonsdatabase byggd opp av rader med fil poster og kolonner med fil attributter og hver fil lagret på NTFS partisjonen har minst en post i MFT. MFT inneholder en mye mer detaljert informasjon om filer og directories enn FAT, det er en omfattende utvidelse av FAT prinsippet og i visse tilfeller inneholder MFT faktiskt selve fila og directoriet. Første post i MFT er descriptor som inneholder info om selve MFT. Andre post er et speil av descriptor for sikkerhet i tilfellet descriptor blir skadet. Tredje post er en log over alle NTFS operasjoner som kan brukes for å gjenopprette disken hvis diskproblemer. Resten av MTF inneholder poster for filene og directoriene lagret på partisjonen. NTFS filer er som objekter som har både bruker og system attributter, mer omfattende enn de enkle flaggene brukt på FAT. Informasjon om filene, og til og med filens data, blir lagret som attributter til fila, og attributtene til en NTFS fil er del av selve fila, ulikt en FAT fil hvor attributtene er lagret separat i directory post.
MFT er altså mye mer enn en cluster liste, som i FAT, MFT er faktiskt partisjonens primære lagrings struktur. Hvis en fil eller directory er relativt liten ( mindre enn ca 1500 bytes ) vil fila/directoriet bli lagret direkte i selve MFT. For større mengder data inneholder MFT pekere til clustere utenfor MFT på partisjonen. Microsoft designet NTFS for å kunne administrere clustere med 64 bit nummer, men gjeldene implementasjon tar kun i bruk 32 bits tall for adressering av clusters. NTFS reserverer 16 sektorer på starten av partisjonen for standard boor sektor og 16 sektorer for backup boot sektor lokalisert midt på partisjonen, for NT 3.51 og tidligere, eller på enden av partisjonen, for NT 4.0 og senere, inkludert Win2K og WinXP. Win2K kom med en ny variant av NTFS kallt NTFS 5 eller NTFS 2000. NTFS 5 er en oppdatering av NTFS med flere nye egenskaper utnyttet av Win2K og WinXP, noen er også et krav fra OSet: Disk quotas, sysadmin kan begrense mengde diskplass en bruker kan utnytte. Encryption, NTFS 5 kan automatisk kryptere/dekryptere filer når de blir lest/skrevet til disk. Reparse points, muliggjør for programmer å fange opp lese operasjoner mot objekter i filsystemer og kjøre egen kode før returnering av fil data. Sparse files, programmer kan lage store filer som plassholdere som bare bruker diskplass når data blir lagt til filene. Update Sequence Number (USN) Journal, en log over forandringer gjort til en fil på partisjonen. Mounted drives, eksterne partisjoner kan kobles til et directory på en NTFS fil. Win2K/WinXP er designet for nettverksbruk og OS som ikke kan lese NTFS partisjoner internt kan få tilgang til data lagret på disse over nettverket. Derfor støtter NTFS det gamle 8.3 filnavn formatet.
Filsystem verktøy: I tilfellet disk kræsj, virus som angriper diskdata og andre problemer som skader disken har Microsoft programmert diskverktøy som er lagt til sine OS. RECOVER er et gammelt MS-DOS verktøy for å markere skadede clustere på en FAT partisjon. Hvis det er sektorer på disken som ikke kan leses av et program vil RECOVER kommandoen markere FAT slik at ingen andre program forsøker å bruke de skadede områdene. RECOVER har ikke blitt inkludert i MS-DOS siden versjon 5 og er blir erstattet av SCANDISK i Win9x/WinME. WinNT, Win2K og WinXP kommer med en forbedret versjon av RECOVER som kan gjenopprette data fra en gitt skadet fil på FAT og NTFS partisjoner. Nye RECOVER må kjøres fra kommandolinja og bør kun brukes på spesifiserte filer, bruk altså ikke wildcards ved bruk av RECOVER. SCANDISK ble introdusert med MS-DOS 6 og følger med alle senere MS-DOS versjoner såvel som Win9x/WinME. SCANDISK verifiserer både fil struktur og disk sektor integritet og kan reparere eventuelle feil i directories og FAT. Ved sektorfeil midt i en fil vil SCANDISK merke clusterene, som eier sektorene, som skadet og forsøke å lese fildata ved å "gå rundt" de skadede områdene. Win9x inkluderer både MS-Dos og Windows versjoner av SCANDISK. Windows skjekker automatisk diskene ved oppstart og vil starte MS-DOS SCANDISK hvis OSet ikke har blitt avsluttet skikkelig. MS-DOS og Windows versjonene av SCANDISK behandler FAT partisjoner forskjellig: MS-DOS versjonen skanner og reparerer om nødvendig den primære FAT kopien, og etter reperasjon kopieres reparert FAT til backup. Windows versjonen skanner begge kopier av FAT og bruker data fra kopien den anser som riktig og rekonstruerer primær FAT med den beste dataen fra begge. SCANDISK er et godt verktøy, men det anbefalles å bruke tredjeparts programvare for større disk problemer.
CHKDSK er SCANDISKs like i NTFS baserte Windows OS. WinNTs versjon av CHKDSK har basis egenskaper for skjekk etter filsystem feil og korrupte sektorer, men ingen innebyggde feilrettings verktøy. Win2K og WinXP har fått reperasjons muligheter programmert inn, som kan kjøres både i GUI og fra kommandolinja, men CHKDSK kan ikke fikse filsystem feil mens Windows er operativt. Isteden for vil CHKDSK bli planlagt til å kjøres under neste system boot. NTFS filsystemet har i tillegg egne innebyggde automatiske disk reperasjons muligheter: Transaction management, NTFS kan rulle tilbake enhver disk operasjon som ikke har blitt avsluttet riktig. Forhindrer lost clusters på en NTFS partisjon. Cluster remapping, ved oppdagelsen av en eller flere korrupte sektorer vil data i det clusteret flyttes(remap) til et annet cluster. Disk Defragmentasjon: En forutsetning for FAT filsystemer er at data skal kunne lagres i clustere lokalisert hvor som helst på partisjonen, for å muliggjøre lagring av filer av en nesten hvilken som helst størrelse til enhver tid. For å finne alle clustere som holder en gitt fil kan disken bli tvunget til å aksessere mange lokasjoner på diskoverflaten, noe som medfører mye ekstra arbeid i å flytte lesehodene. En fil som har alle sine clustere etter hverandre er raskere å lese enn en fil som har sine clustere spredt over disk overflaten. En fil som har clustere spredt slik er fragmentert og alle filer vil bli mer eller mindre fragmentert over tid. Microsoft har lagd Disk Defragmenter for å rette opp disk fragmentasjon. Programmet leser hver fil på partisjonen for å finne hvordan deres clustere er organisert og vil deretter skrive filene slik at det blir lagret i clustere som følger hverandre fysiskt på diskoverflaten. Tabell 25.29 og 25.30 i læreboka viser hvordan defragmentasjon fungerer.
Gjenopprettning av data: Den enkleste måten å gjenopprette data på i Windows OS siden Win95 er å hente en fil tilbake fra søppelbøtta( recycle bin ). Windows reserverer 10% diskplass til søpplebøtta, men søppelbøtta blir full vil de eldste filene bli overskrevet. En fil slettet i Win95 og nyere blir sent til søppelbøtta og beskyttet fra overskrivelse. En fil å søppelbøtta kan gjenopprettes ved å åpne søppelbøtta, markere fila og velge restore. Filer slettet fra kommandolinja blir ikke sendt til søppelbøtta. Filer som ikke er i søppelbøtta. Hvis fila du utilsiktet slettet ikke er i søppelbøtta må du bruke tredjepartsprogramvare som å gjenopprette mistet data. Norton UnErase og Protected Recycle Bin inngår i Norton Utilities programvarepakken og er gode verktøy for å gjenopprette slettede filer i Windows. Norton Protected Recycle Bin overskriver ikke eldre filer med nyere versjoner. Norton UnErase gjør data gjenoppretning på FAT filsystemer lett med sin innebyggde wizard. Den muliggjør søk etter nylig slettede filer og andre gjenopprettbare filer på disken. Du kan også spesifisere filtype og hvilke disker å søke på. UnErase kan søke i alle typer media under Win9x/ME, mens under Win2K/XP kun i harddisker. Alternativer til Norton UnErase er f.eks: VCOM System Suite Norton Disk Editor (er ikke et automatiskt søke verktøy, men kan like fullt brukes til å gjenopprette tapt data på alle typer media) For gjenoppretning av data på NTFS partisjoner må NTFS spesifike verktøy benyttes, grunnet NTFS komplekse struktur. Eksempler på programvare: Norton Utilities eller SystemWorks som er NTFS kompatible, som f.eks. 2002 versjonene eller senere. Active Undelete, en serie produkter som også fungerer med flash minnebrikker. Informasjon og gratis demo på http://www.active-undelete.com Restorer 2000, tilgjengelig i FAT, NTFS og profesjonell versjon. Informasjon og gratis demo på http://www.bitmart.net/r2k.shtml Ontrack EasyRecovery, informasjon og gratis demo på http://www.ontrack.com Gjenoppretting av data fra partisjonerte og formaterte disker: Hvis harddisk, floppy eller flyttbar media har blitt formatert er FAT overskrevet og tapt, et stort problem for program som Norton UnErase og VCOM System Suite som bruker FAT til å lokalisere tapt data. For å gjenopprette data fra en disk som har blitt formatert
er det to muligheter: Bruk et program for å reversere (unformat) disken Bruk et program som ignorerer ny FAT og leser disk sektorer direkte for å finne data Norton Unformat kan kjøres fra cdrom for å reversere en itilsiktet disk formatering, men den har begrensninger: Støtter ikke NTFS Søtter ikke flyttbare media, altså media som trenger driver for å brukes Fungerer best hvis tilgang til sikkerhetskopiert FAT En bedre løsning er derfor Norton Disk Editor. Norton Disk Editor er et manuelt program for direkte manipulering av disk sektorer. Det er inkludert i Norton SystemWoks, standard og profesjonell, og Norton Utilities. Det er et kommandolinje program primært designet for FAT baserte filsystemer, men fungerer også på NTFS dog da kun i fysisk sektor modus. Det er høyst anbefaldt å først bruke Disk Editor på floppy disker med ikke kritiske filer før bruk på en harddisk eller vitale filer. Siden Disk Editor er et fullstendig manuelt verktøy er mulighetene for brukerfeil stor.
Vanlige feilmelinger: Missing Operation System, vanligvis et problem med MBR eller partisjonstabellen. Kan også være ugyldige BIOS innstillinger eller at ingen partisjon er merket aktiv i partisjonstabellen. Sjekk BIOS innstillingene eller bruk et verktøy for å gjenopprette MBR. NO ROM BASIC - SYSTEM HALTED, feil gitt av AMI type BIOS hvis boot sektor eller MBR er skadet eller mangler. Gale BIOS innstillinger er også en mulighet. Boot Error Press F1 to Retry, feil gitt av Phoenix type BIOS hvis disk mangler MBR, boot sektor eller det er et problem med å aksessere disken. En vanlig grunn til feilmelingen er at ingen partisjoner er merket aktiv. Invalid Drive Specification, oppstår når en forsøker å logge inn på en disk som ikke er partisjonert eller har skadet eller ugyldig partisjonstabell. Invalid Media Type, indikerer at partisjonstabellen er gyldig, men boot sektor, MBR eller FAT er korrupt, skadet eller fraværende. En vanlig feil fra en disk som er partisjonert, men ikke formatert. Hard Disk Controller Failure, harddisk kontrolleren er ikke satt opp riktig i BIOS, har ikke kontakt med harddisker eller har rett og slett krasjet. Sjekk hardware og BIOS innstillinger.