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

Grub lässt sich nicht auf Raid 1 installieren

wenn aus dem chroot die Bootloaderinstallation nicht funktioniert, vermute ich mal stark du hast in die chroot-Umgebung /proc /sys und vor allem /dev nicht eingebunden.

So sehen die Befehle aus, mit denen ich meine chroot-Umgebung eingerichtet habe:

Code:
mount /dev/md126 /mnt
mount /dev/md127 /mnt/boot
mount /dev/sde1 /mnt/media/usbstick   /* nur für Testzwecke */
mount -o bind /dev /mnt/dev
mount -o bind /sys /mnt/sys
mount -t proc /proc /mnt/proc
chroot /mnt /bin/bash

In der chroot-Bash rief ich dann grub-install auf, und der meckerte über (hd0,0), den er nicht einbinden kann. In der Grub-Shell hieß es dafür, das Dateisystem für root (hd0,0) sei «falsch».
 
A

Anonymous

Gast
du hast auf sda1 und sdb1 noch eine Swapkennung drauf. wenn /boot gemountet ist, erstmal nachschauen ob dort überhaupt die richtigen Dateien unterhalb von /boot alle vorhanden sind, wenn ja, dann mal zur Sicherheit diese Dateien alle von dort vorübergehend auf das Raid10 in ein Backupverzeichnis kopieren.

Sind diese Dateien wider erwarten gar nicht auf dem Raid1 vorhanden, dann weiter unten vor der Grubkonfiguration das Grub-Paket und das Kernel-Paket noch einmal forciert installieren.

mal nachschauen was du im Moment alles als Swap im System hast
Code:
swapon -s
wenn dort sda1 und sdb1 dabei sein sollte, dann diese beiden erstmal aus dem swap rausschmeißen mit "swapoff /dev/sda1"
dann nachschauen was auf dem raid1 unterhalb von /boot für Dateien zu finden sind.

von sda1 und sdb1 die ersten 1023 Byte löschen.
Code:
dd of=/dev/sda1 if=/dev/zero bs=1 count=1023
Schauen was in der /etc/fstab alles unter swap konfiguiert ist, wenn sda1 und sdb1 dann diese Zeilen rausschmeißen.

Jetzt die Partitionskennung sda1 und sdb1 doch erstmal, soweit noch nicht geschehen auf "fd" ändern.
Dann nochmal mit der Installation von Grub im MBR versuchen, aber nicht mit "grub-install" und auch nicht mit "grub-install.unsupported"
sondern mit der Grubshell.

PS:
Ne, funktioniert doch nicht ganz so einfach, (es müssen 4095 Byte über das Swap geschrieben werden) da die Swapkennung am Ende der ersten 4KB noch was schreibt, wenn man da aber 4KB löscht, dann ist der Filesystemheader erstmal mit pfutsch. Zwar kein großes Problem, da ein umount und anschließender den wieder schreiben sollte, so das ein mount dann den header schon wieder finden sollte. Somit kann man sich das überschreiben gleich ganz sparen, wein mount umount würde auch reichen, wenn ein Dateisystem auf dem Raid1 gemountet ist und dennoch "file /dev/sda1" eine Swapdevice anzeigt.

Ansonsten wenn dir das zu kompliziert ist einfach das kleine Raid1 nochmal löschen und neu aufsetzten, die Dateien darin sind aus dem Kernel und Grub-Paket, diese müssten nach dem Anlegen des neuen Dateisystems und mounten von /boot noch einmal installiert werden.

robi
 
Um GRUB zu installieren (oder Bereiche auf einer Partition zu löschen), brauchst Du den Zirkus mit der chroot-Umgebung nicht, das geht ganz normal im Rettungssystem.

robi schrieb:
ich glaube nicht das das etwas ändert, das wird im Normalfall von Linux gar nicht ausgewertet.
Das stimmt, aber in einigen Wochen wundert man sich plötzlich über solche Sachen (und Helfer hier im Forum kann man auch damit verwirren).

P. S: "SWAP-Reste" und deren Auswirkungen scheinen sehr individuell zu verbleiben:
Code:
umount /dev/md2
mdadm --stop /dev/md2
mkswap /dev/sda2
mkswap /dev/sdb2
mdadm -As
  Ausgabe von file: /dev/sda2: Linux/i386 swap file (new style), ...
                    /dev/sdb2: Linux/i386 swap file (new style), ...
                    /dev/md2:  Linux/i386 swap file (new style), ...
  GRUB beide Part.: Filesystem type unknown, partition type 0xfd
mkfs.ext3 -j /dev/md2
  Ausgabe von file: /dev/sda2: Linux/i386 swap file (new style), ...   ) sehr
                    /dev/sdb2: Linux rev 1.0 ext3 filesystem data, ... ) interessant
                    /dev/md2:  Linux rev 1.0 ext3 filesystem data, ...
  GRUB beide Part.: Filesystem type is ext2fs, partition type 0xfd
mdadm --stop /dev/md2
mdadm -As
  Ausgabe von file: /dev/sda2: Linux rev 1.0 ext3 filesystem data, ... ) Stop und Start
                    /dev/sdb2: Linux rev 1.0 ext3 filesystem data, ... ) reicht also bei mir
                    /dev/md2:  Linux rev 1.0 ext3 filesystem data, ...
  GRUB beide Part.: Filesystem type is ext2fs, partition type 0xfd
mount /dev/md2
  Das Befüllen von /dev/md2 mit rsync funktioniert klaglos.
Ergänzung um 22.55 Uhr: Diesen Satz schreibe ich gerade aus dem mit rsync kopierten System.
 
Ausgabe von swapon ist leer. Auch in der fstab stehen sda1 und sdb1 nicht als Swap-Bereiche drin. Was anderes war auch nicht zu erwarten, denn ich arbeite ja immer noch von der Rescue-Shell aus.

Allerdings glaubt file nach wie vor, sda1 und sdb1 seien Swaps. Also bei sda1 und sdb1 den Dateisystemtyp auf 0xfd gesetzt, bei sdc1 und sdd1 auf 0x82. Jetzt werden alle vier Partitionen als Swap erkannt:

Code:
/dev/sdc1: Linux/i386 swap file (new style), version 1 (4K pages), size 124671 pages, no label, UUID=a08d8e65-3dc1-4d5c-b8a2-9519ba87eade
/dev/sdd1: Linux/i386 swap file (new style), version 1 (4K pages), size 124671 pages, no label, UUID=91063933-79b9-42c7-9cc3-cbbb559d5ed5
/dev/sda1: Linux/i386 swap file (new style), version 1 (4K pages), size 124671 pages, no label, UUID=ff8ae8a8-a229-4e8e-bd7e-b4f8e1a58c36
/dev/sdb1: Linux/i386 swap file (new style), version 1 (4K pages), size 124671 pages, no label, UUID=1b844511-7aba-4cf2-8c92-45c4b6cd5b23

/boot habe ich nochmals probeweise montiert. Ergebnis:

Code:
rescue /mnt# ls -al ./boot
total 18458
drwxr-xr-x  4 root root    1024 Dec 23 13:51 .
drwxr-xr-x 20 root root     440 Dec 23 21:48 ..
-rw-r--r--  1 root root 2547268 Nov  5  2011 System.map-3.1.0-1.2-desktop
-rw-------  1 root root     512 Dec 23 12:34 backup_mbr
lrwxrwxrwx  1 root root       1 Dec 23 12:32 boot -> .
-rw-r--r--  1 root root    1236 Oct 25  2011 boot.readme
-rw-r--r--  1 root root  128888 Nov  5  2011 config-3.1.0-1.2-desktop
-rw-r--r--  1 root root       0 Dec 23 12:33 do_purge_kernels
drwxr-xr-x  2 root root    1024 Dec 23 15:32 grub
lrwxrwxrwx  1 root root      24 Dec 23 13:51 initrd -> initrd-3.1.0-1.2-desktop
-rw-r--r--  1 root root 5206440 Dec 23 13:51 initrd-3.1.0-1.2-desktop
drwx------  2 root root   12288 Dec 23 12:30 lost+found
-rw-r--r--  1 root root  212271 Nov  5  2011 symvers-3.1.0-1.2-desktop.gz
-rw-r--r--  1 root root     515 Nov  5  2011 sysctl.conf-3.1.0-1.2-desktop
-rw-r--r--  1 root root 5807889 Nov  5  2011 vmlinux-3.1.0-1.2-desktop.gz
lrwxrwxrwx  1 root root      25 Dec 23 12:33 vmlinuz -> vmlinuz-3.1.0-1.2-desktop
-rw-r--r--  1 root root 4977392 Nov  5  2011 vmlinuz-3.1.0-1.2-desktop

rescue /mnt# ls -al ./boot/grub
total 192
drwxr-xr-x 2 root root   1024 Dec 23 15:32 .
drwxr-xr-x 4 root root   1024 Dec 23 13:51 ..
-rw-r--r-- 1 root root     90 Dec 23 15:32 device.map
-rw-r--r-- 1 root root    259 Dec 23 12:30 device.map.old
-rw-r--r-- 1 root root   8608 Oct 29  2011 e2fs_stage1_5
-rw-r--r-- 1 root root   7872 Oct 29  2011 fat_stage1_5
-rw-r--r-- 1 root root   7136 Oct 29  2011 ffs_stage1_5
-rw-r--r-- 1 root root   7136 Oct 29  2011 iso9660_stage1_5
-rw-r--r-- 1 root root   8576 Oct 29  2011 jfs_stage1_5
-rw------- 1 root root   1201 Dec 23 13:51 menu.lst
-rw-r--r-- 1 root root   1124 Dec 23 12:30 menu.lst.old
-rw-r--r-- 1 root root   7296 Oct 29  2011 minix_stage1_5
-rw-r--r-- 1 root root   9632 Oct 29  2011 reiserfs_stage1_5
-rw-r--r-- 1 root root    512 Oct 29  2011 stage1
-rw-r--r-- 1 root root 102026 Dec 23 12:32 stage2
-rw-r--r-- 1 root root   7456 Oct 29  2011 ufs2_stage1_5
-rw-r--r-- 1 root root   6688 Oct 29  2011 vstafs_stage1_5
-rw-r--r-- 1 root root   9288 Oct 29  2011 xfs_stage1_5

Morgen versuche ich mal, Grub neu zu installieren.
 
Hat leider immer noch nicht geklappt! :-( Grub meldet nur «unknown filesystem type».

Folgende Maßnahmen hatten keinen Erfolg:

† Filesystem-ID auf 83 oder fd setzen
† Filesystem auf dem Raid durch Ext3 ersetzen

Selbst zum Schluss meint file immer noch, /dev/sda1 und /dev/sdb1 seien Swaps:

Code:
sda1
/dev/sda1: Linux/i386 swap file (new style), version 1 (4K pages), size 124671 pages, no label, UUID=ff8ae8a8-a229-4e8e-bd7e-b4f8e1a58c36

sda2
/dev/sda2: data

sdb1
/dev/sdb1: Linux/i386 swap file (new style), version 1 (4K pages), size 124671 pages, no label, UUID=1b844511-7aba-4cf2-8c92-45c4b6cd5b23

sdb2
/dev/sdb2: data

sdc1
/dev/sdc1: Linux/i386 swap file (new style), version 1 (4K pages), size 124671 pages, no label, UUID=a08d8e65-3dc1-4d5c-b8a2-9519ba87eade

sdc2
/dev/sdc2: data

sdd1
/dev/sdd1: Linux/i386 swap file (new style), version 1 (4K pages), size 124671 pages, no label, UUID=91063933-79b9-42c7-9cc3-cbbb559d5ed5

sdd2
/dev/sdd2: x86 boot sector; partition 1: ID=0x83, starthead 32, startsector 2048, 1951440896 sectors, code offset 0xb8

sde1
/dev/sde1: x86 boot sector; partition 4: ID=0x49, active, starthead 1, startsector 1394627663, 21337 sectors, Microsoft Windows 98 Bootloader, code offset 0x3e, OEM-ID "*5>+kIHC" cached by Windows 9M, sectors/cluster 64, root entries 512, Media descriptor 0xf8, sectors/FAT 248, heads 16, hidden sectors 32, sectors 4030432 (volumes > 32 MB) , serial number 0xc60dd71e, label: "KINGSTON   ", FAT (16 bit)

md126
/dev/md126: Linux rev 1.0 ext4 filesystem data, UUID=1acc2302-1a0f-4a44-971c-6ceb44404c2f (needs journal recovery) (extents) (large files) (huge files)

md127
/dev/md127: Linux rev 1.0 ext3 filesystem data, UUID=380353a4-f584-4f2d-a85c-2857f1d122be

Um es nochmal zu betonen: Die alten Swaps /dev/sda1 und /dev/sdb1 habe ich damals komplett gelöscht und an ihrer Stelle die Raid-Partitionen aufgesetzt. Offenbar blieben danach trotzdem Überreste der alten Swap-Partitionen an den Stellen, wo sich jetzt die Raid-Partis befinden. Das irritiert file, und Grub benützt offenbar file, um rauszufinden, ob die Partition ok ist…und verabschiedet sich.

Als allerletzte Maßnahme versuche ich noch auf sda1 und sda2 eine gründliche Datenlöschung (= die 512 MB komplett ausnullen). Dann müssten eigentlich die letzten Restln der alten Swap-Partition weg sein…
 
Die allerletzte Maßnahme hat leider auch nicht gewirkt:

Code:
shred -n 3 -vz /dev/sda1

Hernach habe ich das Raid mit den beiden ausgenullten Partis neu erstellt. Jetzt fand file tatsächlich keine vermeintliche Swap-Partition, ermittelte jedoch den Datentyp «data». Mehr nicht. Damit gab sich Grub natürlich wieder nicht zufrieden, und so blieb mir leider nichts anderes übrig, als das Raid einzustampfen, eine einzelne Partition mit Ext4 zu bespielen, auf /boot zu mounten und das Betriebssystem wie gewohnt aufzusetzen. Aus meiner Sicht ist das Problem in dieser Firm somit leider unlösbar. :-(

Trotzdem danke ich Euch für Eure sehr kompetenten Hilfestellungen. :thumbs:
 
Hast Du auch zuerst beide Partitionen formatiert, dann das RAID1 gebildet und ebenfalls formatiert?

Habe ich auch probiert. War die Parti frisch formatiert, wurde sie als Ext4 erkannt. Klinkte ich sie ins Raid ein und formatierte es, war sie nur noch «Data».
 
Oben