GRUB2 não detectando o SO em partições de invasão

1

Eu recentemente adicionei uma unidade a um sistema e fiz o raid-back (RAID-1) com sucesso, com exceção da partição de inicialização. Eu o tenho pronto e espelhado, mas não consigo fazer com que o GRUB2 (update-grub) o encontre.

Sistema: Ubuntu 11.04 Metadados de Raid: 1.2

Se eu rodar o update-grub, ele encontrará as imagens do kernel na partição / dev / sda2 (raiz atual), mas não as imagens em / dev / md127.

/ dev / md127 é composto por "missing" e "/ dev / sdb2".

O fdisk em / dev / sdb confirma que o sdb2 é do tipo fd (autodetect do raid) e também é marcado como inicializável.

Eu tenho duas coisas que quero fazer.

  1. Faça com que o boot.cfg em / dev / sdb2 tenha uma opção de menu para que a raiz seja / dev / md127
  2. Instale o grub em / dev / md127 para que o boot.cfg atual esteja sendo usado.

partições de disco:

$ sudo sfdisk -l /dev/sda

Disk /dev/sda: 30394 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1          0+     13      14-    112423+  de  Dell Utility
/dev/sda2   *     14    7837    7824   62846280   83  Linux
/dev/sda3       7838    8882    1045    8393962+  82  Linux swap / Solaris
/dev/sda4       8883   30393   21511  172787107+   5  Extended
/dev/sda5       8883+  30393   21511- 172787076   83  Linux

$ sudo sfdisk -l /dev/sdb

Disk /dev/sdb: 30394 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdb1          0+     13      14-    112423+  de  Dell Utility
/dev/sdb2   *     14    7837    7824   62846280   fd  Linux raid autodetect
/dev/sdb3       7838    8882    1045    8393962+  82  Linux swap / Solaris
/dev/sdb4       8883   30393   21511  172787107+   5  Extended
/dev/sdb5       8883+  30393   21511- 172787076   fd  Linux raid autodetect

A coisa a ser notada aqui é que / dev / sdb2 faz parte de um ataque, enquanto / dev / sda2 não é. / dev / sda2 é a inicialização atual não-raid que funciona bem. Eu gostaria de mudar para uma inicialização de raid e quando isso é bom, converter sda2 para invadir e adicioná-lo à unidade de invasão "em falta".

$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md5 : active raid1 sda5[2] sdb5[1]
      172785980 blocks super 1.2 [2/2] [UU]

md127 : active raid1 sdb2[1]
      62846208 blocks [2/1] [_U]

O final do mdadm.conf. Isso foi gerado automaticamente por / usr / share / mdadm / mkconf

# This file was auto-generated on Thu, 30 Jun 2011 14:38:15 -0500
# by mkconf $Id$
ARRAY /dev/md127 UUID=352d87d1:23d5c92d:04cfec0a:0340cbb1
ARRAY /dev/md/5 metadata=1.2 UUID=7ea17a90:6cbf0816:feef74da:5fa4f88a name=ramuh:5

O arquivo grub.cfg que inicializa bem a partir de / dev / sda2

    menuentry 'Ubuntu, with Linux 2.6.38-11-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
        recordfail
        set gfxpayload=$linux_gfx_mode
        insmod part_msdos
        insmod ext2
        set root='(/dev/sda,msdos2)'
        search --no-floppy --fs-uuid --set=root 7bbe19ee-c62c-4674-b0ca-281d1cedac00
        linux   /boot/vmlinuz-2.6.38-11-generic-pae root=UUID=7bbe19ee-c62c-4674-b0ca-281d1cedac00 ro   quiet splash vt.handoff=7
        initrd  /boot/initrd.img-2.6.38-11-generic-pae

Obrigado!

    
por sleeves 01.07.2011 / 00:23

2 respostas

2

O Grub2 agora tem algum conhecimento sobre md devices. Deve ser fornecido via módulos carregáveis, conforme necessário.

Certifique-se de que seu sistema entenda que precisa dos dispositivos md para inicializar. Verifique se todas as matrizes estão listadas em /etc/mdadm/mdadm.conf e execute:

# dpkg-reconfigure mdadm

(nb: Recentemente eu tenho algo parecido no meu sistema Debian, mas ele deve se aplicar também ao Ubuntu)

    
por 27.09.2011 / 22:59
2

No menu do grub, pressione 'e' para editar a entrada do menu e alterar manualmente o argumento root = kernel para apontar para o array de raid e inicializar manualmente. Então execute o update-grub, e ele verá que você está inicializando a partir do array do RAID e se configurará para fazê-lo no futuro.

Além disso, você não precisa ter uma partição / boot separada.

    
por 28.09.2011 / 00:22