Wie erstelle ich ein portables Kubuntu auf einem externen Laufwerk (GPT) auf einem UEFI-Computer?

Wie erstelle ich ein portables Kubuntu auf einem externen Laufwerk (GPT) auf einem UEFI-Computer?

Das Problem: Nach der Installation von Kubuntu auf einer externen SSD (Transcend ESD400 512Gb) auf einem UEFI-Computer kann ich es nicht auf einem anderen verwenden. Ich habe einige Versuche unternommen, aber alle waren erfolglos.

Mein Computer: UEFI, Core i7 – 4 Kerne, Windows 7 Ultimate 64 Bit, 2 interne Laufwerke mit GPT, externe SSD mit GPT.

Kubuntu-Distribution: LiveUSB, erstellt mit Universal USB Installer 1.9.5.4, Kubuntu 14.04 LTS

Externe SSD wurde mit GParted partitioniert, Partitionen sind ausgerichtet.

Nach jeder Installation wurde die SSD formatiert und neu partitioniert. GRUB wurde überprüft: Version 2.02, EFI (nicht grub-pc).


Versuch 1: mit angeschlossenen internen Laufwerken.

Ich habe von LiveUSB gebootet. Führe die normale Installation durch. Meine Partitionstabelle:

512Mb - EFI - fat32
30Gb - / - ext4
100Gb - /home - ext4
50Gb - /usr - ext4
50Gb - /opt - ext4

Der Bootloader wurde auf einer externen SSD (/dev/sdc) installiert. Nach dem Neustart habe ich 2 Boot-Einträge ubuntuim UEFI gefunden. Wenn meine externe SSD angeschlossen ist und ich jeden dieser beiden Einträge auswähle, funktioniert alles: Kubuntu startet und funktioniert. Wenn die externe SSD ausgeschaltet ist, Minimal BASH-like line editing is supportederscheint ein schwarzer Bildschirm. Wenn ich (Boot-Eintrag mit Bezeichnung der externen SSD) auswähle UEFI TS512..., scheint der nächste Eintrag zu funktionieren ( Windows Boot Manager).

Versuch 2: mit nicht angeschlossenen internen Laufwerken.

Die Installationsprozedur war die gleiche. Nach dem Neustart startete das System und funktionierte. Aber nach dem Anschließen der internen Laufwerke erscheint beim Booten von extern (sowohl ubuntuals auch UEFI TS512...Einträge) ein schwarzer Bildschirm mit blinkendem Textcursor und nichts will starten. Wenn ich wähle, Windows Boot Managerstartet Windows problemlos.

Versuch 3: Habe versucht, EFI-Dateien zu ändern.

grubx64.efiVon /dev/sda1nach kopiert dev/sdc1und in umbenannt bootx64.efi. Nichts Neues – es geht die Liste der Einträge nach unten bis Windows Boot Manager.

Versuch 4: habe versucht, grub.cfgund zu ändern fstab.

In /boot/grub/grub.cfgersetzt alles hd2durch hd0. Und in fstabhabe ich die UUID der EFI-Partition geändert: vorher zeigte sie auf /dev/sda1, jetzt zeigt sie auf /dev/sdc1.


Wie kann ich also ein portables System auf einer externen SSD erstellen, das auf jedem UEFI-Computer bootet, aber nicht nur auf meinem?

Antwort1

Ihr Problem besteht darin, dass der EFI-Bootvorgang Daten am Speicherort des Bootloaders im NVRAM speichert. Wenn Sie also auf einem Computer installieren und die Festplatte dann auf einen anderen Computer verschieben, weiß der zweite Computer nicht, wo er nach dem Bootloader suchen muss. Normalerweise umgeht man dieses Problem, indem man den Standard-/Fallback-Bootloader-Dateinamen EFI/BOOT/bootx64.efiauf der EFI-Systempartition (ESP; das ist Ihre FAT32-Partition) verwendet. Die Firmware sucht auf Wechseldatenträgern nach diesem Dateinamen. Der große Vorbehalt besteht darin, dass Sie möglicherweise den integrierten Bootmanager der Firmware verwenden müssen, um diese Festplatte auszuwählen, und die Einzelheiten zum Zugriff auf diesen Bootmanager variieren von Computer zu Computer.

Sie können den Bootloader manuell an diesen Speicherort kopieren. Bei einer funktionierenden Ubuntu-Installation funktioniert folgender Weg am wahrscheinlichsten:

cd /boot/efi/EFI
sudo mkdir -p BOOT
sudo cp ubuntu/shimx64.efi BOOT/bootx64.efi
sudo cp ubuntu/grubx64.efi BOOT/grubx64.efi

Beachten Sie, dass diese Befehle alle vorhandenen Bootloader überschreiben EFI/BOOT/bootx64.efi. Wahrscheinlich haben Sie momentan keinen auf Ihrer externen Festplatte, aber Sie sollten dies noch einmal überprüfen. Außerdem wird davon ausgegangen, dass der ESP auf demexternFestplatte ist unter gemountet /boot/efi. Sie sollten dies unbedingt noch einmal überprüfen, dfbevor Sie fortfahren. Sie möchten den Bootloader auf IhreminternFestplatte versehentlich!

Wenn Sie sicher sind, dass Sie mit deaktiviertem Secure Boot booten, können Sie EFI/ubuntu/grubx64.efinach kopieren EFI/BOOT/bootx64.efi. Dies funktioniert jedoch nicht, wenn Secure Boot auf dem Zielcomputer aktiviert ist.

verwandte Informationen