Ich versuche einen Dual-Boot von Windows 8 und Ubuntu 12.10 auf meinem Surface Pro durchzuführen und möchterEFIndfür meinen Bootmanager.
Ich möchte GRUB niemals installieren, auch nicht während der Installation von Ubuntu, da meine früheren Erfahrungen mit dem Versuch, dies auf diesem Gerät zu tun, zu einer Beschädigung des Windows-Bootloaders geführt haben, was das Gerät effektiv blockieren kann, da es diese anscheinend zum Booten von USB benötigt. Ich bin mir des Erfolgs von bewusstDual-Boot-Surface Pro mit Ubuntu?, möchten aber GRUB vollständig meiden.
Bisher habe ich Folgendes versucht:
- Installieren Sie rEFInd und testen Sie, ob es unter Windows 8 problemlos funktioniert.
- Installieren Sie Ubuntu 12.10 von „ubiquity -b“, um die Installation von GRUB zu verhindern
- Überprüfen, ob Windows 8 weiterhin ordnungsgemäß gestartet werden kann
Leider werden dadurch keine .efi-Stubs für Ubuntu generiert, daher bin ich mir an dieser Stelle nicht sicher, was ich tun soll. Was kann ich tun, um diese zu generieren, ohne GRUB oder einen anderen Bootloader zu installieren? Bedenken Sie, dass ich zu diesem Zeitpunkt nicht direkt in Ubuntu booten kann, sondern nur eine Live-Installation, es sei denn, ich muss während der eigentlichen Installation noch etwas anderes tun.
Um es noch einmal zu wiederholen: Was ich tun möchte, ist: Ubuntu ohne GRUB installieren, EFI-Stubs für Ubuntu generieren, niemals die EFI-Firmware oder das Windows-Startverzeichnis berühren und sich dann darauf verlassen, dass rEFInd diese Stubs während des Startvorgangs findet.
Antwort1
Zunächst gehe ich davon aus, dass Sie mit „.efi-Stubs“ Dateien mit .efi
Erweiterungen auf der EFI-Systempartition (ESP) meinen. Dabei handelt es sich um EFI-Programmdateien – am häufigsten Bootloader, manchmal aber auch Programme und Dienstprogramme.
Wenn Sie Windows und Ubuntu über rEFInd booten möchtenohneWenn Sie GRUB verwenden, sind die einzigen EFI-Programme, die Sie auf dem ESP benötigen, der Windows-Bootloader (von Windows installiert), rEFInd ( refind_x64.efi
) und ein EFI-Dateisystemtreiber für das Dateisystem, das Sie mit Ubuntu verwendet haben (wahrscheinlich ext4_x64.efi
, im drivers
oder drivers_x64
Unterverzeichnis des Verzeichnisses, das enthält refind_x64.efi
). Der ext4fs-Treiber ermöglicht es dem EFI und damit rEFInd, den Linux-Kernel auf der Haupt-Linux-Partition zu lesen. Linux-Kernel enthalten seit Version 3.3.0 einen EFI-Stub-Loader, mit dem der Linux-Kernel zu seinem eigenen Bootloader wird. Mit rEFInd und einem ext4fs-Treiber auf dem ESP kann rEFInd den Linux-Kernel also direkt von einer Linux-Partition aus starten. Sie benötigen jedoch noch eine weitere Sache: eine /boot/refind_linux.conf
Datei mit Optionen für Linux. Ein minimales Beispiel sieht folgendermaßen aus:
"Boot with normal options" "ro root=/dev/sda8"
"Boot into single-user mode" "ro root=/dev/sda8 single"
Dieses Beispiel bootet die Installation auf /dev/sda8
. Sie können weitere Optionen hinzufügen, um eine grafische Startanzeige anzuzeigen oder aus anderen Gründen, aber die oben genannten (mit einem geänderten root=
Wert, aller Wahrscheinlichkeit nach) werden mit den meisten Systemen funktionieren.
Eine Variante dieses Ansatzes besteht darin, Ihren Kernel (Ihre Kernel) auf den ESP zu kopieren (wahrscheinlich in das EFI/ubuntu
Verzeichnis des ESP) undnichtInstallieren Sie einen Linux-Dateisystemtreiber. Dies hat auf einigen Systemen einige Vorteile, erfordert jedoch jedes Mal das Kopieren des Kernels, wenn das Verpackungssystem ihn aktualisiert. Wenn Sie es auf diese Weise tun, legen Sie es refind_linux.conf
in das Verzeichnis auf dem ESP, in dem Sie Ihre Kernel speichern.