Linux: Установка загрузчика GRUB на программный RAID

// Январь 23rd, 2013 // boot-loader, grub, linux, md, RAID, recovery

Имеем два диска собранные в зеркало, через dm:
/dev/sda1 + /dev/sdb1 => /dev/md0
/dev/sda5 + /dev/sdb5 => /dev/md1

Проверяем есть ли активный раздел:

# file -s /dev/sda
/dev/sda: x86 boot sector; partition 1: ID=0xfd, starthead 32, startsector 2048, 1169408 sectors; partition 2: ID=0x5, starthead 12, startsector 1173502, 76949506 sectors
# file -s /dev/sdb
/dev/sdb: x86 boot sector; partition 1: ID=0xfd, active, starthead 32, startsector 2048, 1169408 sectors; partition 2: ID=0x5, starthead 12, startsector 1173502, 76949506 sectors, code offset 0x63

как видно, на диске sda не указан активный раздел и не установлен загрузчик.
Что бы указать раздел активным, например первый:

# fdisk /dev/sda
...
Command (m for help): m
Command action
   a   toggle a bootable flag
...
   w   write table to disk and exit

Command (m for help): a
Partition number (1-9): 1

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

Установка GRUB2:
В Debian и прочих Ubuntu достаточно ввести:

# dpkg-reconfigure grub-pc

два раза нажать OK и выбрать звездочками оба диска и еще раз ОК
или:

# grub-install /dev/sda
# grub-install /dev/sdb

если еще выполнить:

# update-grub

изменится меню (конфигурационный файл), появится возможность выбора диска для загрузки ОС.

Старый GRUB:

# grub
grub> root (hd0,0)
grub> setup (hd0)
grub> root (hd1,0)
grub> setup (hd1)

Результат работы будет такой:

   grub> root (hd1,0)
   root (hd1,0)
    Filesystem type is ext2fs, partition type 0xfd
   grub> setup (hd1)
   setup (hd1)
    Checking if "/boot/grub/stage1" exists... no
    Checking if "/grub/stage1" exists... yes
    Checking if "/grub/stage2" exists... yes
    Checking if "/grub/e2fs_stage1_5" exists... yes
    Running "embed /grub/e2fs_stage1_5 (hd1)"...  15 sectors are embedded.
   succeeded
    Running "install /grub/stage1 (hd1) (hd1)1+15 p (hd1,0)/grub/stage2 /grub/grub.conf"... succeeded
   Done.
   grub> quit
   quit

Проверим результат:

# file -s /dev/sda
/dev/sda: x86 boot sector; partition 1: ID=0xfd, active, starthead 32, startsector 2048, 1169408 sectors; partition 2: ID=0x5, starthead 12, startsector 1173502, 76949506 sectors, code offset 0x63
# file -s /dev/sdb
/dev/sdb: x86 boot sector; partition 1: ID=0xfd, active, starthead 32, startsector 2048, 1169408 sectors; partition 2: ID=0x5, starthead 12, startsector 1173502, 76949506 sectors, code offset 0x63

One Response to “Linux: Установка загрузчика GRUB на программный RAID”

  1. serg:

    Спасибо большое, это как раз то что искал.

Leave a Reply