Manchmal findet man seltsame Sachen heraus. Wusste hier jemand, dass nicht alle Versionen von GRUB alle Versionen von ext3 lesen können? Ok, klingt erstmal logisch, dass das für ziemlich alte Versionen von GRUB und für ziemlich neue Versionen von ext3 gilt. Gut da fragt man sich erstmal, wie es denn überhaupt Versionen bei ext3 geben kann, aber egal, vielleicht fang ich die Geschichte doch besser vorn an.
Letze Woche hat sich eine meiner alten Festplatten verabschiedet, wo zu Testzwecken ein Debian Sid installiert war. Gestern bekam ich von Tux Ersatz und heut dachte ich mir, schiebst Du »mal eben kurz« wieder das System drauf. Die Installation verlief auch zügig und glatt. Den Bootloader ließ ich in den MBR von /dev/hdc schreiben und laden wollte ich das ganze wie üblich, nämlich über folgenden Eintrag im GRUB von /dev/hda (das zu nem Ubuntu gehört):
title hdc: Debian Sid configfile (hd2,0)/boot/grub/menu.lst
Das funktioniert üblicherweise wunderbar. Man gelangt zunächst in das Bootmenü vom GRUB auf /dev/hda und von dort über obigen Eintrag in das Menü von /dev/hdc. So können die Systeme auf jeder der Platten ihre eigenen Bootloader eigenständig verwalten und kommen sich auch bei Kernelupdates nicht ins Gehege. Heute führte das allerdings zum Error 2. Das Handbuch von GRUB sagt dazu lapidar:
2 : Bad file or directory type
This error is returned if a file requested is not a regular file, but something like a symbolic link, directory, or FIFO.
Die Recherche nach der Lösung zu solchen Fehlern gestaltet sich natürlich schwierig. Ich hatte ein wenig Glück und fand diesen Thread im Ubuntu-Forum. Dort näherte man sich Stück für Stück einem ähnlichen Problem. Ich konnte ebenfalls mit der GRUB-Shell verifizieren, dass das GRUB aus dem MBR meiner /dev/hda nicht in der Lage war das Filesystem auf /dev/hdc1 zu lesen, obwohl letzteres ein sauberes (fsck von GRML drüberlaufenlassen) ext3 war. Mit anderen ext3 kam das bis dahin ja auch klar. Recht weit unten in dem Thread schreibt dann jemand:
Did you upgrade to Hardy from an earlier version of Ubuntu? Then you might of have older version of grub which cannot read ext3 partition with 256 inodes.
Da hab ich nicht schlecht geschaut. Das heißt einerseits wie eingangs angedeutet, dass es vorher (dieses mysteriöse »früher«) ext3 nur mit weniger inodes gab und ältere Versionen von GRUB mit so vielen nicht umgehen können. Das GRUB ist tatsächlich ein wenig älter, das Ubuntu ist ungefähr 2005 auf die Kiste gekommen, also wahrscheinlich ursprünglich als Dapper Drake oder vielleicht sogar noch Breezy Badger. Na und der aktuelle Installer von Debian Lenny scheint derart neue ext3-Formatierungen zu schreiben. Einfaches Neuschreiben des Bootloaders mit dem aktuellen GRUB von Intrepid Ibex hat dann jedenfalls im Handumdrehen das Problem behoben. Ich sag ja, seltsame Sachen gibt’s.
Ich seh grad, dass ich dazu schon einen eigenen Beitrag geschrieben hatte. Den hab ich völlig vergessen. *lol*