• 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] externe hd formatieren und als interne hd benutzen

Tooltime

Advanced Hacker
6. Anpassen von Filesystemtabelle und Bootloaderkonfiguration an neues Partitionslayout
Da gibt es eigentlich nur eins zu beachten, später wenn die Platte eingebaut ist, wird sie die erste Platte im System sein. Dem entsprechend heißt sie dann nicht mehr sdb sondern sda. Gleiches gilt für die Adressierung über das Bios, daher taucht sie in der Booloaderkonfiguration auch als hd0 auf. Die Biosadressierung benutzt auch eine etwas andere Zählweise für Partitionen, so heißt die erste Partition bei der Biosadressierung Nummer 0. (sda1==hd0,0 sda2==hd0,1 sda3==hd0,2 usw.)

In diesem Fall müssen nur die beiden folgenden Dateien auf der neuen Platte editiert werden:

  • # Neues root-Filesystem temporär mounten
    mount /dev/sdb2 /mnt

    /mnt/etc/fstab durch folgende Version ersetzen:
    Code:
    /dev/sda3 swap                 swap       defaults              0 0
    /dev/sda2 /                    ext3       acl,user_xattr        1 1
    /dev/sda5 /home                ext3       acl,user_xattr        1 2
    /dev/sda1 /windows/C           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
    /mnt/boot/grub/menu.lst durch folgende Version ersetzen:
    Code:
    # Modified by YaST2. Last modification on Sat Sep 13 23:06:11 WEST 2008
    default 0
    timeout 8
    gfxmenu (hd0,1)/boot/message
    
    ###Don't change this comment - YaST2 identifier: Original name: linux###
    title openSUSE 11.0 - 2.6.25.16-0.1
        root (hd0,1)
        kernel /boot/vmlinuz-2.6.25.16-0.1-default root=/dev/sda2 resume=/dev/sda3 splash=silent showopts vga=0x317
        initrd /boot/initrd-2.6.25.16-0.1-default
    ###Don't change this comment - YaST2 identifier: Original name: failsafe###
    title Failsafe -- openSUSE 11.0 - 2.6.25.16-0.1
        root (hd0,1)
        kernel /boot/vmlinuz-2.6.25.16-0.1-default root=/dev/sda2 showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off x11failsafe vga=0x317
        initrd /boot/initrd-2.6.25.16-0.1-default
    
    ###Don't change this comment - YaST2 identifier: Original name: windows###
    title Windows
        rootnoverify (hd0,1)
        chainloader (hd0,0)+1

    # Neues root-Filesystem wieder unmounten
    cd
    umount /mnt
Den Rest kann später bequem mit YaST anpassen.
 

Tooltime

Advanced Hacker
mrehm schrieb:
/mnt/etc/fstab durch folgende Version ersetzen:
/mnt/boot/grub/menu.lst durch folgende Version ersetzen:

Der Ordner /mnt ist leer. Meinst Du /etc/fstab resp. /boot/grub/menu.lst?
Sollte es aber nicht wenn man zuvor folgenden Befehl ausgeführt hat:
Tooltime schrieb:
# Neues root-Filesystem temporär mounten
mount /dev/sdb2 /mnt
Es sei denn, du hast das root-Filesystem nicht mit dump/restore übertragen, wie ich es zuvor beschrieben habe.
 
OP
M

mrehm

Hacker
Der DateiManager zeigte mir ein leeres Verzeichnis an, in der Konsole ging es.

Code:
linux-mt4c:/home/martinrehm # cat /mnt/etc/fstab
/dev/sda3 swap                 swap       defaults              0 0
/dev/sda2 /                    ext3       acl,user_xattr        1 1
/dev/sda5 /home                ext3       acl,user_xattr        1 2
/dev/sda1 /windows             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

und

Code:
linux-mt4c:/home/martinrehm # cat /mnt/boot/grub/menu.lst
# Modified by YaST2. Last modification on Sat Sep 13 23:06:11 WEST 2008
default 0
timeout 8
gfxmenu (hd0,5)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.0 - 2.6.25.16-0.1
    root (hd0,1)
    kernel /boot/vmlinuz-2.6.25.16-0.1-default root=/dev/sda2 resume=/dev/sda3 splash=silent showopts vga=0x317
    initrd /boot/initrd-2.6.25.16-0.1-default

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.0 - 2.6.25.16-0.1
    root (hd0,1)
    kernel /boot/vmlinuz-2.6.25.16-0.1-default root=/dev/sda2 showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off x11failsafe vga=0x317
    initrd /boot/initrd-2.6.25.16-0.1-default

###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows
    rootnoverify (hd0,1)
    chainloader (hd0,0)+1
linux-mt4c:/home/martinrehm # cd
linux-mt4c:~ # umount /mnt
 

Tooltime

Advanced Hacker
7. Neue Platte einbauen.
Einfach die Platten im Notebook austauschen.

8. Über Installations-CD/DVD das System auf neuer Platte starten.
Entfällt weil wahrscheinlich der Kernel des Installationsmedium (kernel-default) sich nicht mit der installierten Version (kernel-pae) verträgt. Statt dessen installieren wir den Bootloader mit dem Reparatur-System.


9. Neuen Bootblock auf Platte schreiben.
Vom Installationsmedium starten, Sprache auswählen und beim Bootmenü die Option "Installiertes System reparieren" auswählen.

Auf "Expertenwerkzeuge" klicken und dann "Neuen Bootloader installieren" auswählen. In der erscheinenden Dialogbox "Wählen sie eine Boot-Partition" "/dev/sda2" auswählen.

Im folgenden Dialog auf den Tabulator "Bootloader-Installation" klicken und dort unter "Speicherort des Bootloaders" die Option "Aus Bootpartition booten" aktivieren, alle anderen Optionen sollten deaktiviert sein.

Anschließend den Button "Bootloader-Optionen" anklicken. Im Dialog die Optionen "Aktives Flag in Partitonstabelle für Bootpartition festlegen" und "Generischen Bootcode in MBR schreiben" aktivieren.

Auf OK -> Beenden -> Meldung "Bootloader wurde installiert ..." mit OK bestätigen.
zurück -> Beenden -> Verlassen/neu starten

Das System sollte neu booten und einfach von Festplatte starten lassen.

10. Wenn ich nichts vergessen habe, sollte alles funktionieren.
Wenn alles geklappt hat sollte der normale Linux-Bootmanager erscheinen und sowohl Linux als auch Windows müssten starten können.
 
OP
M

mrehm

Hacker
Jau, das werde ich dann so machen.

zu 8.
der kernel auf der live-cd ist mit Sicherheit nicht der, der jetzt im System werkelt, ich habe mindestens ein kernel-upgrade gemacht.

Ich hoffe, dass die Option `Installiertes System reparieren' auch funktioniert; damit habe ich schon schlechte Erfahrungen gemacht nach einem update von opensuse 10.2 auf 10.3, siehe

http://www.linux-club.de/viewtopic.php?f=4&t=89819

Der Plattentausch sollte nach ibm-Handbuch easy sein, vamos ver! Die nächsten Tage nehme ich es in Angriff, bin nicht der grosse Schrauber.
Ich melde mich, falls mein System noch läuft! :D

Vielen Dank für lehrreiche Stunden und eine kompetente Einführung in die - für mich - Geheimnisse der Computerwelt. Die manpages von opensuse habe ich übrigens nur auf englisch verfügbar, da ist dann manches zusätzlich rätselhaft. Um ehrlich zu sein, habe ich da vorher nie reingeguckt; mein Interesse ist jetzt da, auf der opensuse-seite sollten sie auch in deutsch zum download stehen; damit wird die neue Platte bestückt.

Gruss

Martin
 
OP
M

mrehm

Hacker
Hi Tooltime!

Die Platte ist eingebaut und funktioniert, habe nur eine Schraube der Festplattenabdeckung der alten Platte nicht losgekriegt; da half die Flex. Du siehst, ich bin Grobmotoriker.

Folgendes Problem:
Auf meiner Suse11.0-livecd gibt's im Bootmenue keinen Eintrag `Installiertes System reparieren'; der Eroeffnungsbildschirm bietet mir eine Installation an.

Auf den suse 10.1-,10.2- und 10.3-DVDs existiert dieser Eintrag, fuehrt aber ins Nichts
> Waehrend der Installation trat ein Fehler auf >OK
>Hauptmenue
>Installation/System starten
>Waehlen Sie root_Partition
>sda2

Das System startet mit einigen Fehlermeldungen und bootet Suse11.0 und kde4.1.
Die von uns vorgenommene Plattenaufteilung wird erkannt, kinternet bekam ich aber nicht ans laufen
Ein booten ohne eingelegte cd/dvd ist nicht moeglich.

Ich schreibe das jetzt aus der suse11.0 live-cd, auch hier wird im Arbeitsplatz die Partitionierung richtig angezeigt,

What to do?

Gruss

Martin
 

Tooltime

Advanced Hacker
Dann versuchen wir mal den Bootloader manuell per Hand einzurichten. Ist für mich eigentlich auch der erste mal. Also das Lifesystem booten und die grub-shell starten. Wenn ich mich nicht täusche muss bei Befehlen die normal nur root ausführen darf, ein sudo davor gesetzt werden. Also müsste der Befehl wohl so aussehen:
  • sudo grub
Wenn der Befehl funktioniert meldet sich die grub-shell mit "grub>" als Prompt. Dann einfach die folgenden drei Zeilen eingeben
  • root (hd0,1)
    setup --stage2=/boot/grub/stage2 (hd0)
    quit
und ein Neustart sollte zeigen ob der Bootloader richtig konfiguriert ist. Die Parameter für Festplatten und Partitionen habe ich an deine Konfiguration angepasst.


Die Sache hat aber noch einen kleinen Haken, der Bootlaoder sitzt wieder im MBR was mir eigentlich nicht so gefällt. Es ist aber einfacher das später über YaST zu korrigieren, als manuell den generischen Boocode in den MBR zu schreiben, außerdem müßten wir sonst auch noch /etc/grub.conf manuell anpassen. Und wenn dann was schief geht, kann ich wenigstens YaST die Schuld geben.
 
OP
M

mrehm

Hacker
So, jetzt funktioniert alles, nach einigem Schwitzen.

Ich hatte das System noch mal mit der Suse11.0-Live-CD hochgefahren, kam da aber auch auf der Konsole nicht weiter, ich denke, keine Schreibberechtigung auf der HD.
Dann habe ich mich durch die Installation durchgeklickt: bei `Partitionen übernehmen' wurde vorgeschlagen:

sda2 10 GB mit ext3 formatieren
sda3 1,5 GB als /swap einbinden
sda5 27,5 GB als /home einbinden
sda1 10GB als /windows einbinden

also genau das, was wir/du eingestellt haben.

Die Installation habe ich nicht gemacht.

Ich habe von der Suse10.3DVD gebootet und wie oben beschrieben
>Installiertes System reparieren
>etcetc
>von sda2 gebootet.

Jede Menge Fehlermeldungen betreff Kernel, aber das System lief auf sda2 mit Suse11.0. und kde4.1 mit all den bei dump/restore geöffneten Fenstern und Programmen, mit dem kernel von Suse10.3

Dann in yast - ist doch zu was nutze -

>Konfiguration des Bootloaders
>Bootloader Einstellungen
>Bootloader Installation
>Flag setzen bei `Aus root-Partition booten, Benutzerdefinierte root-Partition sda2
>Bootloader Optionen
>Aktives Flag in Partitionstabelle füt Bootloader festlegen
>Generischen Bootcode in MBR schreiben

NeuStart und siehe da: Linux bootet wie es booten soll, winxp auch.

Der einzige Schönheitsfehler:

>Datei für grafisches Menü: /boot/grub/menu.lst : invalid file name
im bootsplash
ist jetzt schwarz/weiss

Nochmals vielen Dank; wenn Du mal Urlaub machst in Portugal/Westalgarve: melde Dich, dann gehen wir einen heben, eine revanche bin ich schuldig.
Ich hatte hier schon einige Comp-Spezis gefragt, wie man das so hinkriegen kann, Achselzucken. Du bist der Einzige, der es geschafft hat!

Gruss

Martin
 

Tooltime

Advanced Hacker
Freut mich das alles so weit geklappt hat. Für den letzten kleinen Makel schau noch einmal in die Datei /boot/grub/menu.lst und zwar auf die Zeile 4. Wenn ich deine letzte Version betrachte könnte diese noch einen Fehler beinhalten:
  • gfxmenu (hd0,1)/boot/message
Tschüss und viel Spaß mit der neuen Platte.
 
OP
M

mrehm

Hacker
Tja, da stand

Code:
gfxmenu (hd0,1)/boot/grub/menu.lst

geändert in

Code:
gfxmenu (hd0,1)/boot/message

Danke und tschüss

Martin
 
Oben