Grub bootet immer zur Grub-Befehlszeile

Grub bootet immer zur Grub-Befehlszeile

Ich habe einen Remote-CentOS 6.4-Server (mit KVM-Zugriff). Als ich den Server erhielt, lief er mit LVM auf einer einzelnen Festplatte (sda).

Ich habe es geschafft, LVM zu entfernen und RAID 1 auf SDA- und SDB-Festplatten zu installieren

die Spiegelung funktioniert einwandfrei, mein einziges Problem ist jetzt, dass ich jedes Mal, wenn ich den Server neu starte, die Grub-Befehlszeile bekomme und manuell mit dem Befehl booten muss

grub> Konfigurationsdatei (hd1,0)/grub/grub.conf

ODER

grub> Konfigurationsdatei (hd0,0)/grub/grub.conf

dann wird der Bootvorgang ohne Fehler ordnungsgemäß durchgeführt.

Irgendeine Idee, wie ich einen automatischen Bootvorgang einrichten kann?

Hinweis: Jede Festplatte (sda und sdb) hat eine Größe von 2 TB. Könnte das das Problem sein?

meine Einstellungen

Filesystem            Size  Used Avail Use% Mounted on
/dev/md2              1.8T  1.1G  1.7T   1% /
tmpfs                  16G     0   16G   0% /dev/shm
/dev/md0              1.9G   69M  1.8G   4% /boot


 # cat /proc/mdstat 

 Personalities : [raid1] 
 md2 : active raid1 sda3[2] sdb3[0]
        1940882240 blocks super 1.2 [2/2] [UU]

 md1 : active raid1 sdb2[0] sda2[2]
       10482176 blocks super 1.2 [2/2] [UU]

 md0 : active raid1 sdb1[0] sda1[1]
       2008000 blocks [2/2] [UU]

  unused devices: <none>

# fdisk -l /dev/sda

Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b0530

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         250     2008093+  83  Linux
/dev/sda2             251        1556    10490445   82  Linux swap / Solaris
/dev/sda3            1557      243201  1941013462+  fd  Linux raid autodetect


# fdisk -l /dev/sdb

Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xadb3bd62

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1         250     2008093+  fd  Linux raid autodetect
/dev/sdb2             251        1556    10490445   82  Linux swap / Solaris
/dev/sdb3            1557      243201  1941013462+  fd  Linux raid autodetect

# cat grub.conf 


# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/vg_srv6953-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd1,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-358.18.1.el6.x86_64)
    root (hd1,0)
    kernel /vmlinuz-2.6.32-358.18.1.el6.x86_64 ro root=/dev/md2 KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 crashkernel=auto rhgb quiet rd_retry=20
    initrd /initramfs-2.6.32-358.18.1.el6.x86_64.img
title CentOS (2.6.32-358.el6.x86_64)
    root (hd1,0)
    kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/md2  KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 crashkernel=auto rhgb quiet
    initrd /initramfs-2.6.32-358.el6.x86_64.img



# grub
Probing devices to guess BIOS drives. This may take a long time.


    GNU GRUB  version 0.97  (640K lower / 3072K upper memory)

 [ Minimal BASH-like line editing is supported.  For the first word, TAB
   lists possible command completions.  Anywhere else TAB lists the possible
   completions of a device/filename.]
grub> root (hd0,0)
root (hd0,0)
 Filesystem type is ext2fs, partition type 0xfd
grub> setup (hd0)
setup (hd0)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  27 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd0) (hd0)1+27 p (hd0,0)/boot/grub/stage2 /boot/grub/grub.conf"... succeeded
Done.

Antwort1

Sie müssen Grub auf der Festplatte des Servers neu installieren. Um die Geräteadresse zu erfahren, geben Sie in einem Terminal

  sudo fdisk -l

Dadurch werden die Festplatten und ihre Volumes in einer Liste aufgelistet. Notieren Sie sich das Gerät, auf dem Sie Grub installieren müssen. Die Größe des Geräts gibt Ihnen einen Hinweis. Wenn /dev/sda das Gerät ist, auf dem Grub installiert werden muss, gehen Sie zum Terminal und geben Sie ein

 sudo grub-install /dev/sda

Starten Sie Ihren Server neu und prüfen Sie, ob das Problem behoben ist.

Antwort2

OK

Ich habe Folgendes gemacht:

  1. SDA aus RAID entfernen (mit mdadm)
  2. Führen Sie dd aus (dd if=/dev/zero of=/dev/sda bs=512 count=1000).
  3. Kopieren Sie die aktuelle Festplattenpartitionstabelle (sfdisk -d /dev/sdb | sfdisk /dev/sda).
  4. Festplatte zum RAID hinzufügen (mit mdadm)
  5. Grub neu installieren (mit dem Grub-Befehl)
  6. Führen Sie grub-install /dev/sda aus
  7. Neustart

und jetzt funktioniert es :)

Ich habe alle oben genannten Schritte außer Schritt 2 ausgeführt. Es scheint, dass ich die Festplatte mit dd löschen muss

verwandte Informationen