• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

11.2 auf eee-netbook : error 21 bei GRUB stage1.5

Pius

Newbie
Auf einem Netbook

ASUS EeePC 1005HA-H, 160GB Festplatte.
1. Partition 72 GB Windows XP,
2. Partition 72 GB [z.Zt. NTFS] leer
(+ 2 kleinere für Windows "versteckte" Partitionen dahinter)

habe ich von der LiveCD per externem Laufwerk OpenSUSE 11.2 installiert, und
zwar auf einer zusätzlich gesteckten SD-Card (16GB). Beim Installationsvorgang
hieß die eingebaute (mit Windows bestückte) Festplatte sda, die dazugesteckte
Card dagegen sdb. Ich hätte gern den MBR von /dev/sdb zum Starten benutzt,
aber der war nicht einstellbar. Daher wurde mit folgenden Daten installiert:

Status Lokation : /dev/sda (MBR)
Boot aus MBR ist aktiviert
Festplattenreihenfolge: /dev/sda, /dev/sdb

Danach fuhr OpenSUSE problemlos hoch, und alles im ersten Augenblick Probierte
funktionierte bestens. Dann habe ich über Yast einige Software-Pakete
ausgesucht sowie ein Update gemacht (was sich als sehr umfangreich
herausstellte). Auch danach sah alles gut aus. Dann der Neustart. Ergebnis:

GRUB Loading stage1.5
GRUB loading, please wait...
Error 21

Mist, er sucht offenbar beim Hochfahren eine Datei, die es nicht gibt (Error
21). Was dann aber funktioniert: Nochmal starten (Ctrl-Alt-Del) und sofort mit
F2 unterbrechen, das sich auftuende Menu der Boot-Einstellungen ohne Änderung
mit F10 und Enter bestätigen. Sofort geht dann das GRUB-Menü auf, mit Linux
oder Windows zur Wahl, und die Welt ist in Ordnung. Die eingestellte
Boot-Reihenfolge beginnt mit der 160-GB-Festplatte, auf der Windows
installiert ist. (Darf man daraus schließen, daß er die
Bootloader-Informationen aus deren MBR liest?)

Nach dem Hochfahren von Linux zeigt fdisk -l an, daß jetzt die
SD-Card unter /dev/sda, die Windows-Festplatte unter /dev/sdb geführt
wird (!) Das wundert mich, denn das war beim Installieren garantiert
umgekehrt. Ob nun beim Update deswegen GRUB falsch eingerichtet wurde?
(Falscher MBR?). Mutmaßungen, ich bin zu wenig Experte und frage deswegen
hier:

Was muß ich machen, damit der Start ordentlich funktioniert (ohne F2 - F10 -
Enter)?


Ich wage es nicht, in irgendeiner der Installationsdateien des GRUB einen
Eintrag zu ändern, ohne genau zu wissen, was ich tue... Die oben angegebene
Fehleranzeige beim Start haben schon mehrere Leute im Internet beschrieben,
aber ohne die übrigen Begleitumstände meines Falles (und ohne überzeugende
Lösung). Ich könnte mir denken, daß einem Experten das, was ich geschildert
habe, genügend sagt, um zu begreifen, was passiert ist - und (meine Hoffnung!)
zu wissen, was zu tun ist.

Ich sollte noch bemerken: Auf der (eigentlich so gut wie neuen) SD-Card war
vorher einmal Ubuntu installiert. Ich glaube, ich habe deren MBR nicht
verändert. Sollte also aus irgendeinem Grunde dort gelesen werden, so wäre es
kein Wunder, daß dort Anweisungen für Dateien stehen, die es jetzt nicht gibt:
alte Ubuntu-Anweisungen. Ich wage es aber nicht, den MBR der SD-Card zu
löschen, weil ich eben nicht weiß, ob beim Installationsprozeß oder beim
Update dort etwas für die jetzige Installation Wichtiges hingeschrieben
wurde. Bis auf die Ubuntu-Vorgeschichte auf der SD-Card ist die gesamte
Hardware nagelneu, war nämlich ein Weihnachtsgeschenk.
 

admine

Ultimate Guru
Poste bitte die Ausgabe von:
Code:
fdisk -l (kleines L),
cat /etc/fstab
cat /boot/grub/menu.lst
cat /boot/grub/device.map
cat /etc/grub.conf
 
OP
P

Pius

Newbie
Danke für die schnelle Rückmeldung! Die Dateien sehen folgendermaßen aus:

fdisk -l ergibt:

Platte /dev/sda: 16.2 GByte, 16202596352 Byte
255 Köpfe, 63 Sektoren/Spuren, 1969 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Disk identifier: 0x000e1665

Gerät boot. Anfang Ende Blöcke Id System
/dev/sda1 1 1847 14835996 83 Linux
/dev/sda2 1848 1969 979965 5 Erweiterte
/dev/sda5 1848 1969 979933+ 82 Linux Swap / Sola

Platte /dev/sdb: 160.0 GByte, 160041885696 Byte
255 Köpfe, 63 Sektoren/Spuren, 19457 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Disk identifier: 0x7ca1a009

Gerät boot. Anfang Ende Blöcke Id System
/dev/sdb1 * 1 9407 75561696 7 HPFS/NTFS
/dev/sdb2 9408 18813 75553695 7 HPFS/NTFS
/dev/sdb3 18814 19451 5124735 1c Verst. W95 FAT32
/dev/sdb4 19452 19457 48195 ef EFI (FAT-12/16/32

/etc/fstab :

/dev/disk/by-id/usb-Single_Flash_Reader_058F63356336-0:0-part5 swap swap defaults 0 0

/dev/disk/by-id/usb-Single_Flash_Reader_058F63356336-0:0-part1 / ext4 acl,user_xattr 1 1

/dev/disk/by-id/ata-ST9160301AS_5XT09HY7-part1 /windows/C ntfs-3g users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 0 0

/dev/disk/by-id/ata-ST9160301AS_5XT09HY7-part2 /windows/D ntfs-3g users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 0 0

proc /proc proc defaults 0 0

sysfs /sys sysfs noauto 0 0

debugfs /sys/kernel/debug debugfs noauto 0 0

devpts /dev/pts devpts mode=0620,gid=5 0 0

/boot/grub/menu.lst :

# Modified by YaST2. Last modification on Sa Dez 26 14:11:34 CET 2009
# THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
# Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader

default 0
timeout 8
gfxmenu (hd1,0)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.2
root (hd1,0)
kernel /boot/vmlinuz-2.6.31.5-0.1-default root=/dev/disk/by-id/usb-Single_Flash_Reader_058F63356336-0:0-part1 resume=/dev/disk/by-id/usb-Single_Flash_Reader_058F63356336-0:0-part5 splash=silent quiet showopts vga=0x314
initrd /boot/initrd-2.6.31.5-0.1-default

###Don't change this comment - YaST2 identifier: Original name: windows 1###
title windows 1
rootnoverify (hd0,0)
chainloader +1

###Don't change this comment - YaST2 identifier: Original name: windows 2###
title windows 2
rootnoverify (hd0,1)
chainloader +1

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.2
root (hd1,0)
kernel /boot/vmlinuz-2.6.31.5-0.1-default root=/dev/disk/by-id/usb-Single_Flash_Reader_058F63356336-0:0-part1 showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe vga=0x314
initrd /boot/initrd-2.6.31.5-0.1-default

/boot/grub/device.map :

(hd1) /dev/disk/by-id/usb-Single_Flash_Reader_058F63356336-0:0
(hd0) /dev/disk/by-id/ata-ST9160301AS_5XT09HY7

/etc/grub.conf :

setup --stage2=/boot/grub/stage2 --force-lba (hd0) (hd1,0)
quit
 

admine

Ultimate Guru
Die Konfigs sehen soweit ok aus.

Grub-Error 21 sagt:
Code:
21 : Selected disk does not exist
    This error is returned if the device part of a device- or full file name refers to a disk or BIOS device that is not present or not recognized by the BIOS in the system.

Daher vermute ich, dass die SD-Card zum ersten Boot-Zeitpunkt vom BIOS noch nicht "gesehen" wird.
Bei einem Reboot bzw. Bootverzögerung ist sie dann da.
Aber das ist 'ne Vermutung ... habe selbst noch nie mit einer SD-Card zu tun gehabt.
 
OP
P

Pius

Newbie
Danke, das ist einerseits beruhigend (weil die Dateien wohl stimmen), andererseits auch nicht (weil dann erst recht nicht klar ist, wie ich es abstellen kann). Eigentlich wird durch

F2 - F10 - Enter

ja gar nichts gemacht, das Hochfahren also nur verzögert?! Gäbe es dafür noch eine elegantere Möglichkeit? Jedenfalls hilft ein Neustart nicht: Man ist sofort wieder bei der Fehlermeldung Error 21.

Auf der SD-Card steht die Angabe "up to 20MB" Geschwindigkeit. Ich stelle mir das so vor, daß beim Start im MBR der Windows-Platte gelesen wird, dabei aber auf die Grub-Dateien im installierten System zugegriffen werden muß, und die sitzen ja nun auf der SD-Card. Wenn diese also zu dem Zeitpunkt "noch nicht so weit ist", kann das Grub-Menu nicht erstellt werden. Ist diese Erklärung richtig? Dann bräuchte man nur so etwas wie eine sofortige Pause-Taste beim Starten. (Dabei strengen sich alle an, damit der Rechner schnell hochfährt :roll: )

Jedenfalls kann ich davon ausgehen, daß nicht etwa der falsche MBR gelesen wird und dies dann die Ursache für den Fehler ist, oder?
 

admine

Ultimate Guru
Pius schrieb:
Ich stelle mir das so vor, daß beim Start im MBR der Windows-Platte gelesen wird, dabei aber auf die Grub-Dateien im installierten System zugegriffen werden muß, und die sitzen ja nun auf der SD-Card. Wenn diese also zu dem Zeitpunkt "noch nicht so weit ist", kann das Grub-Menu nicht erstellt werden. Ist diese Erklärung richtig?
Ich vermute ja.
Was man da tun kann ... sorry, kann ich dir leider nicht sagen :???:
 
A

Anonymous

Gast
Scheint eine bischen eine unglückliche Konstellation zu sein.
Der Bootloader und stage1.5 sind auf der ATA Platte und werden vom MBR dieser ATA Platte aus gestartet.
Diese beiden sollen dann stage2 laden, dieses befindet sich aber auf der SD-Karte unterhalb von /boot.

Der BIOS-Treiber für die Unterstützung für den BIOS-USB-Disk wird aber scheinbar nicht automatisch gleich geladen oder ist derzeit im BIOS überhaupt in der Bootreihenfolge gar nicht vorgesehen. Oder ist geladen und hat nur noch keinen Auftrag bekommen das USB abzuscannen was sich dort überhaupt befindet. Da in der Bootreihenfolge zuerst die ATA Platte kommt, dazu brauchte der BIOS dafür keine USB-Unterstützung . Erst wenn diese ATA Platte nicht bootfähig währe, würde er entsprechend der weiteren Bootreihenfolge dann den USB-Treiber wohl erst aktivieren oder scannen und versuchen dann über USB einen Bootloader zu finden. Wenn du aber das BIOS-Bootmenü aufmachst, dann weiß ja dein BIOS nicht, was du letztlich auswählen wirst und läd scheinbar den USB gleich mal vorsichtshalber mit, bzw er muss ihn laden, um nachzuschauen ob da über USB überhaupt was erreichbar währe was er dir zur Bootauswahl anzeigen kann.

Soweit zur meiner Theorie.

entweder nur im BIOS die Bootreihenfolge umstellen, das er als erstes versucht von USB zu booten. Dafür sollte dann aber kein Bootloader mehr auf der SD-Karte sein, so das er dann doch von der ATA Platte bootet. Dann ist der USB Treiber geladen wenn er über die andere Platte bootet. Hat jedoch eventuell weitere Nebenwirkungen, da dann die BIOS-IDs wieder anders herum sind als Grub es bei der Installation hatte. Könnte also durchaus eine kleine Doktorarbeit werde und mehr Ärger verursachen als einem lieb ist.

zweite Möglichkeit, Bootreihenfolge umstellen und gesamte Bootkonfiguration manuell auf die SD-Karte und dort in den MBR neu machen.

dritte Möglichkeit. eventuell hast du im BIOS die Möglichkeit, das er dir bei jedem Start das BIOS-Bootmenu anbietet. Dann muss er jedesmal dort die USB-Unterstützung schon laden bevor er von Platte bootet. Dann dauert der Start eben ein bischen länger je nach dem wie lange diese BootBiosMenü seinen Timeout hat.

robi
 

josef-wien

Ultimate Guru
Die Konstellation ist mehr als unglücklich: Wenn die Speicherkarte nicht angeschlossen ist, kannst Du den PC nicht starten. Du hättest entweder GRUB auf der Speicherkarte installieren oder auf der Festplatte eine eigene Boot-Partition einrichten müssen.

Mein Vorschlag wäre, GRUB in den MBR der Speicherkarte zu installieren und den MBR der Festplatte wiederherzustellen. Im BIOS ist USB als erstes Boot-Medium einzustellen; ist die Speicherkarte angeschlossen, startet GRUB, ist sie nicht angeschlossen, startet Windows.

Zur Installation von GRUB änderst Du die Datei /etc/grub.conf auf
Code:
setup --stage2=/boot/grub/stage2 --force-lba (hd1) (hd1,0)
quit
und führst den Befehl
Code:
grub --batch < /etc/grub.conf
aus. Das Wiederherstellen des MBR sollte alternativ zur Windows-Rettungsfunktion mit dem Befehl
Code:
dd if=/usr/lib/boot/master-boot-code of=/dev/disk/by-id/ata-ST9160301AS_5XT09HY7 bs=440 count=1
klappen. Schließlich solltest Du die erste primäre Partition der Speicherkarte aktivieren (Linux braucht das zwar nicht, aber vielleicht Dein BIOS):
Code:
sfdisk -A1 /dev/disk/by-id/usb-Single_Flash_Reader_058F63356336-0:0
In der menu.lst wirst Du noch überall hd0 und hd1 austauschen und für Windows http://de.opensuse.org/SDB:Windows_von_der_zweiten_Festplatte_booten berücksichtigen müssen. /boot/grub/device.map und /etc/grub.conf solltest Du zum Abschluß auch entsprechend adaptieren.
 
OP
P

Pius

Newbie
Vielen Dank für alle Überlegungen zu meinem Problem! Die zweite Möglichkeit bei robi trifft sich mit dem Vorschlag von josef-wien und ist mir auch der sympathischste: Genau so, mit der Grub-Installation ganz auf der Speicherkarte und ohne den MBR der Festplatte anzutasten, hatte ich es mir eigentlich von Anfang an vorgestellt. Nur leider stellt SUSE das beim Installieren nicht zur Wahl - oder habe ich da etwas übersehen? (Ich habe an der Stelle nämlich nur schweren Herzens den MBR von /sda überschrieben!) Ich wußte gar nicht, daß man den wiederherstellen kann; aber das ist ja noch ein anderer Punkt.

Da ich noch ein zweites Netbook identisch einzurichten habe, möchte ich doch mal fragen, ob ich wirklich so installieren muß, daß ich zuerst mal mangels anderer Auswahl im Zuge der SUSE-Installation den MBR der Windows-Platte überschreibe, dann mit dem installierten System den MBR der SD-Card manuell einrichte und dann den Urzustand des MBR auf der Windows-Platte wiederherstelle?! (Das kommt mir so dämlich vor, daß ich eigentlich hoffe, daß es eleganter geht.) josef-wien sagt, ich hätte "entweder GRUB auf der Speicherkarte installieren oder auf der Festplatte eine eigene Boot-Partition einrichten müssen". Der erstere Vorschlag ist, wie gesagt, m.E. bei der SUSE-Installations-Abfolge nicht durchführbar. Aber was ist mit "Festplatte" beim zweiten Vorschlag gemeint? Die Speicherkarte? (Denn auf der Windows-Platte läßt die SUSE-Installations-Abfolge nicht die Anlage einer neuen Partition zu, es sei denn an Stelle der jetzigen Windows-D mit ihren 72 GB, die man natürlich löschen kann, ohne daß dann allerdings im Zuge der Installation der freigewordene Platz zur Anlage von mehr als einer neuen Partition zur Verfügung gestellt wird.) Oder macht man sie platt, legt statt dessen bei der Installation eine kleinere Partition an und kann dann im Nachherein mit dem Yast-Partitionierer über den nicht genutzten Teil verfügen? (Und kann eigentlich bei Windows irgendetwas kaputtgehen, wenn man die jetzige Windows-D-Partition durch Linux neu partitioniert und formatiert?)

Im Augenblick scheint der MBR der SD-Card überhaupt keine Rolle zu spielen, sofern ich bei der Boot-Reihenfolge die eingebaute Festplatte nach vorn setze, oder sehe ich das falsch? Heißt das, daß der derzeitige Boot-Verlauf völlig unabhängig davon ist, was ich in den MBR der SD-Card schreibe?

Die derzeitige Boot Device Priority lautet: 1) Atapi CD-Rom 2) Removable Device 3) HDD:pM-ST9160...
Unter "Hard Disk Drives" sind aufgeführt: 1st Drive: HDD:pM-ST9160... , 2nd Drive: USB SingleFlash R
In der Boot Device Priority ist es nicht möglich, beide Hard Disk Drives aufzuführen, ich muß mich entscheiden. Zur Zeit komme ich ohne HDD:pM-ST9160... nicht aus, kann also nicht USB SingleFlash R in die Boot Device Priority aufnehmen.

Wegen der Wiederherstellung des MBR der Windows-Platte: josef-wien erwähnt die "Windows Rettungs-Funktion". Ich weiß nicht genau, was das ist, aber dem Netbook lag eine Support DVD für den eeepc bei, mit der man den Originalzustand des Netbooks wiederherstellen kann. Ob man damit auch den MRB (separat) wiederherstellen kann? (Das beiliegende Heft sagt nichts dazu, erklärt nur, wie man den gesamten Urzustand wieder erhält.)

Noch etwas anderes, zufällig festgestellt: Wenn ich beim Netbook gleich nach dem Anschalten (nicht erst wenn es mir durch den Text auf dem Monitor gesagt wird!) die F2-Taste drücke und sonst gar nichts mache, startet GRUB einwandfrei. Wie das kommt, weiß ich echt nicht. Wird dadurch "irgendwie" die SD-Card frühzeitig im Bootvorgang "geweckt"?

Dank und Gruß, Pius
 

josef-wien

Ultimate Guru
Pius schrieb:
Da ich noch ein zweites Netbook identisch einzurichten habe, ...
Ich kenne das Installationsprogramm von 11.2 nicht, aber auch hier sollte die Möglichkeit vorhanden sein, bei der Bootloader-Einrichtung die Konfigurationsdateien zu bearbeiten, also die von mir beschriebene Änderung der /etc/grub.conf vorzunehmen (schau hier auch in /boot/grub/device.map nach, wie die Zuordnung zu hd0 und hd1 erfolgt). Wichtig ist, daß vor dem Installationsvorgang die Speicherkarte als erste Boot-Platte im BIOS definiert ist.

Pius schrieb:
Aber was ist mit "Festplatte" beim zweiten Vorschlag gemeint?
Du hast nur eine Festplatte, die Du als "Windows-Platte" bezeichnest. Mehr als 4 primäre Partitionen sind nicht möglich, bei Bedarf mußt Du die zweite primäre Partition löschen und an ihrer Stelle eine erweiterte Partition anlegen. In dieser erweiterten Partition kannst du dann mehrere logische Partitionen anlegen (z. B. eine Boot-Partition mit zirka 100 MB und dem Einhängepunkt /boot und eine Daten-Partition für Windows).

Pius schrieb:
Im Augenblick scheint der MBR der SD-Card überhaupt keine Rolle zu spielen, sofern ich bei der Boot-Reihenfolge die eingebaute Festplatte nach vorn setze, oder sehe ich das falsch? Heißt das, daß der derzeitige Boot-Verlauf völlig unabhängig davon ist, was ich in den MBR der SD-Card schreibe?
Vereinfacht ausgedrückt beginnt das BIOS, die Datenträger in der eingestellten Reihenfolge nach "Bootfähigkeit" zu durchsuchen. Sobald etwas gefunden wird, wird es ausgeführt, der Rest wird nicht mehr durchsucht.

Pius schrieb:
Unter "Hard Disk Drives" sind aufgeführt: 1st Drive: HDD:pM-ST9160... , 2nd Drive: USB SingleFlash R
In der Boot Device Priority ist es nicht möglich, beide Hard Disk Drives aufzuführen, ich muß mich entscheiden.
Sobald Du GRUB in den MBR der Speicherkarte installiert hat, kannst Du die Reihenfolge umdrehen. Derzeit wird der "Ubuntu-MBR" einen erfolgreichen Systemstart verhindern.

Zu den Windows-Wiederherstellungsmöglichkeiten kann ich nichts sagen.

Pius schrieb:
Wird dadurch "irgendwie" die SD-Card frühzeitig im Bootvorgang "geweckt"?
Es sieht so aus. Da ich Dein BIOS nicht kenne, kann ich auch dazu nichts sagen.
 
A

Anonymous

Gast
Bin beim Schreiben etwas unterbrochen worden und sende das mal jetzt ab ohne den letzten Beitrag von josef-wien gelesen zu haben, der zwischenzeitlich hier schon angekommen ist.


Pius schrieb:
Die derzeitige Boot Device Priority lautet: 1) Atapi CD-Rom 2) Removable Device 3) HDD:pM-ST9160...
Unter "Hard Disk Drives" sind aufgeführt: 1st Drive: HDD:pM-ST9160... , 2nd Drive: USB SingleFlash R
In der Boot Device Priority ist es nicht möglich, beide Hard Disk Drives aufzuführen, ich muß mich entscheiden. Zur Zeit komme ich ohne HDD:pM-ST9160... nicht aus, kann also nicht USB SingleFlash R in die Boot Device Priority aufnehmen.

Da ist der Salat wohl geschuldet ;)
Wenn du die 2. Kiste identisch installieren willst, dann stell mal vor der Installation das Bootdevice der Platten im BIOS auf das USB-Dingens. Danach bootest du ja sowieso zum installieren von DVD/CD. Ich vermute, dann kann Yast bei der Installation den Bootloader auch auf den USB schreiben. Irgendwie scheint der mitzubekommen das du immer nur von einer Platte booten kannst, eventuell das selbe Problem wie bei Grub, wenn er den BIOS fragt, dann kennt dieser das USB nicht.

Das Ganze hat dann den Vorteil, du kannst Linux komplett von USB starten, egal ob die Platte funktioniert und du kannst Windows automatisch starten, indem du einfach den USB-Stick abziehst. Der Nachteil wenn du Windows gebootet hast und steckst das USB wieder an, musst du es eventuell wieder oben an die Liste schieben, damit du Linux wieder booten kannst. Vermutlich wird es dann nicht automatisch wieder oben in die Liste eingeordnet.


Ich kenne einige BIOSe bei denen kann man das USB-Geräte zwischen der Disk-Abteilung und der "Removable Device"-Abteilung hin und herschalten. Irgendwie hab ich da die "Tab-Taste" im Hinterkopf. Müsstest du mal schauen ob es sowas bei dir auch gibt. Das würde deine Probleme fast alle auf einmal lösen. Allerdings würde ich dann das /boot Verzeichnis als seperate Partition (32MB bis 64MB reichen dicke) an den Anfang des USB-Sticks bauen, ich bin mir nicht sicher ob der BIOS damit auch LBA kann, und damit dann auch noch booten kann wenn die Grubdateien mal physikalisch weit hinten auf dem Stick liegen.

Pius schrieb:
Im Augenblick scheint der MBR der SD-Card überhaupt keine Rolle zu spielen
bei der BIOSeinstellung vollkommen richtig.
Pius schrieb:
Wegen der Wiederherstellung des MBR der Windows-Platte:
unter /boot sollte eine Datei "backup_mbr" liegen. Das ist eine Kopie deines WindowsMBR den Grub ausgetauscht hat. entweder von diesem oder von einem "master-boot-code" so wie es josef-wien geschrieben hat die ersten 440 Byte an den Anfang der Platte schreiben. Der Befehl dazu steht auch schon oben. (Aber Achtung 3 mal Kontrollieren ob auch alles richtig geschrieben ist bevor du Enter drückst.)

robi
 
OP
P

Pius

Newbie
josef-wien schrieb:
Wichtig ist, daß vor dem Installationsvorgang die Speicherkarte als erste Boot-Platte im BIOS definiert ist.
Das ist bestimmt ein ganz wichtiger Hinweis, denn das habe ich bei der vorigen Installation nicht beachtet. Es kommt mir so vor, als wenn daher die ganzen Schwierigkeiten rühren könnten. Wenn man dadurch beim Installieren den MBR auf der Festplatte unbeeinträchtigt lassen kann, müßte eigentlich genau so eine Installation entstehen, wie ich sie geplant hatte.

josef-wien schrieb:
Mehr als 4 primäre Partitionen sind nicht möglich, bei Bedarf mußt Du die zweite primäre Partition löschen und an ihrer Stelle eine erweiterte Partition anlegen. In dieser erweiterten Partition kannst du dann mehrere logische Partitionen anlegen (z. B. eine Boot-Partition mit zirka 100 MB und dem Einhängepunkt /boot und eine Daten-Partition für Windows).

In der Theorie weiß ich das wohl, und den Versuch habe ich auch gemacht. (Man muß ja erst ganz am Ende sagen, daß alles wie angegeben installiert werden soll und kann bei Nichtgefallen alles wieder abblasen.) Ich habe es (trotz "Expertenmodus") nicht geschafft, an der Stelle der (gelöschten) 2. NTFS-Partition eine erweiterte Partition als Behälter für mehrere logische Partitionen anzulegen. Meine Versuche dazu wurden vom Installationsprogramm stets als "nicht möglich" zurückgewiesen. Soo viele Auswahlmöglichkeiten gab es dort auch gar nicht; aber ich will das aufgrund Deiner Bemerkungen nun doch noch mal ganz genau untersuchen (glaubte jedoch eigentlich, das schon getan zu haben...)

Deine Erklärungen sind gut zu verstehen und helfen mir echt weiter. Danke.
 
OP
P

Pius

Newbie
robi schrieb:
Wenn du die 2. Kiste identisch installieren willst, dann stell mal vor der Installation das Bootdevice der Platten im BIOS auf das USB-Dingens. Danach bootest du ja sowieso zum installieren von DVD/CD. Ich vermute, dann kann Yast bei der Installation den Bootloader auch auf den USB schreiben. Irgendwie scheint der mitzubekommen das du immer nur von einer Platte booten kannst, eventuell das selbe Problem wie bei Grub, wenn er den BIOS fragt, dann kennt dieser das USB nicht.
Die Idee hätte ich mal vorher haben sollen! Auch josef-wien hat mir diesen wertvollen Vorschlag gemacht. (Aber so ist das eben, wenn man zwar täglich vor dem PC sitzt, aber sich nur alle Jubeljahre um Bootverhalten etc. kümmert - eben weil ein jahrelang zuverlässig funktionierendes Linux auf guter Hardware dazu keinen Anlaß gibt ;) .)
robi schrieb:
Das Ganze hat dann den Vorteil, du kannst Linux komplett von USB starten, egal ob die Platte funktioniert und du kannst Windows automatisch starten, indem du einfach den USB-Stick abziehst.
Jaja, und genau SO war auch meine Vorstellung!
robi schrieb:
Der Nachteil wenn du Windows gebootet hast und steckst das USB wieder an, musst du es eventuell wieder oben an die Liste schieben, damit du Linux wieder booten kannst. Vermutlich wird es dann nicht automatisch wieder oben in die Liste eingeordnet.
Ich glaube, das schaffe ich dann noch...
robi schrieb:
Allerdings würde ich dann das /boot Verzeichnis als seperate Partition (32MB bis 64MB reichen dicke) an den Anfang des USB-Sticks bauen, ich bin mir nicht sicher ob der BIOS damit auch LBA kann, und damit dann auch noch booten kann wenn die Grubdateien mal physikalisch weit hinten auf dem Stick liegen.
Und wieder ein Hinweis, auf den ich allein nicht gekommen wäre und der möglicherweise wichtig ist. (Statt "USB-Stick" meinst Du sicher "SD-Card".)
robi schrieb:
Pius schrieb:
Wegen der Wiederherstellung des MBR der Windows-Platte:
unter /boot sollte eine Datei "backup_mbr" liegen. Das ist eine Kopie deines WindowsMBR den Grub ausgetauscht hat. entweder von diesem oder von einem "master-boot-code" so wie es josef-wien geschrieben hat die ersten 440 Byte an den Anfang der Platte schreiben. Der Befehl dazu steht auch schon oben. (Aber Achtung 3 mal Kontrollieren ob auch alles richtig geschrieben ist bevor du Enter drückst.)
robi
Ich weiß, dd ist kein Scherz.
Auch Dir vielen Dank! Beim zweiten Netbook mache ich mindestens zwei Fehler weniger...
Eine Kleinigkeit, die nicht fundamental ist: Ist es richtig, daß man bei der Installation an keiner Stelle einen Rechnernamen eingeben kann? Ich habe keine Möglichkeit dazu gefunden. Bloß hinterher weiß ich nicht, wie man es nach der Installation gefahrlos nachholen kann. Also steht da bislang der kryptische Name, der aus der Kiste kam.
 
A

Anonymous

Gast
Der Rechnername ist so ziemlich das 2 unwichtigste auf einem normalem Desktop-Rechner und läßt sich jederzeit ändern. temporär mit dem Befehl "hostname" und permanent mit einer Datei namens "/etc/hostname" (eventuell ist der Dateiname manchmal groß geschreiben).

Geändert wird dein Hostname aber auch durch DHCP wenn du nichts dageben unternimmst und eine IP vom DHCP zugewiesen bekommst. Abschalten kannst du dieses in Yast bei der Schnittstellen konfiguration irgendwo unter Erweiterte Einstellungen.

Wichtiger sind die Namen der einzelnen Networkinterface, diese würden in der /etc/hosts stehen und die locale Namensauflösung und Anzeige der Netzwerkinterface, beeinträchtigen.

robi
 
OP
P

Pius

Newbie
Danke für die Hinweise zum Rechnernamen; daß das nicht gerade ein zentrales Thema ist, ist mir ja klar.

Nun habe ich immer die von josef-wien angegebene Schrittfolge vor Augen und noch nicht durchgeführt, weil ich weiß, daß man sich durch Fehler (auf meiner Seite natürlich) bei solchen Dateien ziemlichen Ärger einhandeln kann. Da frage ich lieber (wenn mir irgendwo etwas unklar ist) zweimal nach, bevor ich etwas unternehme.

1) Wie ich josef-wien verstehe, muß ich 2 Mal die Datei /etc/grub.conf traktieren : Einmal ganz am Anfang (setup... und Befehl grub --batch < /etc/grub.conf), aber auch ganz am Ende: D.h. wenn der Zustand nach dem eben genannten Schritt erreicht ist, ist anschließend in der (gegenüber jetzt veränderten) /etc/grub.conf noch - genau wie an allen Stellen in den anderen genannten Dateien - der Name hd0 durch hd1 (und umgekehrt) zu ersetzen - ist das richtig?

2) Windows betreffend: Nach dem Namensautausch von hd0 und hd1 würde in der Datei /boot/grub/menu.lst u.a. stehen:

###Don't change this comment - YaST2 identifier: Original name: windows 1###
title windows 1
rootnoverify (hd1,0)
chainloader +1

sehr ähnlich dazu, wie in http://de.opensuse.org/SDB:Windows_von_der_zweiten_Festplatte_booten beschrieben. (Statt "root" eben "rootnoverify", aber davon ist schon auf der zitierten Seite die Rede.) Allerdings fehlt die Zeile "makeactive". Da das jedoch schon jetzt der Fall ist, scheint mir aber, daß ich die dann nicht einfügen sollte?

Ich würde also die Umbenennung (hd0/hd1) an allen von josef-wien genannten Stellen vornehmen und danach (wie auf der eben genannten Seite angegeben) bei dem eben wiedergegebenen Eintrag zu windows 1 anfügen:

map (hd0) (hd1)
map (hd1) (hd0)

Ist das so gemeint gewesen?

Dann noch etwas: Eigentlich weiß ich gar nicht, was ich im GRUB-Menu mit dem Eintrag "title windows 2" anfangen soll. Da da (jedenfalls zur Zeit) gar nichts gestartet werden kann, gehört das m.E. nicht in das Menu. Kann ich in der Datei /boot/grub/menu.lst den auf "windows 2" bezogenen Block einfach auskommentieren (vor jede Zeile drei Doppelkreuze ### setzen)? Dann würde natürlich im vorherigen Block "windows" (statt "windows 1") genügen. Ich weiß nur nicht, ob man diese Einträge einfach so ändern darf, oder ob sie an anderer Stelle noch eine Rolle spielen, wo dann evtl. irgendwas hakt.

Gruß, Pius
 
A

Anonymous

Gast
zu erstens:
josef-wien schrieb:
Zur Installation von GRUB änderst Du die Datei /etc/grub.conf auf
Code:
setup --stage2=/boot/grub/stage2 --force-lba (hd1) (hd1,0)
quit
und führst den Befehl
Code:
grub --batch < /etc/grub.conf
also die Datei ändern und mit hilfe der geänderten Datei den Bootloader auf die andere Platte neu schreiben. Dabei wird von Linux die Gerätezuordnung von hd0 und hd1 aus der Datei /boot/grub/device.map verwendet genau so wie sie gerade in dieser Datei steht. Alles andere wird hier erstmal dabei noch nicht geändert, da das sich nur erstmal den Ort des Bootloaders betrifft, und zwar aus der aktuellen Sicht des Betriebssystems.

Anders ist die Interpretation während des bootes durch Grub. hierbei bin ich mir nicht sicher ob diese Datei wirklich ausgewertet wird, ich vermute mal, wohl ehr nicht, weil er sie zu diesem Zeipunkt noch gar nicht lesen kann. Grub nimmt in diesem frühem Stadium des Bootens die Reihenfolge der Platten, die es vom BIOS hochbekommt. Das ist zwar im Normalfall genau die Reihenfolge die auch in der Datei device.map steht, aber wenn man am BIOS-Bootloader herumbaut, kann (muss sich aber nicht in jedem Fall) sich diese auch ändern. Sollte das wirklich der Fall sein. dann müssten alle derartigen Einträge in der "menu.lst" ; "grub.conf" ; "device.map" entsprechen alle umgeändert werden.

Wenn sich der Bootloader und die Grubdateien auf ein und der selben Platte befinden, dann ist in der Konfiguration von stage1 und stage1.5 immer vermerkt "Platte 0xff (selbe Platte), Block ....." , es wird also in diesem Fall immer bis in das Grubmenu hineinzubooten sein.

Anders jedoch wenn das auf getrennten Platten liegt, da steht dann "Platte 0x80 - Block ....." (Platte 0x80 (hd0) ist dabei das was als hd0 vom BIOS gemeldet wird, und 0x81 ist das was als hd1 gemeldet wird usw. 0xff bedeutet soviel wie gleiche Platte ) In diesem Fall würde sich ein Vertauchen der Devices im BIOS schon dadurch auswirken, das nicht mal mehr stage2 geladen wird und damit nicht bis ins Grubmenü gebooten werden kann.

Sollten im Grub dann die Menüpunkte nicht´mehr funktionen, weil die Devices vom BIOS her vertauscht sind, dann kann man das erforschen und ermitteln, in dem man dort auf die Grubshell wechselt und sucht wo Grub die Datei /boot/grub/stage2 findet ( oder jede andere eindeutige Datei die sich auf dem selben Dateisystemtype befindet könnte man auch suchen lassen )

Code:
grub > find /boot/grub/stage2
Als Antwort siehst du dann die (Platte,Partition) aus der aktuellen Grubsicht, wo sich diese Datei befindet. Hat sich hier was gravierend zur aktuellen Grubkonfiguration geändert, dann müsste man hier notfalls dann händisch booten oder über ein CD, um die Zuordnung der Platten in den obrigen Dateien händisch anzupassen.

robi
 

josef-wien

Ultimate Guru
/etc/grub.conf ist eine Konfigurationsdatei von YaST. Wenn Du in der Bootloader-Konfiguration etwas änderst, ändert YaST diese Datei (und führt vermutlich danach den Befehl "grub --batch < /etc/grub.conf" aus). /boot/grub/device.map ist eine "Übersetzunghilfe" zwischen Linux und GRUB und wird immer dann verwendet, wenn Du (direkt oder über YaST) im laufenden System GRUB-Befehle ausführst; beim Systemstart spielt sie nicht mit. Mein Satz "/boot/grub/device.map und /etc/grub.conf solltest Du zum Abschluß auch entsprechend adaptieren." soll in erster Linie das Risiko verkleinern, daß bei der nächsten Verwendung der Bootloader-Konfiguration etwas Unerwünschtes passiert.

Jene Platte, von der das BIOS das System startet, hat die BIOS-ID 0x80 (für GRUB schreibt man dafür üblicherweise hd0, obwohl auch 0x80 eine gültige Angabe ist). Wenn die Speicherkarte die Boot-Platte ist, müssen alle Linux betreffenden Angaben in der menu.lst auf hd0 lauten, denn hd1 ist in diesem Fall die interne Festplatte. Die Datei beschreibt das Boot-Menü und die zu treffenden Aktionen, ansonsten wird sie nicht verwendet. Du kannst in der Übergangsphase ohne weiteres alle Blöcke doppelt eintragen (einmal mit hd0 und einmal mit hd1, funktionieren wird immer nur der "richtige" Eintrag); wenn die "gfxmenu"-Zeile "falsch" ist, bekommst Du kein grafisches, sondern nur ein textbasiertes Menü.

Die Zeile "makeactive" ist in Deinem Fall nicht notwendig, da die erste primäre Partition der internen Festplatte ohnehin aktiviert ist. Es schadet aber nicht, wenn sie vorhanden ist. Die Installationsroutine erkennt zwei primäre NTFS-Partitionen und schreibt deshalb zwei Einträge in die Datei, den nicht benötigten kannst Du löschen, unter "title" kannst Du schreiben, was Du willst. Die beiden "map"-Zeilen waren so gemeint.

Falls wider Erwarten nach der MBR-Änderung der internen Festplatte das System nicht startet, kannst Du GRUB auch manuell installieren: http://www.linux-club.de/viewtopic.php?f=4&t=100589&p=612947#p612947 (an Stelle des Rettungssystems kannst Du bei der Live-CD eine Konsole öffnen).
 
Oben