Umzug mit SuSE 9.3 auf neue Platte, Probleme mit Grub-Konfig bzgl. Windows-Boot

G

Green Mamba

Gast
Hi zusammen,

ich möchte mit meiner fertigen Installation auf eine neue Platte umziehen. Die neue Platte ist eine SATA-Platte, die aber am nativen SATA-Controller hängt, und von daher keine extra Treiber braucht. Yast schlägt mir eine neue Bootloader-Konfig vor, die aber so noch nicht passt. Ich möchte vorerst beide Linux-Partitionen im Grub haben, so dass ich beide unabhängig verwenden kann. Danach fliegt die alte raus.
Ich habe bislang die Linux-Partitionen mittels Partition Magic auf die neue Platte kopiert. Eine Partitionsübersicht, sowie die aktuelle Grub-Einstellungen finden sich im Anhang. Momentan kann mit diesen Grub-Einstellungen nur das alte Linux gebootet werden. Windows funktioniert gar nicht, und wenn ich das neue Linux booten will, bootet der das alte. Was muss ich ändern dass alles funzt? :D

Viele Grüße,
Timo

PS: Wenn die Infos nicht ausreichen, einfach fragen, ich liefere dann nach. :)
 

Anhänge

  • partitionierung.jpg
    partitionierung.jpg
    122 KB · Aufrufe: 266
  • grub.jpg
    grub.jpg
    94,7 KB · Aufrufe: 266
Zuletzt bearbeitet:
der eintrag suse linux 9.3 und der eintrag suse linux 9.3 (/dev/sdb6) verweisen beide auf die gleiche partition. du musst also im bootloader root=/dev/hda6 auf root=/dev/sdb6 stellen, sofern denn sdb6 stimmt und es die zweite logische partition auf der 2. s-ata platte ist.
desweiteren muss hd0,5 umgestellt werden auf ich glaube hd1,5 Zu guter letzt muss in der /etc/fstab noch umgeändert werden welche partionen das system hat.
 
Zuletzt bearbeitet:
Args, die fstab hab ich ganz vernachlässigt. :D
Die hab ich jetzt angepasst. In der Konfig-Zeile der neuen Linux-Partition steht folgendes:
(hd0,5)/boot/vmlinuz root=/dev/sdb6 vga=0x317 selinux=0 splash=silent resume=/dev/sdb6 showopts
(hd0,5)/boot/initrd
Muss das rote nicht auch angepasst werden? Wie sieht dieser Eintrag bei SATA-Platten aus? sd1,5 für sdb6?
 
Green Mamba schrieb:
Muss das rote nicht auch angepasst werden? Wie sieht dieser Eintrag bei SATA-Platten aus? sd1,5 für sdb6?
ich weiss es nicht wie grub das mit den sata platten macht(hatte auch selbst noch keine, dein vorschlag sieht aber logisch aus). der eintrag muss aber auf jedenfall umgestellt werden..
 
Also, ich habe jetzt rausgefunden, dass die SATA-Festplatten für Grub umgemappt werden. Die sieht so aus:
Code:
(hd1)   /dev/hdb
(hd2)   /dev/sda
(hd3)   /dev/sdb
(hd0)   /dev/hda
Daher weiß ich jetzt wie ich das neue Linux booten kann. Hier die aktuelle menu.lst:
Code:
# Modified by YaST2. Last modification on Mi Dez  7 13:43:11 CET 2005

color white/blue black/light-gray
default 0
timeout 8
gfxmenu (hd0,5)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE LINUX 9.3
    kernel (hd0,5)/boot/vmlinuz root=/dev/hda6 vga=0x317 selinux=0  splash=silent resume=/dev/hda5  showopts
    initrd (hd0,5)/boot/initrd

###Don't change this comment - YaST2 identifier: Original name: SUSE LINUX 9.3 (/dev/sdb6)###
title SUSE LINUX 9.3 (/dev/sdb6)
    kernel (hd3,5)/boot/vmlinuz root=/dev/sdb6 vga=0x317 selinux=0  splash=silent resume=/dev/sdb6  showopts
    initrd (hd3,5)/boot/initrd

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

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

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- SUSE LINUX 9.3
    kernel (hd0,5)/boot/vmlinuz root=/dev/hda6 showopts ide=nodma apm=off acpi=off vga=normal noresume selinux=0 barrier=off nosmp noapic maxcpus=0  3
    initrd (hd0,5)/boot/initrd

###Don't change this comment - YaST2 identifier: Original name: memtest86###
title Speichertest
    kernel (hd0,5)/boot/memtest.bin

###Don't change this comment - YaST2 identifier: Original name: version=2.6.11.4-21.9-default###
title 2.6.11.4-21.9-default
    kernel (hd0,5)/boot/vmlinuz-2.6.11.4-21.9-default root=/dev/hda6 vga=0x317 selinux=0  splash=silent resume=/dev/hda5  showopts
    initrd (hd0,5)/boot/initrd-2.6.11.4-21.9-default
Allerdings funktionieren die Windows-Partitionen noch nicht. Hab diese Einträge nach einer Anleitung aus dem Netz erstellt. Aber anscheinend gibts noch Fehler. Weiß jemand woran das liegt?

//Edit
Wenn ich eine Windows-Partition booten möchte, wird nur folgender Text ausgegeben. Der Rechner ist dann nicht mehr ansprechbar.
rootnoverify (hd2,1)
makeactive
chainloader +1
 
Zuletzt bearbeitet:
Die Windows-Systeme liegen auf hdb1 und sda2. Nach dem Schema wird doch bei sda2 eins abgezogen, also sda1, und sda wird ersetzt durch hd2. Heraus kommt hd2,1. Wo ist der Denkfehler?
Ich teste es mal. :)

//Edit
Mit hd2,0 meckert er dass es diese Partition nicht gibt. Hatte auch schon sowas erwartet. Mit diesen Einstellungen hier:
Code:
root (hd2,1)
savedefault
makeactive
chainloader +1
bekomme ich diese Fehlermeldung:
root (hd2,1)
Filesystem type unknown, partition type 0x7
savedefault
makeactive
chainloader +1
So langsam verzeifel ich. :D

Btw, das umkopieren selbst war ja nicht so das problem, die neue Parition funzt ja jetzt bereits. Vielmehr komm ich mit Grub nicht klar, oder Grub mit mir, wie mans sieht... :p
 
Wenn Du im Grub-Menu (nach Neustart) bist und auf einen Windows-Eintrag wanderst und dann mal die Taste "E" drückst, kannst Du die einzelnen Zeilen editieren. Mit den Cursortasten wanderst Du dann zum Beispiel auf den Eintrag "root (hd2,1)" und drückst die Taste "TAB". Dann sollten ein paar mögliche Vorschläge von Grub kommen. So kann man Einzelne Einträge auf Gültigkeit überprüfen.
Das funktioniert sehr gut bei Linux-Partitionen, ob es bei Windows-Partitionen auch klappt, weiß ich nicht.

Hast Du etwas geändert und willst es ausprobieren, drücke "B" für Boot - und Daumen drücken :D (Achtung, die Änderungen werden NICHT gespeichert)
 
Wenn ich die Taste "E" drücke, schreib ich in der Zeile "Bootoptions". Dort erscheint dann ein "e". :D
Klappt also nicht mit dem editieren. :(
 
Interessanterweise wird ja laut YAST gar kein sda1 bzw. sdb1 angezeigt, sondern es geht bei 2 los. Ich würde einfach mal folgendes testen:

root (hd2,2)
savedefault
makeactive
chainloader +1


*edit*
Ob der Eintrag mit root richtig ist weiß ich nicht, würde eher rootnoverify (hd2,2) versuchen
 
Zuletzt bearbeitet:
Hi,

beruecksichtigst du das hier ?

Code:
GRUB cannot boot DOS or Windows directly, so you must chain-load them
(*note Chain-loading::). However, their boot loaders have some critical
deficiencies, so it may not work to just chain-load them. To overcome
the problems, GRUB provides you with two helper functions.

If you have installed DOS (or Windows) on a non-first hard disk, you
have to use the disk swapping technique, because that OS cannot boot
from any disks but the first one. The workaround used in GRUB is the
command `map' (*note map::), like this:

grub> map (hd0) (hd1)
grub> map (hd1) (hd0)

This performs a "virtual" swap between your first and second hard
drive.
*Caution:* This is effective only if DOS (or Windows) uses BIOS to
access the swapped disks. If that OS uses a special driver for the
disks, this probably won't work.

falls nein (nach der map sieht es nicht so aus) kannst du dir z.B. deinen alten thread anschauen :
https://www.computerbase.de/forum/t...mit-grub-3-festplatten-und-2x-windows.141073/

ein versuch waere es wert oder hat es damals auch nicht geklappt ?
 
@aki
Mit diesen Einträgen kommt folgendes:
root (hd2,2)
Filesystem type unknown, partition type 0xf
savedefault
makeactive

Error 12: Infalid device requested...

@Bacchisio
Also wenn ich im BIOS die Platte als Bootplatte angebe, bootet Windows ganz normal. Was ist denn genau eine "non-first hard disk"? Ich meine, beide Windows-Systeme booten ganz normal, wenn diese Platte als Bootplatte eingetragen ist. Von daher dürfte das nicht das Problem sein, oder? :confused_alt:

//Edit
Alles klar, jetzt funktioniert es. Es lag tatsächlich an diesem mapping. Hab zwar nicht verstanden warum, aber hauptsache es geht. :D
Ich möchte jetzt zum schluss noch den Grub komplett auf die neue Platte legen. Die Konfig-Dateien benutzt er schon aus der neuen Linux-Partition, aber grub selbst liegt noch auf hda, soll aber auf sdb umgesiedelt werden. Die alte Linux-Parition möchte ich dann entsorgen. Ich versuch grad mal was, und melde mich dann wieder...


//Edit
So, es hat funktioniert. Habe den Grub auf die andere Platte gespeichert, dadurch wurden die Platten neu nummeriert. Diese neue Nummerierung hab ich dann übertragen, und jetzt bootet alles korrekt.
Vielen Dank euch allen, besonders dir, Bacchisio! :)
 
Zuletzt bearbeitet:
Es ist eigentlich ganz einfach :

windows kann nur von der ersten Platte booten, mit dem mapping lässt man ihn das glauben wenn die Installation sich nicht auf der ersten Platte befindet. Eine ganz genaue Definiton von "erste Platte" kann ich auch nicht angeben, man kann sich an /dev/hda orientieren

Zusammenfassung : windows ist schuld ;)
 
Zuletzt bearbeitet:
Ja, aber seltsam ist dass wenn ich die Win-Platte als Boot-Platte im BIOS einstelle funktioniert es ja. Wahrscheinlich ist die im BIOS eingestellte Boot-Platte die "erste Platte"? :)
 
Zurück
Oben