Nach einem Update von Ubuntu 10.04.4 LTS auf 12.04 LTS habe ich während des Updates die Meldung von Grub bekommen dass er nicht installiert werden kann. Beim manuellen Aufruf von „grub-install /dev/sda“ bekomme ich folgende Fehlermeldung:
root@server1:~# grub-install /dev/sda
/usr/sbin/grub-setup: Warnung: This GPT partition label has no BIOS Boot Partition; embedding won’t be possible!.
/usr/sbin/grub-setup: Warnung: Einbettung ist nicht möglich. GRUB kann in dieser Konfiguration nur mittels Blocklisten installiert werden. Blocklisten sind allerdings UNZUVERLÄSSIG und deren Verwendung wird daher nicht empfohlen..
/usr/sbin/grub-setup: Fehler: mit Blocklisten wird nicht fortgesetzt.
Da fehlt also auf der Startpartition das Flag dass diese Partition startbar ist wie’s scheint. Bei GPT Partitionstabellen muss für Grub eine extra Partition angelegt sein – 1 MB würde schon ausreichen. In meinem Fall habe ich die bisher als /boot verwendete /dev/sda1 geopfert und dafür verwendet. Die in der Partition /dev/sda1 vorhandenen Daten habe ich vorher entsprechend weg kopiert und dann im /boot auf /dev/sda3 hinterlegt.
Behoben habe ich das Problem mit folgenden Befehlen:
root@server1:~# parted
GNU Parted 2.3
Verwende /dev/sda
Willkommen zu GNU Parted! Geben Sie ‚help‘ ein, um eine Liste der verfügbaren Kommados zu erhalten.
(parted) set 1 bios_grub
Neuer Zustand? [an]/on/aus/off? on
(parted) print
Modell: ATA Hitachi HDS72202 (scsi)
Festplatte /dev/sda: 2000GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: gptNummer Anfang Ende Größe Dateisystem Name Flags
1 1049kB 512MB 511MB ext2 boot bios_grub
2 512MB 2511MB 2000MB linux-swap(v1) swap
3 2511MB 6512MB 4000MB ext4 root
4 6512MB 14,5GB 8000MB ext4 usr
5 14,5GB 16,5GB 2000MB ext4 home
6 16,5GB 24,5GB 8000MB ext4 tmp
7 24,5GB 32,5GB 8000MB ext4 var
8 32,5GB 2000GB 1968GB ext4 2t1(parted) q
Anschließend kann man mit „grub-install /dev/sda“ den Grub Boot-Loader auf der Platte /dev/sda installieren und das System sollte wieder wie gewohnt starten.