Verder Terug Inhoud

6. Erg Grote Disks Benaderen Terwijl het BIOS dat Niet Kan

Het systeem op kantoor heeft een 1GB IDE disk. Het BIOS kan alleen de eerste 504 MB van de IDE disk zien. (Waar MB 2**10 bytes betekent, niet 10**6 bytes.) Ik heb MS-DOS op een 350 MB partitie /dev/hda1 en mijn Linux root op een 120 MB partitie /dev/hda2.

MS-DOS kon zichzelf niet goed installeren toen de disk nieuw was. Novell DOS 7 had hetzelfde probleem. Gelukkig was "Options by IBM" vergeten om de "OnTrack" diskette in de doos van de disk te doen. De disk had vergezeld moeten zijn van een produkt genaamd "OnTrack Disk Manager." Als je enkel MSDOS hebt, moet je het denk ik gebruiken.

Ik maakte dus een partitie tabel met Linux' fdisk. MSDOS-6.2 weigerde zich te installeren in /dev/hda1. Het zei iets als ``deze uitgave van MS-DOS is voor nieuwe installaties. Je computer heeft al MS-DOS dus je hebt een upgrade uitgave van je verkoper nodig.'' In feite was de disk gloednieuw.

Wat een zootje! Ik draaide Linux' fdisk opnieuw en verwijderde partitie 1 van de tabel. Dit stelde MS-DOS 6.2 tevreden die doorging met het zelf aanmaken van exact dezelfde partitie 1 die ik zojuist zelf verwijderd had. MS-DOS 6.2 schreef zijn Master Boot Record op de disk, maar kon niet opstarten.

Gelukkig had ik een Slackware kernel op een floppy (aangemaakt door het Slackware installatie programma "setup"), dus ik startte Linux op en schreef Lilo over MS-DOS' defecte MBR. Dit werkt. Hier is het /etc/lilo.conf bestand dat ik gebruikte:

boot = /dev/hda
map = /lilo-map
delay = 100
ramdisk = 0             # Schakelt ramdisk uit in Slackware kernel
timeout = 100
prompt
disk = /dev/hda         # BIOS ziet slechts eerste 500 MB.
   bios = 0x80          # specificeert de eerste IDE disk.
   sectors = 63         # haal de cijfers uit de documentatie van je disk.
   heads = 16
   cylinders = 2100
image = /vmlinuz
  append = "hd=2100,16,63"
  root = /dev/hda2
  label = linux
  read-only
  vga = extended
other = /dev/hda1
  label = msdos
  table = /dev/hda
  loader = /boot/chain.b

Nadat ik deze systemen had geinstalleerd, verifieerde ik dat de partitie de zImage, boot.b, map, chain.b bevatte en begreep ik dat de bestanden gebruik kunnen maken van een MSDOS bestandssysteem zolang ze maar niet "gestackerd" of "gedoublespaced" zijn.

Ik heb ook geleerd dat "OnTrack" een partitie tabel zou hebben geschreven die begon met een tiental bytes verderop op de drive, in plaats van aan het begin en het is mogelijk om de Linux driver zo om te schrijven dat het dit probleem ook omzeilt. Maar installeren zou onmogelijk geweest zijn met de voorgecompileerde Slackware kernel. Uiteindelijk zond IBM me een "OnTrack" diskette. Ik belde OnTrack's technische ondersteuning. Ze vertelden me dat Linux onbruikbaar is omdat Linux het BIOS niet gebruikt. Ik heb de diskette weggegeven.


Verder Terug Inhoud