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

[gelöst] openSUSE 11.4 auf externer HDD

candoom

Newbie
Hallo,

ich möchte gerne openSUSE auf einer externen USB-HDD installieren und scheitere allerdings immer am Bootloader. Ich habe schon verschiedene andere Linux-Distributionen auf externen Platten und boote diese nach "gusto" ... leider klappt das mit openSUSE nicht so.

In meinem Rechner befindet sich einer Festplatte mit Windows XP drauf, die allerdings idealerweise unberührt bleiben soll.

Während der Installation von openSUSE ändere ich die vorgegebene Einstellung dahingehend ab, dass der Bootloader bitte auf der externen Platte (sdb) installiert werden soll. Nach einem Neustart kann er aber von der Platte nicht booten und hüpft quasi gleich wieder auf die interne und lädt Windows :/

Ich habe schon viel ausprobiert und kann das openSUSE nur wieder hochfahren, wenn ich eine Aktualisierung wie Installations-DVD mache ... danach bin ich zumindest wieder im KDE. Zuletzt hatte ich im Yast nochmal verschiedene Einstellungen ausprobiert und mir dabei auch den MBR der internen Platte überschrieben (hab ich wieder rückgängig gemacht).

Hat jemand einen Tipp für mich iwe ich es bewerkstelligt bekomme, dass der Bootloader auf der externen Platte ist und auch nur dann geladen wird, wenn ich von ihr booten möchte?

Achsooo ... ich hab natürlich versucht mich zu dem Thema schlau zu machen (z.B. hier: http://de.opensuse.org/Installation) aber irgendwie geht man auf dieses Thema nicht so sehr ein :/
 

TomcatMJ

Guru
http://syslinux.zytor.com/wiki/index.php/EXTLINUX köönte da durchaus weiterhelfen. Um dir da für die zu nutzende Konfigurationsdatei eine Mustervorlage zu basteln bräuchte man allerdings ein paar Informationen mehr,als da wären die Ausgaben folgender Befehle aus dem (z.B. per Installations-DVD gestartetem) bereits installiertem System heraus:
Code:
fdisk -l
Code:
cat /boot/grub/menu.lst
da man dann die in der menu.lst hinterlegten Informationen für den ja offensichtlich nicht starten wollenden Grub als Parameter für die KERNEL und APPEND Zeilen der extlinux.cfg Datei möglichst weitervwenden kann.
Dazu müsstest du im BIOS mal das Booten von der USB-Platte aktivieren und da der dort installierte Bootloader ja nichts machen will trotzdem die Installations-DVD einlegen und dort mal den Start des bereits installierten Systems von der USB-Platte veranlassen, dort dann die Ausgaben der als root aufgerufenen Befehle jeweils in eine Datei auslagern die du dann, sofern du im opensuse noch keinen I-Netzugang eingerichtet hastm z.B. auf einen USB-Stick auslagern kannst um sie im Anschluß hier zu posten.

Bis denne,
Tom (der nun einfach mal hofft daß' du eines der von extlinux unterstützten Dateisysteme auf deiner Platte verwendest und kein sonstiges)

P.S.: extlinux ist übrigens ein Teil des syslinux-Pakets welches auch in den opensuse Repositories zu finden ist,nötigenfalls aber auch als Tarball von der Syslinux-Homepage ausgehend herunterladbar ist.
 

josef-wien

Ultimate Guru
candoom schrieb:
Nach einem Neustart kann er aber von der Platte nicht booten und hüpft quasi gleich wieder auf die interne und lädt Windows
Was heißt das im Klartext? Entweder hat die externe Platte einen Bootloader, dann wird dieser gestartet (auch wenn er "Müll" enthält). Oder es ist kein Bootloader installiert, dann wendet sich das BIOS der nächsten Platte zu. Hast Du vor der Installation von openSUSE die externe Platte als Boot-Platte definiert? Was hast Du bei der Bootloader-Installation ausgewählt und was nicht (es gibt durchaus einige sich widersprechende Möglichkeiten, die YaST manchmal veranlassen, nichts zu tun)?

Um das Verfahren abzukürzen, kannst Du versuchen, GRUB in den MBR zu installieren. In der Zeile setup mußt Du dabei jene Platte angeben, die der find-Befehl liefert (Du willst ja nicht neuerlich den MBR Deiner internen Platte verändern).

TomcatMJ schrieb:
Das ist durchaus eine Alternative (und bei meinem Katastrophenvorsorge-Datenträger auch im Einsatz, man will ja schließlich nicht einseitig sein), aber da die üblichen Distributionen GRUB[2] verwenden, sollten wir Nicht-Spezialisten nicht überfordern.
 
OP
C

candoom

Newbie
Code:
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 Köpfe, 63 Sektoren/Spur, 121601 Zylinder, zusammen 1953525168 Sektoren
Einheiten = Sektoren von 1 × 512 = 512 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xde7ede7e

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sda1   *          63   204796619   102398278+   7  HPFS/NTFS/exFAT
/dev/sda2       204796620  1953520064   874361722+   f  W95 Erw. (LBA)
/dev/sda5       204796683   450703574   122953446    7  HPFS/NTFS/exFAT
/dev/sda6       450703638   611707004    80501683+   7  HPFS/NTFS/exFAT
/dev/sda7       611707068   734491799    61392366    7  HPFS/NTFS/exFAT
/dev/sda8       734491863   941280479   103394308+   7  HPFS/NTFS/exFAT
/dev/sda9       941280543  1146880349   102799903+   7  HPFS/NTFS/exFAT
/dev/sda10     1146880413  1550192174   201655881    7  HPFS/NTFS/exFAT
/dev/sda11     1550192238  1953520064   201663913+   7  HPFS/NTFS/exFAT

Disk /dev/sdb: 120.0 GB, 120034123776 bytes
255 Köpfe, 63 Sektoren/Spur, 14593 Zylinder, zusammen 234441648 Sektoren
Einheiten = Sektoren von 1 × 512 = 512 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x477719f1

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdb1   *        2048     4208639     2103296   82  Linux Swap / Solaris
/dev/sdb2         4208640    88100069    41945715   83  Linux
/dev/sdb3        88100070   234441647    73170789   83  Linux

Das kann doch nicht stimmen, dass die Swap-Partition das Boot-Flag hat, oder? Ich hab gerade mal wieder über die Aktualiserung mein Opensuse hochgefahren und schau im YaST, was man noch so einstellen kann. Ich setze jetzt mal die sdb2 als boot.

ich starte mal neu :schockiert:

update ... ca.5 minuten später ... ein versuch macht klug > es ging in die hose. jetzt habe ich natürlich noch vergessen die konfiguration des bootloaders hier zu veröffentlichen ... ich mach nochmal eine "aktualisierung" ;)

2.update ... bin wieder im aktualisierten opensuse

hier noch die ausgabe der menu.lst

Code:
# Modified by YaST2. Last modification on Mo Mär 28 20:13:09 CEST 2011
# 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 (hd0,1)/boot/message
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###
title Desktop -- openSUSE 11.4 - 2.6.37.1-1.2
    root (hd0,1)
    kernel /boot/vmlinuz-2.6.37.1-1.2-desktop root=/dev/disk/by-id/usb-FUJITSU_MHW2120BH_000000008820-0:0-part2 resume=/dev/disk/by-id/usb-FUJITSU_MHW2120BH_000000008820-0:0-part1 splash=silent quiet  showopts vga=0x345
    initrd /boot/initrd-2.6.37.1-1.2-desktop

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.4 - 2.6.37.1-1.2
    root (hd0,1)
    kernel /boot/vmlinuz-2.6.37.1-1.2-desktop root=/dev/disk/by-id/usb-FUJITSU_MHW2120BH_000000008820-0:0-part2 showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x345
    initrd /boot/initrd-2.6.37.1-1.2-desktop

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

hab jetzt auch nochmal das tutorial ausgeführt ... starte jetzt nochmal neu
 

TomcatMJ

Guru
Hm,sieht nun ein bsichen durcheinandergeraten aus deine menu.lst...zumindest wenn man sich die Kennungen der zu verwendenden Partitionen nun anschaut. Welche Platte wurde zum Zeitpunkt der Kopie der menu.lst denn als die Windows enthaltende Platte angezeigt?
Immer noch /dev/sda ?Wenn ja solltest du alles was
Code:
hd0,1
in deiner menu.lst enthält mal durch
Code:
hd1,1
ersetzen, (auch die Angabe in der Zeile mit gfxmenu sofern du einen grafisch aussehenden Bootloader haben willst) denn hd0,1 zeigt auf /dev/sda2 und nicht auf /dev/sdb2 gemäß GrUB Nomenklatur. Sollte deine Windowsplatte dann jedoch als /dev/sdb angezeigt worden sein, so solltest du
Code:
hd0,0
durch
Code:
hd1,0
ersetzen damit auf die tatsächliche Windowspartition verwiesen wird.
Und dann natürlich den GrUB nochmal in den MBR deiner externen Platte installieren lassen, aber nicht auf die eingebaute,denn sonst gibt das Stress wenn die externe Platte mal nicht dranhängen sollte und GrUB dann vergeblich seine Konfiguration sucht!
Wenn es dann noch immer nicht klappen sollte und du es mal mit extlinux probieren willst sag Bescheid,dann bauen wir hier mal eine Musterkonfiguration für dein System ;) (muss aber nicht sein wenn wir GrUB doch zum laufen bekommen können )....

Bis denne,
Tom
 
OP
C

candoom

Newbie
dank dir nochmal tom ... aber irgendwie gehts jetzt auch so (mit deinem vorherigen tipp) ... zumindest glaube ich, dass es daran liegt. naja ... das nächste kernel-update wird kommen und den bootloader wieder umschreiben - dann kann ich ja rumprobieren mit was ich es hinbekommen habe ;)

dafür habe ich jetzt das nächste problem: beim software-update hat es (das war so gewollt) den aktuellen fglrx mit installiert und nun bleibt der bildschirm dunkel ... auf eine konsole kann ich auch nicht umschalten :/ ich begebe mich mal ins entsprechende forum ...
 

TomcatMJ

Guru
josef-wien schrieb:
TomcatMJ schrieb:
Das ist durchaus eine Alternative (und bei meinem Katastrophenvorsorge-Datenträger auch im Einsatz, man will ja schließlich nicht einseitig sein), aber da die üblichen Distributionen GRUB[2] verwenden, sollten wir Nicht-Spezialisten nicht überfordern.
Nunja, ein System auf ner externenen Platte bottfähig zu installieren ist ja nun auch nicht gerade der übliche Weg einer Systeminstallation :D und extlinux hat eben den Vorteil solang ihm nix anderes explizit gesagt wird erstmal von genau dem Datenträger zu booten und dort seine Konfiguration zu suchen wo es installiert wurde,ganz egal wie dieser Datenträger gerade im BIOS durchnummeriert wurde :D
Daher kam ich ja für genau dieses Problem auf die Idee nötigenfalls auf extlinux auszuweichen ;)

@candoom: Wenn das Problem dieses Threads erledigt ist bitte noch dein erstes Posting editieren und dem Titel ein
Code:
[gelöst]
voranstellen,danke ;)
 

josef-wien

Ultimate Guru
candoom schrieb:
das nächste kernel-update wird kommen und den bootloader wieder umschreiben
Ein Kernel-Update hat nichts mit dem Bootloader an sich zu tun, es werden nur neue Werte in die menu.lst geschrieben.

Wie sehen /boot/grub/menu.lst, /boot/grub/device.map und /etc/grub.conf jetzt aus?
 
OP
C

candoom

Newbie
josef-wien schrieb:
candoom schrieb:
das nächste kernel-update wird kommen und den bootloader wieder umschreiben
Ein Kernel-Update hat nichts mit dem Bootloader an sich zu tun, es werden nur neue Werte in die menu.lst geschrieben.

Wie sehen /boot/grub/menu.lst, /boot/grub/device.map und /etc/grub.conf jetzt aus?

menu.lst

Code:
  GNU nano 2.2.6                                                                              File: menu.lst                                                                                                                                                                   

# Modified by YaST2. Last modification on Mo Mär 28 20:13:09 CEST 2011
# 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 (hd0,1)/boot/message
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###
title Desktop -- openSUSE 11.4 - 2.6.37.1-1.2
    root (hd0,1)
    kernel /boot/vmlinuz-2.6.37.1-1.2-desktop root=/dev/disk/by-id/usb-FUJITSU_MHW2120BH_000000008820-0:0-part2 resume=/dev/disk/by-id/usb-FUJITSU_MHW2120BH_000000008820-0:0-part1 splash=silent quiet  showopts vga=0x345
    initrd /boot/initrd-2.6.37.1-1.2-desktop

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.4 - 2.6.37.1-1.2
    root (hd0,1)
    kernel /boot/vmlinuz-2.6.37.1-1.2-desktop root=/dev/disk/by-id/usb-FUJITSU_MHW2120BH_000000008820-0:0-part2 showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x345
    initrd /boot/initrd-2.6.37.1-1.2-desktop

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

device.map

Code:
(hd0)   /dev/disk/by-id/usb-FUJITSU_MHW2120BH_000000008820-0:0
(hd1)   /dev/disk/by-id/ata-Hitachi_HDT721010SLA360_STF605MS0B7BBK

grub.conf

Code:
setup --stage2=/boot/grub/stage2 --force-lba (hd0,0) (hd0,1)
quit
 

TomcatMJ

Guru
..udn wenn du jetzt in deiner menu.lst im letzten Abschnitt,dem für Windows, aus
Code:
rootnoverify (hd0,0)
ein
Code:
rootnoverify (hd1,0)
machst,dann kannst du auch von deiner externen Platte aus dein Windows starten ;)
Momentan dürfte der Versuch wohl eher im Nirvana enden sofern du nicht im BIOS die Bottplattenreihenfolge umstellst und die externe Platte dranhast...
 

josef-wien

Ultimate Guru
candoom schrieb:
Das kann doch nicht stimmen, dass die Swap-Partition das Boot-Flag hat, oder?
Das mußt Du damals veranlaßt haben, es ja auch seinen Niederschlag in grub.conf gefunden:
candoom schrieb:
setup --stage2=/boot/grub/stage2 --force-lba (hd0,0) (hd0,1)
Da Du GRUB jetzt im MBR hast, solltest Du (hd0,0) durch (hd0) ersetzen (nachdem ich es gestern erst erklärt habe, verweise ich einfach darauf).

P.S. Auch die SWAP-Partition hat einen Boot-Sektor, daher kann auch dort GRUB installiert werden.
 
Oben