PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Platte mit SuSE-Linux 10.3 in einen anderen Rechner versetzen



regn
12.06.09, 15:58
Hallo

ich habe es immer als einen großen Vorteil von Linux angesehen, das man - im gegensatz zu windoof - eine Boot-Platte mit Linux problemlos in einen anderen Rechner einbauen und dann das System dort starten kann.
Klar muß man sound, Graphik, etc. neu konfigurieren, aber services sind sofort verfügbar.

Nun habe ich das mit einem Opensuse 10.3 probiert und bin total überrascht, daß beim Boot (Grub lädt den kernel) das root-filesystem nicht gefunden werden kann. Es erscheint: Waiting for device /dev/disk/by-id/...
Danach geht das System in eine shell, die offenbar auf der initrd mit drauf ist.



Es gibt kein /dev/hda oder sda mehr, der kernel sucht die Platte mit einem langen Pfad, der irgendwie by-id enthält. Habe es nach einer halben Stunde aufgegeben.
Aber auch diese ID sollte sich ja nicht geändert haben, da die Platte ja dieselbe ist wie bei der Installation.

habe mal gegoogelt, aber da finde ich nur, daß diese Probleme beim klonen der Platte aufgetaucht sind.
Ich habe die Platte NICHT geklont, sondern umgebaut!


Was ist da los, seit welcher Version ist das so und kann mir jemand links zu Hintergrundinformationen geben?
vielen Dank

muell200
12.06.09, 16:20
Was ist da los, seit welcher Version ist das so und kann mir jemand links zu Hintergrundinformationen geben?
vielen Dank

willkommen im forum!

vermutlich anderer chipsatz

rettungsystem starten
modul einbinden


/etc/sysconfig/kernel
mkinitrd

reboot

regn
12.06.09, 23:27
willkommen im forum!

vermutlich anderer chipsatz

rettungsystem starten
modul einbinden


/etc/sysconfig/kernel
mkinitrd

reboot

Soweit ich mich an frühere Versionen erinnere, kann der Kernel doch IDE-Platten immer ansprechen, unabhängig vom Chipsatz, deshalb brauchte man ja keine initrd bei IDE, nur bei SCSI.

vG

muell200
13.06.09, 02:36
Soweit ich mich an frühere Versionen erinnere, kann der Kernel doch IDE-Platten immer ansprechen, unabhängig vom Chipsatz, deshalb brauchte man ja keine initrd bei IDE, nur bei SCSI.

vG

war nur ein tip....

dann brauchen wir mehr infos...

aber wenn das system keine platte findet, dann liegt es am modul!

oziris
13.06.09, 06:32
aber wenn das system keine platte findet, dann liegt es am modul!Nicht zwangsläufig! Es kann daran liegen... kann aber auch am BIOS oder an der Hardware liegen.

Wenn Du weißt, auf welcher Partition sich das root-Dateisystem befindet, dann könntest Du, falls dies geht (mit GRUB müsste es gehen), beim Boot-Loader testweise mal die Kenel-Parameter ändern und statt /dev/disk/by-id/{uuid}, /dev/{device-node} (z.B. sda2 oder hda1 usw.) versuchen. Wenn das hilft, dann ist die UUID kaputtgegangen und Du musst das System entsprechend reparieren und solltest auch das Dateisystem bzw. die Festplatte ordentlich durchprüfen.

oziris
13.06.09, 06:44
Soweit ich mich an frühere Versionen erinnere, kann der Kernel doch IDE-Platten immer ansprechen, unabhängig vom Chipsatz, [...]Auch nicht zwangsläufig. Wenn man einen Kernel zum Compilieren konfiguriert, dann kann man durchaus ATA/IDE weglassen.



[...]
| If your system is pure SCSI and doesn't use these interfaces, you |
| can say N here. |
[...]
| To compile this driver as a module, choose M here: the |
| module will be called ide. |
| |
| For further information, please read <file:Documentation/ide/ide.txt>. |
| |
| If unsure, say Y. |
| |
| Symbol: IDE [=n] |
| Prompt: ATA/ATAPI/MFM/RLL support |
| Defined at drivers/ide/Kconfig:9 |
| Depends on: HAVE_IDE && BLOCK |
| Location: |
| -> Device Drivers |
|

Aqualung
13.06.09, 17:55
Es gibt kein /dev/hda oder sda mehr, der kernel sucht die Platte mit einem langen Pfad, der irgendwie by-id enthält.

http://de.wikipedia.org/wiki/UUID

Zum zurückbauen auf "/dev/sd.." bzw. "/dev/hd." menu.lst bzw. /etc/fstab anpassen. initrd neubauen.
Vorsicht: kann bei Anschluß einer externen FP Ärger geben.

oziris
13.06.09, 22:10
Sag ich doch.

regn
14.06.09, 23:18
Hallo

also, der kernel war natürlich out of the box, und nicht kompiliert.
Da die ursprünglich benutzte Platte inzwischen überschrieben wurde, habe ich eine 10.3 Installation mal auf einer VM nachvollzogen, und da steht also :


suse10:~ # cat /etc/fstab
/dev/disk/by-id/scsi-SATA_VMware_Virtual_00000000000000000001-part2 / ext3 acl,user_xattr 1 1
/dev/disk/by-id/scsi-SATA_VMware_Virtual_00000000000000000001-part1 swap swap defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
debugfs /sys/kernel/debug debugfs noauto 0 0
usbfs /proc/bus/usb usbfs noauto 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
/dev/fd0 /media/floppy auto noauto,user,sync 0 0
suse10:~ # cat /boot/grub/menu.lst
# Modified by YaST2. Last modification on So Jun 14 08:30:21 UTC 2009
default 0
timeout 8
##YaST - generic_mbr
gfxmenu (hd0,1)/boot/message
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 10.3
root (hd0,1)
kernel /boot/vmlinuz-2.6.22.5-31-default root=/dev/disk/by-id/scsi-SATA_VMware_Virtual_00000000000000000001-part2 vga=0x332 resume=/dev/sda1 splash=silent showopts
initrd /boot/initrd-2.6.22.5-31-default

.....

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 10.3
root (hd0,1)
kernel /boot/vmlinuz-2.6.22.5-31-default root=/dev/disk/by-id/scsi-SATA_VMware_Virtual_00000000000000000001-part2 vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
initrd /boot/initrd-2.6.22.5-31-default


die fstab ist nicht entscheidend, aber der root-Parameter in der menu.lst.

Warum der by-id-Name sich allerdings im neuen System geändert hat, kann ich nicht nachvollziehen. Jedenfalls führt in meinem VM-gast eine Änderung dieses Namens genau zu dem gleichen Verhalten, das ich im 1.Post beschrieben habe.
Allerdings ist /dev/sda.. wohl doch da (habe offenbar nur nach hda. gesucht), es würde also genügen, diesen klassischen Namen mit einem Rettungssystem-boot in die menu.lst einzutragen (die kleine Umgebung der initrd hat keinen vi).
Oder mit ls -l /dev/disk/by-id nach dem Namen zu sehen, wobei das alles sowieso Links auf /dev/sda... sind.
Oder noch einfacher "root=/dev/sda<x> bei den grub-optionen einzufügen und booten.

vielen Dank nochmals!

P.S.
/etc/sysconfig/kernel
ist nicht ausführbar - ist evtl.

. /etc/sysconfig/kernel
gemeint?

Aqualung
16.06.09, 05:26
/etc/sysconfig/kernel
ist nicht ausführbar - ist evtl.

. /etc/sysconfig/kernel
gemeint?

/etc/sysconfig/... ist nicht zum direkt ausführen gedacht - fürs Prinzip bitte http://www.mpipks-dresden.mpg.de/~mueller/docs/suse10.0/suselinux-manual_de/manual/sec.boot.sysconfig.html

beachten.

muell200
22.06.09, 21:54
#11 als spam gemeldet