grub

Luise Kunkle sem-pa at bar-do.net
Sam Aug 2 13:56:41 BST 2008


Hi Lutz,

danke,, ich habe das sogar verstanden.

Grundsätzlich wohl deswegen, weil bei meinen Systemen die kernel der 
zu bootenden anderen Sys. immer im /boot mit drin waren. Hmm - das war 
dann wohl, was mein Fernwarter, der ja immer für die schwierigeren 
Sachen zuständig war, entsprechend Deinen Erklärungen gemacht hat.

Ich, wiederum, habe gedacht, so sei es immer und bin einfach nicht 
darauf gekommen, dass dies eine seiner Anpassungen ist. Ich habe die 
Sache nur zufällig gesehen, als ich in einem der Systeme, auf 
denen ich arbeite, mir mal "read-only" die Systemdateien angeschaut 
habe. Weder habe ich ihn danach gefragt noch - und das tut mir 
sehr leid - bin ich auf die Idee gekommen, dass es hier für die Liste 
wichtig sein könnte!

Der "Anfang der Geschichte", ich meine damit den 1. Schritt, mit dem 
das BIOS sozusagen die Arbeit an das jeweilige bts. abgibt und wie und 
wo es das tut, habe ich nie verstanden. Jetzt geht es etwas besser.

Nur eine Sache möchte ich noch erwähnen: im BIOS **ist** LBA 
aktiviert.

Ich mache jetzt in den nächsten Tagen allles das, was Du 
unten geschrieben hast und berichte dann.

Erst mal danke für die viele Mühe, die Du Dir gemacht hast, besonders 
auch dafür, dass Du alles erklärt hast. Vielleicht habe ich dazu 
später noch Fragen. Ich konnte zwar den Erklärungen folgen, aber das 
heißt (bei mir) nicht unbedingt, dass auch wirklich alles klar ist. 
Und die Sache mit dem "boot" hat mich immer interessiert.

Und hier ist schon die 1. Frage. Ich habe immer versucht, das "Verz. 
des boot managers" irgendwo zu finden. Ich habe immer gedacht, es 
liegt irgendwo seperat vom jeweiligen Bts. irgendwo auf der "Hd. ganz 
vorn" oder so. Es gibt aber anscheinend garkein solches?? Und das ist 
der Grund, warum ich auch nie in den Handbüchern oder im Netz was dazu 
finden können?

Mal wieder ein Beispiel für die Probleme des Nicht- oder Halbwissens: 
um etwas zu finden, muss man vorher wissen, wonach man sucht (oder man 
findet es per Zufall) und es benötigt schon eininiges Wissen zum 
jeweiligen Thema, beovr man die richtigen Fragen stellen kann!

Grüße

Luise




On Fri, 1 Aug 2008, Lutz Willek wrote:

> Luise Kunkle schrieb:
>>
>> Hi Thomas,
>>
> Hi Luise,
> entschuldige die lange Wartezeit, ich hatte viel beruflich zu tun.
>
>> Die Sache ist:
>> BIOS unterstützt LBA
>> Unter lilo hat es lange Jahre lang problemlos geklappt.
> Na ja, das es früher funktioniert hat bedeutet nicht automatisch, das
> das Bios LBA unterstützt, nur das es früher mal irgendwie funktioniert
> hat. Später mehr dazu.
>
> Vorsicht, diese Mail wird wahrscheinlich länger: Ich möchte nicht nur,
> das Dein Linux wieder funktioniert, sondern auch das Du verstehst was
> passiert ist und passieren wird. Also einfach laangsamer lesen ;-)
>
> So, voran gegangen war ja die Mail über das Mapping. Soweit kann ich
> Dich beruhigen, daran lag es nicht. Wenn Du Dir einmal Deine erste
> Festplatte etwas genauer anschaust:
>>    Device Boot      Start         End      Blocks   Id  System
>> /dev/sda1   *           1        1798    14442403+  83  Linux
>> /dev/sda2            1799        1867      554242+   5  Extended
>> /dev/sda5            1799        1867      554211   82  Linux swap / Solaris
>
> Es sind eigentlich nur zwei Partitionen, /dev/sda2 ist nur eine
> erweiterte Partition. Übrig bleibt /dev/sda1 und /dev/sda5, Grub sagte
> Dir bei der ersten Festplatte:
>> Possible partitions are:
>>
>> Partition num: 0, Filesystem type ...
>> Partition num: 4, .........
>
> Das passt genau, da Grub bei null zu zählen anfängt.
> (hd0,0) ist also /dev/sda1
> (hd0,4) ist also /dev/sda5
>
> Damit wäre dann "erwiesen" das Deine Datei device.map richtig ist:
>> /boot/grub/device.map
>>
>> (hd0)   /dev/sda
>> (hd1)   /dev/sdb
>
> "Und das ist auch gut so!", würde ein Politiker hier aus der Gegend
> dazu sagen...
> Interessant ist jetzt nur gewesen wie Du testen kannst, ob auch alles
> stimmt- Jetzt weißt Du es und alle Hintergründe darüber.
>
> Weiter zum nächsten Thema.
>
> Fakt ist ja, das alles irgendwann einmal funktioniert hat. Fakt ist aber
> auch, das Dein Bios ein Problem hat:
>> error 18: selected cylinder exceed maxium supported by BIOS
> Nun, wie passt das jetzt zusammen?
>
> Es ist ja nicht so, das Dein Bios die Platte gar nicht erkennt. Es kann
> nur alle Daten über einer gewissen Größe nicht sehen, diese deswegen
> nicht ansprechen. Warum das jetzt genau so ist erspare ich Dir und den
> Mitlesern, dieses Wissen ist heutzutage überflüssig wie ein Kropf.
>
> Dein Bios kann aber sehr wohl alle Daten unter dieser mysteriösen Grenze
> von 1024 Zylindern sehen, schauen wir uns deshalb einmal Deine zweite
> Festplatte an:
>
>>    Device Boot      Start         End      Blocks   Id  System
>> /dev/sdb1               1        9688     4882720+  83  Linux
>> /dev/sdb2            9689       19376     4882752   83  Linux
>> /dev/... [hier gehts noch lange weiter, jetzt nicht wichtig]
>
> Und die Fehlermeldung sagte erst etwas von "Error 18", als Sie bereits
> die zweite Partition gelesen hat oder lesen wollte:
>> Part num: 0, filesystem....
>> Part njm: 1, danach ganz leer
>> error 18: selected cylinder exceed maxium supported by BIOS
>
> Ergo: Du kannst von Partition 1 booten, nur von allen anderen
> Partitionen nicht.
>
>
> Ich höre schon Deine Frage: So, und wie konnte das der Lilo? Da ging es
> ja schließlich!
>
> Lilo versteht nichts von Partitionen, Belegungen oder Dateisystemen, das
> konnte das Programm noch nie. Es schaut einfach ganz genau nach, wo der
> Kernel *physikalisch* auf der Festplatte liegt. Diese Lage wird dann
> fest in den ersten Sektor geschrieben, beim Starten des Rechners startet
> Lilo dann einfach genau diese Stelle. Lilo muss also gar eigentlich fast
> gar nix wissen- in Deinem Fall war das natürlich ganz nützlich.
> In weitaus mehr Fällen geht das in die Hose, wenn man mit Lilo nicht
> umzugehen weiß. Aber hier geht es ja um Grub, deswegen genug von Lilo
> und die wichtigste Frage:
>
>                             ############
>                             # WAS TUN? #
>                             ############
>
> Hierzu schrieb Thomas:
>> [...] Wenn ja können Sie
>> mit "sudo grub-install --force-lba /dev/sdX" dazu Zwingen LBA zu nutzen[...]
>
> Ich muss gestehen das ich das noch nie getestet habe. Bis jetzt bin ich
> davon ausgegangen, das Grub von sich aus LBA unterstützt wo es möglich
> ist und das dieser Schalter deswegen sinnlos ist. Danke Thomas für den
> Hinweis, ich werde mich in diese Richtung weiterbilden.
>
> Ich würde gerne einen anderen Weg vorschlagen, der keine Neuinstallation
> des Grub erfordert. Meine Überlegung ist folgende dazu:
>
> * wir können komplett von /dev/sda und wahrscheinlich auch von /dev/sdb1
> booten
> * dem gestarteten Kernel ist es egal was das Bios denkt.
> * die zu startenden Systeme sind alt, also keine Updates des Kernels
> mehr zu erwarten
> * ein Kernel kann irgendwo liegen, das muss nicht zwangsläufig das
> eigene System sein
>
> Es würde also reichen, wenn wir den zu startenden Kernel dort hin
> kopieren, wo Grub ihn erreichen kann und die Konfigurationsdatei von
> Grub anpassen, dann funktioniert alles wieder.
>
> Dabei gelten folgende zwei Einschränkungen:
> Debian und Ubuntu verwenden bei Kernelupdate eine Mischung aus
> Template-Datei und den gefundenen Kerneln in /boot , um eine menu.lst zu
> erzeugen. Wenn Wir die Kernel also einfach nach /boot kopieren, dann
> wird beim nächsten Update eine falsche  Startdatei erzeugt, was ja nicht
> so schön ist. Das lässt sich jedoch umgehen.
>
> Die zu startenden Systeme können von sich aus ohne Anpassungen keine
> Kernelupdates mehr vornehmen. Das ist im Fall von Luise auch kein
> Problem, ich glaube nicht, das es für Suse 7.3 noch irgendwo ein Update
> existiert, oder? :-)
>
> Ich beschreibe den Vorgang nur für Suse, für die anderen beiden Systeme
> ist die Vorgehensweise jedoch analog dazu und einfach nachzumachen.
>
> Also los: Teil 1, die Kernel und dazu passende initrd kopieren, ohne
> dabei das Debian beim Update zu irritieren:
>
> Laut menu.lst brauchst Du die beiden Dateien:
>
>> # This entry automatically added by the Debian installer for an existing
>> # linux installation on /dev/sdb5.
>> title        SuSE Linux 7.3 (i386) (on /dev/sdb5)
>> root        (hd1,4)
>> kernel        /boot/vmlinuz-2.4.27-2-386 root=/dev/sdb5
>> initrd        /boot/initrd.img-2.4.27-2-386
>> savedefault
>> boot
>
> also als root folgende Kommandos:
> mkdir -p /mnt/sdb5
> mount /dev/sdb5 /mnt/sdb5
> mkdir -p /boot/other
> cp /mnt/sdb5/boot/vmlinuz-2.4.27-2-386 /boot/other/
> cp /mnt/sdb5/boot/initrd.img-2.4.27-2-386 /boot/other/
>
>
> Danach fügst Du in die Datei /boot/grub/menu.lst folgende neuen Zeilen
> ein: und zwar genau nach folgender Passage(ziemlich weit unten)
>
>> ### END DEBIAN AUTOMAGIC KERNELS LIST
>>
>> # This is a divider, added to separate the menu items below from the Debian
>> # ones.
>> title        Other operating systems:
>> root
>>
>
> das es danach so ausschaut:
>
>> ### END DEBIAN AUTOMAGIC KERNELS LIST
>>
>> # This is a divider, added to separate the menu items below from the Debian
>> # ones.
>> title        Other operating systems:
>> root
>>
>> # Neuer booteintrag von Luise, um mit Grub auch die Suse zu starten
>> title        SuSE Linux 7.3
>> root         (hd0,0)
>> kernel       /boot/other/vmlinuz-2.4.27-2-386 root=/dev/hdb5
>> initrd       /boot/other/initrd.img-2.4.27-2-386
>> savedefault
>> boot
>
> Achtung: Kein Schreibfehler: "root (hd0,0)" und "root=/dev/hdb5"
>
> So, und weil sich die Festplattenbelegung geändert hat musst Du auch die
> Datei /etc/fstab der Suse-Installation ändern:
> das ist die Datei /mnt/hdb5/etc/fstab, bitte anpassen, das Sie dann so
> ausschaut: (nur etwas mehr auskommentiert als vorher, sonst keine Änderung)
>
>> #/dev/hda8 swap swap defaults 0 0
>> /dev/hdb5 / ext2 defaults 1 1
>> /dev/hdb2 /.crypt/opt ext2 defaults 1 1
>> /dev/scd0 /cdrom auto ro,noauto,user,exec 0 0
>> /dev/hdd /dvd auto ro,noauto,user,exec 0 0
>> /dev/fd0 /floppy auto noauto,user 0 0
>> #/dev/hda1 /dosc vfat defaults,showexec,noexec,gid=16,umask=007,quiet 0 2
>> #/dev/hda6 /dosemu vfat defaults,showexec,noexec,gid=16,umask=007,quiet 0 2
>> #/dev/hda7 /mnt/mp3 vfat defaults,showexec,noexec,umask=002,quiet 0 2
>> /dev/hdb11 /home/sem-pa/Mail ext2 defaults 1 1
>> /dev/hdb12 /temp/dev_hdb12 ext2 defaults 1 1
>> proc /proc proc defaults 0 0
>> # End of YaST-generated fstab lines
>
> Du musst jetzt nur noch aufräumen und neu starten:
> umount /mnt/sdb5
> rmdir /mnt/sdb5
> reboot
>
> Erzähl uns wie es geklappt hat! Ich wünsche Dir viel Spaß bei Suse 7.3!
>
>
>

-- 
One thought to all who, free of doubt,
So definitely know what's true:
2 and 2 is 22 -
and  2 times 2 is 2:-)
==========> ICQ yinyang 96391801 <==========