1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569
|
<!doctype linuxdoc system>
<linuxdoc>
<!-- LinuxDoc bestand werd aangemaakt met LyX 1.0 (C) 1995-1999 door <jdd> Sat Jan 22 19:56:40 2000
-->
<article>
<titlepag>
<title>
Partitie Rescue mini HOWTO
</title>
<author><name>
Jean-Daniel Dodin, vertaald door Ellen Bokhorst
</name></author>
<date>
jan 22, 2000 - do005722_partition_03
</date>
<abstract>
Wauw ! mijn disk is leeg ! Linux is weg ! Als je vreest
op een dag met een dergelijk of ander probleem te worden geconfronteerd,
lees dit dan...
</abstract>
</titlepag>
<toc>
<sect>
<heading>Wat staat er in</heading>
<p>
Deze mini-HOWTO richt zich alleen tot het "lost partition table" probleem.
Dit kan zo zijn wanneer:
</p>
<p>
<itemize>
<item>
je geen toegang meer hebt tot je computer, met de melding "no operating system",</item>
<item>je een nieuw systeem (bv windows) hebt geïnstallerd) en Linux niet
meer ziet, en windows de gehele capaciteit van de disk in beslag neemt.</item>
</itemize>
</p>
<p>Hier zal je leren dat als je het juiste weet en het toepast, Linux
gewoonlijk veilig uit dergelijke situaties komt. <!--Windows kan het, maar het
heeft meer geluk.-->
</p>
<p>
We zullen eerst bekijken wat je kunt doen <em>voordat</em> het probleem zich
voordoet om een toekomstig herstel te vereenvoudigen en wat je
<em>na</em> het herstel moet doen. Er is weinig aan te doen om het verwijderen
van een disk te voorkomen, meestal gebeurt dit automatisch door windows of
een Linux installatie met niet juist functionerende programma's of fouten
van gebruikers - er kan niets worden gedaan om dit te voorkomen behalve
voorzichtig te zijn, maar dat ben je al, nietwaar?
</p>
<p>
Het kan ook gebeuren door het gebruik van MSDOS/Windows fdisk. Vermijd dit
zoveel je kan, maar waarschijnlijk kun je dat niet.
</p>
<p>
Ik heb dit heel wat keren gedaan, op mijn computer en op die van anderen, en
wist Linux meestal en soms ook windows te herstellen.
Ik wens je geluk!
</p>
</sect>
<sect>
<heading>Wat nu te doen?</heading>
<p>
Als je dit uit nieuwsgierigheid leest of slechts op zoek bent naar informatie
en je bevindt je op een Linux-systeem, doe dan onmiddellijk het volgende:
</p>
<p>
<itemize>
<item>
open een root terminal of xterm,</item>
<item>
typ in "/sbin/fdisk -l" <!-- (dat laatste teken is l voor Lima). --></item>
</itemize>
</p> <p>
je zal worden beloond op een lijst met alle huidige partities op alle disks
die op je computer aanwezig zijn.
</p>
<p>
<itemize>
<item>
Schrijf dit op een stuk papier (of geef op "/sbin/fdisk -l | lpr" om het af
te drukken) en bewaar het voor toekomstig gebruik op een veilige plaats.
</item>
</itemize>
</p>
<p>
Als je geen systeembeheerder bent, zou je je over dit probleem geen zorgen
hoeven maken en kun je ophouden met dit te lezen.
</p>
</sect>
<sect>
<heading>Wettige zaken</heading>
<p>
Deze mini-HOWTO valt onder het Copyright (c) 2000 door Jean-Daniel Dodin.
Alle rechten voorbehouden. Je mag er (bijna) alles mee doen wat je wilt.
Het maakt me niet uit. Zorg er alleen voor dat mijn naam intact blijft.
Ik hoop slechts dat het voor iemand in de Linux-gemeenschap bruikbaar zal zijn.
</p>
<p>
Ik ben niet verantwoordelijk voor enige schade aan computers als
resultaat van het lezen van deze HOWTO.
Als je enige schade veroorzaakt, _is het je EIGEN fout, NIET DE MIJNE!_
Wees voorzichtig bij het partitioneren van disks, en maak geen vergissingen,
omdat het fataal kan zijn! Maak van al je belangrijke gegevens een backup
en controleer dat alles wat je doet juist is! Wat hier wordt beschreven,
werkte op mijn computer, maar het werkt mogelijk wel of niet op jouw computer.
Alhoewel het voor iedereen zou moeten werken, kan ik je niets
garanderen. Dit is de laatste waarschuwing die je krijgt: _MAAK EEN BACKUP
VAN BELANGRIJKE GEGEVENS!_
Of kort gezegd: Gebruik het op eigen risico!
</p>
</sect>
<sect>
<heading>Wat moet ik op 't moment weten?</heading>
<p>
Je <em>moet</em> weten dat je in geval van enig belangrijk probleem met je
harddisk <em>moet</em> stoppen het in 't geheel te gebruiken in
<em>write</em> mode, tenminste de tijd die nodig is om te begrijpen wat er
aan de hand is. De informatie erop is zeer kwetsbaar...
</p>
<p>
Als je ooit op een morgen wakker wordt, je computer aangeeft "can't load,
no system installed", dan <em>moet je niet beginnen met alles opnieuw
te installeren</em>.
</p>
<p>
Als je windows hebt geïnstalleerd, kan ik je niet beloven dat je je
gegevens terug kunt krijgen, maar het is waarschijnlijk dat je al je Linux
spul kunt herstellen, op voorwaarde dat het zich niet te laag in de
diskstructuur bevindt. Dit is omdat een aantal windows virussen al hetgeen
zich op de allereerste diskcylinder bevindt, verwijdert. Ik heb echter nog
nooit met een dergelijk virus geëxperimenteerd en kan het niet met
zekerheid zeggen. Probeer het in ieder geval te herstellen.
</p>
<p>
Je moet ook weten dat ik je al deze informatie alleen verstrek met informatie
als doel. Noch ik noch enige andere mensen behalve jijzelf kunnen
verantwoordelijk worden gesteld voor enig probleem dat er zich met je
gegevens voor kan doen door het gebruik van deze info. Er zijn te veel
verschillende systemen in de wereld voor dat ook maar iemand iets kan beloven.
Ik kan je slechts geluk wensen en hopen, dat je me aardig vindt, blij zult zijn
gegevens te kunnen herstellen.
</p>
</sect>
<sect>
<heading>Disks</heading>
<p>
Een harddisk is opgebouwd uit sectoren genummerd van 0 tot aan het maximum.
</p>
<p>
dmesg geeft bijvoorbeeld:
</p>
<p>
hdb: ST34321A, 4103MB w/128kB Cache, CHS=523/255/63
</p>
<p>
CHS staat voor Cylinders, Heads, Sectoren.
</p>
<p>
523*255*63=8401995 sectoren van 512 bytes, dus de 4103Mbytes. Dit is slechts
een logische indeling, het hoeft niet noodzakelijk hetgeen te zijn wat
(afgezien van de totale grootte) op de ombouw van de disk is geschreven.
</p>
<p>
De werkelijke grootte van de sectoren is voor ons niet interessant, gegeven
dat we niets willen wijzigen, maar een voorgaande staat willen herstellen.
Voor ons is de door fdisk gegeven grootte prima.
</p>
<p>
De grootte gezien door het systeem is direct afhankelijk van het werk van de
BIOS (Basic Input/Output System - de PC's ROM). De mode van de harddisk
aangegeven in de BIOS is essentieel. Het is op een nieuwe disk beter gebruik
te maken van de automatische harddisk herkenning van de BIOS en "yes" te
antwoorden. Hoe dan ook, iedere wijziging op dit niveau kan alle gegevens
van de disk ruïneren, dus speel hier niet zonder belangrijke reden mee.
</p>
<p>
Dit is waarschijnlijk waar je disk gebruik van maakt, dus maak je niet
ongerust.
</p>
</sect>
<sect>
<heading>Partities</heading>
<p>
Disks zijn momenteel groot, 13 Gb is niet zeldzaam, dus het is niet handig
alles in slechts één deel te hebben.
Alleen windows doet dit, en als je Linux gebruikt, kan dit zo zjn omdat
je er niet bewust van bent hoe ineffeciënt het andere is.
</p>
<p>
Dus een harddisk is gewoonlijk in een aantal stukken onderverdeeld die
"partities" worden genoemd (zie de "partitie mini HOWTO" voor details, en
lees ook /usr/doc/package/util/README.fdisk)
</p>
<p>
Laten we eens kijken naar een (deel van) mijn eigen afdruk van fdisk -l :
</p>
<p>
Disk /dev/hdb: 255 heads, 63 sectors, 523 cylinders Units = cylinders of
16065 * 512 bytes
</p>
<p>
Device Boot Start End Blocks Id System
</p>
<p>
/dev/hdb1 1 153 1228941 83 Linux
</p>
<p>
/dev/hdb2 154 166 104422+ 82 Linux swap
</p>
<p>
/dev/hdb3 * 167 291 1004062+ 83 Linux
</p>
<p>
/dev/hdb4 295 523 1839442+ 5 Extended
</p>
<p>
/dev/hdb5 295 422 1028128+ 83 Linux
</p>
<p>
/dev/hdb6 423 523 811251 6 FAT16
</p>
<p>
Dit is mijn tweede harddisk, gebonden aan gissingen en uitprobeersels
(de eerste is te eenvoudig en dus niet interessant).
</p>
<p>
/dev/hdb is mijn tweede ide-disk (slave op de primaire interface),
</p>
<p>
/dev/hdb1 is de eerste primaire partitie, draaiend vanaf het eerste (1) blok
tot blok 153.
</p>
<p>
Er kunnen vier van dergelijke primaire partities zijn. Als iemand er meer dan
4 wil, moet één ervan een "extended" partitie zijn (niet
noodzakelijkerwijs de vierde) en alle andere partities worden "logical"
genoemd en deze bevinden zich <em>binnenin</em> de extended partitie. Merk op
dat partitienummer 5 en partitienummer drie hetzelfde begin hebben.
Nummer vijf is logical, nummer 4 extended. Logische partities beginnen altijd
op 5, zelfs als er geen 4 primaire partities zijn.
</p>
</sect>
<sect>
<heading>Waarom is er een probleem?</heading>
<p>
Het probleem is dat alle geïnstalleerde Besturingssystemen de disks
moeten delen en bij de start kan de bios alleen de eerste scannen, er moet
een zogeheten "partitietabel" zijn aan het allereerste begin van deze disk.
Deze partitietabel is te vinden in de Master Boot Record (MBR) naast de
bootloader.
</p>
<p>
Enig onjuist gebruik van de MBR door één van de OS'sen leidt
tot problemen. Bij het trachten te installeren van enig systeem, een ja
antwoord op een vraag als "automatische partitionering?" zal zeer
waarschijnlijk problemen opleveren... Dit geldt vooral met windows,
vooral bij een aangepaste windows installatie die door speciaal gefabriceerde
PC's worden uitgevoerd.
(wanneer er geen echte "windows" cd is ingesloten).
Maar gebeurt tevens bij nieuwe "slimme" (niet zo slimme!) Linux installatie
programma's die met de meeste recente distributies worden meegegeven.
</p>
</sect>
<sect>
<heading>Oplossen van het probleem</heading>
<p>
Let alsjeblieft op! De hieropvolgende gegeven uitleg zal je terugleiden naar
een vorig systeem, waarbij je alles op je recent geïnstalleerde systeem
verliest, als daar iets op staat!
Je moet kiezen...
</p>
<sect1>
<heading>Het eenvoudiger geval</heading>
<p>
Alles is eenvoudig als je het bij de hand hebt:
</p>
<p>
<itemize>
<item>
een disk (diskette of cd) waarmee het mogelijk is Linux zelf op te laten
starten met fdisk beschikbaar
- met de meeste rescue-disks van enige distributie kan dit,</item>
<item>
een stuk papier met daar de inhoud van fdisk -l op geschreven.</item>
</itemize>
</p> <p>
Het is voldoende
</p>
<p>
<enum>
<item>
Linux te starten,</item>
<item>
fdisk /dev/hda te starten (of welke disk je dan ook wilt herstellen),</item>
<item>
fdisk te gebruiken om (met de optie d) alle bestaande partities op de
beschadigde disk te verwijderen,</item>
<item>
fdisk te gebruiken om alle primaire (1-4) partities op het stukje papier
opgeschreven, aan te maken,</item>
<item>
ze de van toepassing zijnde tag (t optie) te geven: 82 is voor Linux swap,
83 voor Linux main (L geeft je een lijst), 5 is extended en moet worden
gedaan voor het aanmaken van de logische partities,</item>
<item>
het aanmaken van enige logische partities.</item>
</enum>
</p> <p>
fdisk is een klein en zeer slim programma. Er zijn van fdisk diverse
maaksels, maar ik geef altijd de voorkeur aan het allernoodzakelijkste
(ik heb het hier over die van Linux uiteraard, niet de anderen...).
</p>
<p>
Wees je ervan bewust dat fdisk niets naar disk wegschrijft totdat je de
w en return aanslaat.
Voor het geval je vreest een fout te maken, tik de q (quit) in of
Ctrl C (\^{ }C) om veilig te stoppen.
</p>
<p>
Wanneer je nieuwe partitietabel is weggeschreven, start je Linux. De kans
bestaat dat je dat niet zoals gebruikelijk kunt doen: mogelijk is ook lilo
beschadigd en zal je een bootdiskette nodig hebben of vanaf een cd moeten
booten (kies de optie "booting the installed partition").
</p>
<p>
Als je lilo gebruikt om te booten, toets je "lilo" in zodra je als root
bent ingelogd en druk je op de return om je favoriete bootloader te
herinstalleren.
</p>
<p>
Je Linux zou daar helemaal moeten zijn, test het.
Probeer zover van toepassing ook windows te starten.
Als je dit niet kunt, bestaat er een (zeer kleine) kans dat je de gegevens
vanuit Linux kunt lezen, misschien door het lezen van
raw sector per sector. Als je de disksectors waarop je gegevens zich
bevinden niet kunt identificeren, gebruik dan dd om ze naar een bestand
te kopiëren. Dit is alleen verstandig voor tekst.
Dit herstel valt NIET binnen het kader van deze mini-HOWTO.
</p>
</sect1>
<sect1>
<heading>Een niet zo eenvoudige situatie</heading>
<sect2>
<heading>Met de hand</heading>
<p>
Dit is wanneer de voorgaande situatie niet kan worden gebruikt, vanwege
het ontbreken van de uitvoer van fdisk op een stuk papier of
als je een verouderde uitdraai hebt.
</p>
<p>
Houdt als eerste in de gaten dat zolang je niets naar disk wegschrijft, je
je gegevens niet kunt verwijderen (behalve met fdisk), dus kun je het
blok per blok proberen.
Dat wil zeggen dat je het begin van de partitie moet weten. Als, laten we
zeggen een 153 niet werkt, probeer dan een 154, enzovoort.
</p>
<p>
Dit kan vervelend zijn, maar als je bij benadering de grootte van de
Linux-partitie weet, bestaat er een kans op herstel.
</p>
</sect2>
<sect2>
<heading>gpart</heading>
<p>
Maar er is een betere manier als je het net nog steeds kunt benaderen of
als je "gpart" bij de hand hebt.
</p>
<p>
"gpart - raadt naar PC-type harddiskpartities" geeft de eerste regel van de
manpage van gpart (man gpart) aan.
</p>
<p>
"gpart probeert te gissen welke partities op een harddisk voorkomen. Als de
primaire partitietabel verloren is gegaan, is overschreven of geruïneerd
komen de partities nog steeds op de disk voor, maar kan het besturingssysteem
ze niet benaderen." Dit is precies wat we nodig hebben.
</p>
<p>
gpart is nog steeds in beta, maar het is reeds een zeer goede tool.
</p>
<p>
Het probleem is als volgt: het eerste blok van iedere partitie is gemarkeerd.
Maar als het niet is overschreven wordt het nooit "gedemarkeerd". Dus op een
oude disk komen veel
"eerste partitieblokken" voor en gpart probeert naar beste kunnen te gissen
welke de goede is. In feite is het niet zo moeilijk uit te proberen, er wordt
door gpart niets naar disk weggeschreven.
</p>
<p>
Hier is het resultaat van gpart over de voorheen bekeken disk hdb:
</p>
<p>
root@charles:/home/jdd > gpart /dev/hdb
</p>
<p>
Begin scan...
</p>
<p>
Possible partition(Linux ext2), size(1200Mb), offset(0Mb)
</p>
<p>
Possible partition(Windows NTFS), size(1200Mb), offset(1200Mb)
</p>
<p>
Possible partition(Linux ext2), size(1004Mb), offset(2402Mb)
</p>
<p>
Possible partition(Windows NTFS), size(1600Mb), offset(4102Mb)
</p>
<p>
End scan.
</p>
<p>
Checking partitions...
</p>
<p>
* Warning: partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX) ends beyond
disk end .
</p>
<p>
Partition(Linux ext2 filesystem): primary
</p>
<p>
Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): primary
</p>
<p>
Partition(Linux ext2 filesystem): primary
</p>
<p>
Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): invalid primary
</p>
<p>
Ok.
</p>
<p>
Guessed primary partition table:
</p>
<p>
Primary partition(1)
</p>
<p>
type: 131(0x83)(Linux ext2 filesystem)
</p>
<p>
size: 1200mb #s(2457880) s(63-2457942)
</p>
<p>
chs: (0/1/1)-(152/254/61)d (0/1/1)-(152/254/61)r
</p>
<p>
Primary partition(2)
</p>
<p>
type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
</p>
<p>
size: 1200mb #s(2457880) s(2457944-4915823)
</p>
<p>
chs: (152/254/63)-(305/253/60)d (152/254/63)-(305/253/60)r
</p>
<p>
Primary partition(3)
</p>
<p>
type: 131(0x83)(Linux ext2 filesystem)
</p>
<p>
size: 1004mb #s(2056256) s(4919781-6976036)
</p>
<p>
chs: (306/61/49)-(434/60/47)d (306/61/49)-(434/60/47)r
</p>
<p>
Primary partition(4)
</p>
<p>
type: 000(0x00)(unused) size: 0mb #s(0) s(0-0) chs: (0/0/0)-(0/0/0)d
(0/0/0)-(0/0/0)r
</p>
<p>
Zoals je kunt zien, kunnen primaire partities worden hersteld, maar
extended partities niet<!-- for extende ones it's still to be done.-->.
</p>
<p>
Dos partities zijn gelabeld met "windows NTFS" omdat ze werden aangemaakt
tijdens een poging Windows 2000 te installeren
(een zeer vervelende ervaring !). De "invalid" partitie is in feite de
extended partitie.
</p>
<p>
Hiermee kan men met fdisk proberen de partitietabel opnieuw aan
te maken (denk eraan dat dit zonder risico is aangezien het origineel reeds
verloren is gegaan).
</p>
</sect2>
</sect1>
<sect1>
<heading>Het betere geval</heading>
<p>
Partition Magic is een commercieel product, niet zo goedkoop gezien het
weinige dat men ermee kan
(in Frankrijk bij benadering honderd dollar), maar met een zeer hoge
reputatie. Ik gebruik het echter nooit en zal er geen
waarde aan toekennen. Er wordt van gezegd dat het met partities alles kan
doen, inclusief het herstellen ervan. Het is echter een windows-tool, en ik
weet niet of er een dos-variant van is. Als men voor het gebruik van
Partition magic, windows moet installeren, is de belangstelling er niet
groot voor.
</p>
<p>
De oorspronkelijke partition-rescue mini HOWTO van Ralf was in belangrijke
mate gebaseerd op het gebruik van Partition Magic, dus veronderstel dat het
een zeer goede oplossing is als je waardevolle gegevens op je Linux-partitie
hebt en niet veel Linux-capaciteiten. Er zijn nu echter zeer recente
maaksels van Partition Magic en ik denk dat het beter is als je
de handleiding leest.
</p>
</sect1>
</sect>
<sect>
<heading>Auteurs</heading>
<p>
De auteur van deze HOWTO is Jean-Daniel Dodin.
Ik ben te bereiken via jdanield@free.fr
of via jdanield@linux-france.org of jdanield@club-internet.fr.
</p>
<p>
Mijn website is nu (januari 20, 2000) te vinden op
http://perso.club-internet.fr/jdanield,
maar mogelijk is het spoedig te vinden op jdanield.free.fr of enig
persoonlijk adres gegeven door www.free.fr IAP. Linux pages, die voor jou
van het meeste belang zijn, zijn te vinden op www.linux-france.fr/article/jdanield.
</p>
<p>
Ik wil Rolf Klausen (E-mail: rolfk@romsdal.vgs.no http://www2.romsdal.vgs.no/˜rolfk/) bedanken wie de vorige partition-rescue mini HOWTO schreef, zelfs
al herschreef ik het bijna volledig, hij had als eerste het goede idee.
</p>
<p>
Ieder ander lid van de Linux-gemeenschap en iedereen die Linux ondersteunt
en documentatie en programma's voor Linux schrijft en alle auteurs van de
LDP en praktisch iedereen die ook maar betrokken is in alles dat met Linux
heeft te maken.
In het bijzonder Linus B. Thorvalds - hij is _The King_ !!!
</p>
<p>
Ik wil ook Michail Brzitwa <mb@ichabod.han.de> bedanken; voor het
schrijven van gpart !
</p>
</sect>
<sect>
<heading>Meest recente versie</heading>
<p>
De meest recente versie van deze mini-HOWTO is te vinden op mijn
Linux website op www.linux-france/article/jdanield/.
</p>
</sect>
</article>
</linuxdoc>
|