Lorsque je tentais de ressusciter mon routeur (qui était rouillé) dont le disque système (carte CF) avait échoué (probablement parce que j'avais négligé de régler correctement Ubuntu pour ce type de support), je souhaitais utiliser l'opportunité d'installer un serveur 12.04 à l'aide de BTRFS pour. la carte CF entière. Les BTRFS peuvent soi-disant être mieux adaptés aux disques flash, alors je me suis dit que ce serait une bonne idée. J'ai donc remplacé la carte CF défectueuse par une nouvelle et démarré à partir du CD 12.04 du serveur.
Bien que l'installation ait été extrêmement lente (> 3 heures), j'ai déjà lu qu'il s'agissait d'un problème connu lors de l'utilisation de BTRFS sur des disques Flash. Je ne m'inquiétais donc pas beaucoup.
Cependant, lorsque le processus d'installation était enfin au moment où GRUB allait être installé, j'ai l'erreur suivante:
Unable to install GRUB in /dev/sda
Executing 'grub-install /dev/sda' failed.
This is a fatal error.
Voici ce que j'ai vu lorsque je suis revenu à TTY4:
grub-installer: info: Installing grub on '/dev/sda'
grub-installer: info: grub-install supports --no-floppy
grub-installer: info: Running chroot /target grub-install --no-floppy --force "/dev/sda"
grub-installer: /usr/sbin/grub-setup: warn:
grub-installer:
grub-installer: Your core.img is unusually large. It won't fit in the embedding area.
grub-installer: .
grub-installer: /usr/sbin/grub-setup: warn:
grub-installer:
grub-installer: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However blocklists are UNRELIABLE and their use is discouraged.
grub-installer: .
grub-installer: /usr/sbin/grub-setup: error:
grub-installer:
grub-installer: cannot read '/@/boot/grub/core.img' correctly
grub-installer: .
grub-installer: error: Running 'grub-install --no-floppy --force "/dev/sda"' failed.
J'ai ensuite essayé d'installer GRUB sur/dev/sda1 à la place, ce qui a fonctionné sans erreur. Cependant, quand je démarre maintenant le système, je reçois le fameux 'GRUB Error 17'.
Donc, ma question évidente est de savoir comment résoudre ce problème. Et s’agit-il d’un bogue dans le programme d’installation que je dois signaler? Comme vous pouvez l’imaginer, je préférerais ne pas avoir à passer 3 heures de plus à refaire toute l’installation ...
Edit: j’ai jeté un coup d’œil à la taille de core.img, et c’est 38284 octets. Si j'ai bien compris, GRUB veut placer ceci à la toute première position du disque, où une infime quantité d'espace devrait être disponible avant la première partition. Dans mon cas, cet espace correspond, si j'interprète correctement les données de 'fdisk -l/dev/sda', à seulement 63 x 512 = 32256 octets ... rien d'étonnant à ce que GRUB se plaint de core.img ne rentre pas!
Mais comment peut-il être core.img est-ce grand? Est-ce à cause de BTRFS? Par exemple, le core.img de mon ordinateur portable n’est que de 26052 octets (et il n’utilise pas BTRFS). Comment puis-je l'adapter, en plus du reformatage vers autre chose que BTRFS?
Edit 2: Je me sentais courageux, j’utilisais gparted pour déplacer sda1 un peu "à droite", pour agrandir l’espace avant la première partition. Après cela, j'ai démarré le CD serveur 12.04 en mode resque + expert et j'ai essayé d'installer à nouveau GRUB. Cette fois, j'ai eu une erreur différente:
grub-installer: /usr/sbin/grub-probe: error:
grub-installer:
grub-installer: cannot find a device for /boot/grub (is /dev mounted?)
grub-installer: .
grub-installer: error: Running 'grub-install --no-floppy --force "/dev/sda"' failed.
Maintenant quoi?
le module grub + btrfs est trop volumineux pour l'espace libre dans votre MBR, voir bogue n ° 1059827 - "Les installations non triviales de grub2 ne conviennent plus dans de petites zones d'intégration" .