Wo ist der GRUB Bootloader alles installiert?

Vor einigen Wochen spukte eine SSD in einem meiner physischen Servern. Ich entschied mich, eine neue SSD zu kaufen, den kompletten Inhalt der alten SSD auf die neue SSD zu klonen, und dann die neue SSD als neue Festplatte in den Server einzubauen (die alte SSD wanderte ins Archiv).

Als ich gestern das Debian GNU/Linux auf diesem Server aktualisierte, bemerkte Debian, dass es auf einer neuen SSD lief, und fragte mich, wo ich den GRUB Bootloader überall installieren wollte (/dev/sda, das heisst auf der Festplatte selber, plus /dev/sda1, auf der ersten (Boot-)Partition).

GRUB war natürlich bereits installiert, sonst hätte der Server nach dem SSD-Wechsel nicht gebootet — aber vermutlich war in der GRUB-Konfiguration noch die Referenz auf die alte SSD enthalten und nicht auf die neue.

Überfordert entschied ich mich wie im Dialog angeregt, den Bootloader sowohl auf /dev/sda als auch /dev/sda1 zu installieren. Das sei die sicherste Methode.

Später dann fand ich nach einer mehrminütigen Internetsuche heraus, wie ich bei einem „baugleichen“ Server hätte nachschauen können, wo der Bootloader alles installiert ist:

# debconf-show grub-pc
grub2/kfreebsd_cmdline:
grub2/device_map_regenerated:
* grub2/linux_cmdline_default: quiet
grub-pc/timeout: 5
* grub2/linux_cmdline:
grub-pc/partition_description:
grub2/kfreebsd_cmdline_default: quiet
* grub-pc/install_devices_disks_changed: /dev/disk/by-id/ata-SanDisk_SDSSDA120G_XXXXXXXXXXXX
grub-pc/install_devices_failed_upgrade: true
grub2/force_efi_extra_removable: false
grub-pc/disk_description:
* grub-pc/install_devices: /dev/disk/by-id/ata-SanDisk_SDSSDA120G_XXXXXXXXXXXX
grub-pc/kopt_extracted: false
grub-pc/chainload_from_menu.lst: true
grub-pc/postrm_purge_boot_grub: false
grub2/update_nvram: true
grub-pc/install_devices_failed: false
grub-pc/install_devices_empty: false
grub-pc/mixed_legacy_and_grub2: true
grub-pc/hidden_timeout: false

Sprich: Nur auf /dev/sda.

Auf dem Server mit der ausgewechselten SSD schaut es nun halt leider so aus:

# debconf-show grub-pc
* grub-pc/install_devices: /dev/disk/by-id/ata-KINGSTON_SA400S37480G_XXXXXXXXXXXXXXXX, /dev/disk/by-id/ata-KINGSTON_SA400S37480G_XXXXXXXXXXXXXXXX-part1
grub-pc/install_devices_empty: false
grub2/force_efi_extra_removable: false
grub-pc/install_devices_failed: false
grub-pc/install_devices_failed_upgrade: true
* grub2/linux_cmdline:
grub-pc/postrm_purge_boot_grub: false
grub-pc/mixed_legacy_and_grub2: true
* grub-pc/install_devices_disks_changed: /dev/disk/by-id/ata-KINGSTON_SA400S37480G_XXXXXXXXXXXXXXXX, /dev/disk/by-id/ata-KINGSTON_SA400S37480G_XXXXXXXXXXXXXXXX-part1
grub-pc/timeout: 5
grub2/kfreebsd_cmdline:
grub-pc/chainload_from_menu.lst: true
grub2/update_nvram: true
grub-pc/disk_description:
grub-pc/hidden_timeout: false
grub-pc/kopt_extracted: false
* grub2/linux_cmdline_default: consoleblank=60
grub2/kfreebsd_cmdline_default: quiet
grub-pc/partition_description:

Sprich: Man sieht, dass der Bootloader sowohl auf die Festplatte, als auch die erste Partition („part1“) installiert wird.