Wie kann man die tatsächlichen Dateien „sehen“, die als Bootloader verwendet werden?

Wie kann man die tatsächlichen Dateien „sehen“, die als Bootloader verwendet werden?

Ich habe versucht, mit dem Programm „Disks“ von Ubuntu Images von Partitionen auf dem Laptop meines Freundes zu erstellen und diese dann erfolglos wiederherzustellen. Ich erstelle Backups auf einer externen Festplatte, lösche dann alle Partitionen auf dem Laptop, erstelle leere Partitionen mit der exakten Anzahl der ursprünglichen Bytes und stelle die Images von der externen Festplatte wieder her, aber Windows kann nicht einmal seinen eigenen Bootloader finden und ich kann daher nicht booten.

Also probiere ich jetzt etwas anderes aus. Sie verwendet ohnehin kein Windows, also werde ich die Windows-Partitionen intakt lassen und sda7 wählen, um den Ubuntu 16.04-Bootloader zu installieren.

Bildbeschreibung hier eingeben

Jetzt kann ich im BIOS einen separaten Windows-Bootloader und die Ubuntu-Grub64-Datei sehen, die ich als vertrauenswürdige UEFI-Datei zum Bootloading ausgewählt habe. Sie hat jetzt also ein Dual-Boot-System.

Jetzt möchte ich versuchen, einen Klon von sda7 zu erstellen (mithilfe der „Disks“-App von Ubuntu), sodass ich, selbst wenn ich die Partitionen sda7, sda5 und sda6 lösche und sie dann neu erstelle und den Klon von sda7 wiederherstelle, den Bootloader von sda7 im BIOS als vertrauenswürdigen Bootloader auswählen und wie zuvor über ein Dual-Boot-System verfügen kann.

Aber bevor ich das mache, möchte ich überprüfen, ob der Bootloader wirklich in sda7 ist. Ich habe versucht, es grep -r "grub" .aus dem Stammordner heraus zu tun, aber das ist wahrscheinlich das Falsche, wonach man suchen sollte. Könnten Sie mir also dabei helfen? Wie stelle ich sicher, dass der Bootloader in sda7 ist? Welche Dateien sind das?

Antwort1

Der Bootloader, der von Ihrem UEFI-BIOS ausgeführt wird, wird nicht von /dev/sda7, sondern von Ihrer EFI-Partition /dev/sda2 geladen. Ihr aktuelles System hat diese Partition unter /boot/efi/ gemountet. Durchsuchen Sie diese Partition als Root, um die Grub-Binärdatei und die Grub-CFG-Datei zu finden.

Diese CFG-Datei verweist Grub auf Ihre Bootpartition und dann auf eine andere automatisch generierte CFG-Datei, die Sie unter /boot/grub/grub.cfg sehen können. Diese CFG-Datei enthält alle Daten, die zum Erstellen des Grub-Bootmenüs verwendet werden, und wird geschrieben, wenn Sie in Linux „sudo grub-install“ eingeben.

Antwort2

Zunächst sollten Sie überprüfen, ob Sie tatsächlich booten mitEFIund nicht die alteBIOS:

[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS

Wenn Sie tatsächlich mit EFI booten, werden die GRUB-Dateien wie folgt gespeichert:

  • in der ESP-Partition (in /EFI/ubuntu)
  • In/boot/grub
  • In/etc/grub

also ja /dev/sda7hält einigeRODENDateien, die denen in /etc/grubund am ähnlichsten sind /boot/grub.

Ich bin mir da nicht 100 % sicher, aber wenn /dev/sda7es gelöscht wird, /boot/grub/grub.cfgfehlt es und GRUB funktioniert nicht richtig.

verwandte Informationen