Festplattentausch - Freebsd bootet nicht mehr

joed

Member
[SOLVED ]Festplattentausch - Freebsd bootet nicht mehr

Hallo,

ich habe von der vmware Seite eine fertige vm geladen, die ich gerne auf einem ESX Server betreiben würde. Leider ist die dort verwendete Festplatte eine IDE und keine SCSI. Ich habe mit der vmware-Workstation eine neue Festplatte als SCSI eingerichtet und dort Partitionen angelegt.

Mit dem ISO-Image von FreeSBIE habe ich den Server neugestartet und den Inhalt der Partitionen kopiert. Danch habe ich die fstab so angepasst:

# Device Mountpoint FStype Options Dump Pass#
/dev/da0s1b none swap sw 0 0
/dev/da0s1e / ufs rw 1 1
/dev/da0s1f /tmp ufs rw 2 2
/dev/da0s1d /usr ufs rw 2 2
/dev/da0s1g /var ufs rw 2 2
/dev/acd0 /cdrom cd9660 ro,noauto 0 0
linproc /compat/linux/proc linprocfs rw 0 0

Und das System gebootet. Läuft auch wieder tadellos ;-) Es werden nur die neuen Partitionen verwendet (die alten waren ad...):

[root ~]# mount
/dev/da0s1e on / (ufs, local, soft-updates)
devfs on /dev (devfs, local)
/dev/da0s1f on /tmp (ufs, local, soft-updates)
/dev/da0s1d on /usr (ufs, local, soft-updates)
/dev/da0s1g on /var (ufs, local, soft-updates)
linprocfs on /usr/compat/linux/proc (linprocfs, local)

Aber. Wenn ich die IDE Festplatte der vm aus der Config rausnehme, so daß nur noch die SCSI drinsteht, bootet das System nicht.

Habe hier im Forum verschiedenes zum MBR gelesen und auch ausprobiert, hilft aber alles nichts.
Wenn ich die IDE Festplatte wieder in die vm Konfig reinschreibe fährt die Maschine wieder hoch. Kann mir bitte jemand weiterhelfen? Bin nicht so der FreeBSD Profi ;-(

Danke,
Gruß
joed
 
Zuletzt bearbeitet:
"Bootet nicht" ist etwas knapp als Beschreibung. Kannst Du uns sagen, was DU als letztes auf dem Schirm hast?

Du hast etwas zum Thema MBR gesagt und dass Du einiges ausprobiert hast. Aber es wäre nützlich zu wissen was Du ausprobiert hast.
 
Das hat bei mir auch noch nie geklappt.

Versuch mal so etwas wie:
Code:
boot0cfg -B -v -f mbr.bak -o packet,update -t 182 /dev/da0

Vorsicht! Bitte NACHPRÜFEN was ich vorschlage. Dazu hilft boot0cfg(8) weiter.

Anmerkung:
Noch ein Problem könnte darin liegen, wie Du die Partitionen kopiert hast. Aber Du sagst ja, dass die neuen Platten auch problemlos das System ausführen, nur nicht booten können, wie ich das verstanden habe.
 
manpage gelesen und Befehl ausgeführt (statt /dev/da0 habe ich da0 eingegeben). Jetzt erhalte ich folgende Ausgabe beim Hochfahren:

F1 FreeBSD
Default: F1

Wenn ich dann F1 drücke kommt:
Invalid partition
Invalid partition
No /boot/loader

FreeBSD/i386 boot
default: 0:da(0,a)/boot/kernel/kernel
boot:
Invalid partition
No /boot/kernel/kernel

Bin noch am googeln, find aber noch nicht das richtige ;-)
 
Der Trick dabei ist, den Befehl von einer Live-CD auszuführen, weil wenn Du die Platte nicht als 1ste Platte im BIOS angemeldet hast, dann findet er sie nicht, wenn im Boot-Manager steht, dass er von der zweiten Platte laden soll.

Wenn Du das nicht willst, dann benutze noch den Parameter "-d 0x80". Das bedeutet, dass er vom ersten Laufwerk nachladen soll. Deswegen muss man das Kommando noch feinjustieren. Ich weiß nicht wie Du da auf Deinem Rechner booten willst.

Am sichersten ist Live-CD zu nutzen und zuvor alles an Festplatten und Laufwerken so anschließen, wie man es am Ende haben will.
 
Habe jetzt folgendes gemacht:

IDE Festplatte aus vm Konfig genommen und von Freesbie ISO gebootet, dann:



Nach dem reboot:

Leider immer noch mit der gleichen Fehlermeldung wie vorher ;-(
 
1) Und Du bist sicher, dass Du /boot mitkopiert hast und es auf /dev/da0s1a liegt, ja?

2) Hast Du mit fdisk die Platten in Slices unterteilt oder bist Du direkt mit bsdlabel drauf und hast es partitioniert?
 
zu 1) Wenn ich mir das so anschaue:

[root@server~]# mount
/dev/da0s1e on / (ufs, local, soft-updates)
devfs on /dev (devfs, local)
/dev/da0s1f on /tmp (ufs, local, soft-updates)
/dev/da0s1d on /usr (ufs, local, soft-updates)
/dev/da0s1g on /var (ufs, local, soft-updates)

würde ich sagen: Eher nicht ;-) Sondern auf /dev/da0s1e

2) Mit fdisk einen Slice und mit label die Partitionen
 
Hab noch mal mit Label 2 Screenshots gemacht:

1. alte Platte IDE


2 neue Platte SCSI


Wieso habe ich bei der SCSI kein da0s1a???
 
Das ist jetzt total blöd mit der "e"-Partition. Habe ich noch nie gemacht, so etwas.

Problem ist, dass boot2 läuft und den Loader/Kernel nicht findet. Du kannst natürlich manuell am Boot-Prompt den Loader spezifizieren:

Code:
0:da(0,e)/boot/loader

Das ist aber Kacke.

Ich weiß nicht, ob bsdlabel das Problem lösen kann, und ob es dynamisch Einstellungen macht. Wie gesagt, habe ich noch nie gemacht.

Einen neuen Boot-Code kannst Du so schreiben (VORSICHT! Wieder ein gefährliches Kommando!):
Code:
bsdlabel -B /dev/da0s1

Um Ärger zu vermeiden, würde ich / auf "a" packen.


Noch etwas:
Es gibt man boot(8) und da steht etwas von boot.config(5), wo man den Pfad manuell angeben kann. Jedoch ist die Doku für mich sehr missverständlich, weil boot.config angeblich von "a" geladen werden soll. Das wäre ja Unsinn. Versuch einfach ein /boot.config zu erstellen mit dem Pfad wie oben als Inhalt. Voraussetzung ist natürlich, dass ich das jetzt richtig verstanden habe und zweitens, dass der manuelle Aufruf von boot2 aus klappt (siehe oben).
 
Zuletzt bearbeitet:
ok, Vielen Dank. Werde das später testen.

Das mit dem "GEFÄHRLICH" ist relativ, da ja alles in einer vm läuft (ich liebe Snapshots:D)

Melde mich später noch mal, muss jetzt los.

Gruß
joed
 
Bin in den manpages noch über was gestolpert:
Editing an Existing Disk Label
To edit an existing disk label, use the form

bsdlabel -e [-An] [-m machine] disk

This command opens the disk label in the default editor, and when the
editor exits, the label is validated and if OK written to disk.

Wenn ich das ausführe öffnet sich der vi mit der entsprechenden Konfig und wenn ich dann darin aus dem e ein a mache und das auch in der fstab ändere.... ???? ... ???

Muss ich morgen mal testen, wenn ich wieder im Büro bin.

n8
 
...
ich habe mit der vmware-Workstation eine neue Festplatte als SCSI eingerichtet und dort Partitionen angelegt.
...
Kannst du unter vmware-Workstation keine IDE-Plattte einrichten?
Wenn du das Problem aber so irgendwie lösen kannst hast du natürlich wieder zugelernt. ;)
 
ich brauche SCSI, da die vm später auf dem ESX Server laufen soll und der kann keine IDE Festplatten ;-)

IMHO hat das Problem auch nichts mit SCSI oder IDE zu tun.
 
Hey, es geht. Hier nochmal mein Weg:

1. In der /etc/fstab den Eintrag von da0s1e auf da0s1a geändert
2. vm runterfahren und IDE HDD aus Konfig löschen
3. mit FREESBIE booten
4. su bsdlabel -e da0s1 -> vi öffnet sich. Auch hier dann aus e ein a machen
5. su boot0cfg -B -v -f -o packet,update -t 182 da0
6 reboot ... läuft :D

Vielen Dank für Eure Hilfe.

Gruß
joed
 
Zurück
Oben