BIOS/UEFI
Zur Navigation springen
Zur Suche springen
BIOS/UEFI-bootbares Image erstellen
Ubuntu MBR-only nach GPT konvertieren
Auf der neuen GPT-Festplatte durchführen:
- Drei Partitionen erstellen:
- BIOS-Boot Partition (Typ EF02, Größe 1MB)
- EFI Boot Partition (Typ EF00, Größe 100MB)
- root Partition (Typ 8300, Größe ist der komplette Rest der Platte)
- Partitionen formatieren:
- mkfs.vfat /dev/sda2 -nEFI
- mkfs.ext4 /dev/sda3 -Lubuntu (Label setzen ist hier extrem wichtig!)
- Das Ubuntu root-Filesystem der MBR-only-Platte auf die root-Partition der neuen GPT-Festplatte kopieren:
- rsync -aAhHPvxX / /mnt/target oder rsync-aAhHPvxX / root@<GPT-Rechner>:/mnt/target
- fstab anpassen da die UUID des root-Filesystems auf der neuen Platte natürlich nicht mehr stimmt
- UUID=<UUID> entfernen und stattdessen LABEL=ubuntu angeben
BIOS-Boot einrichten
- grub auf die Festplatte des GPT-Rechners installieren:
- mount --bind /dev /mnt/target/dev
- mount --bind /sys /mnt/target/sys
- mount --bind /proc /mnt/target/proc
- chroot /mnt/target
- update-grub (dies passt die UUID-Einträge in der /boot/grub/grub.cfg an, sollte man vielleicht auch auf LABEL umstellen)
- grub-install /dev/sda oder /dev/vda oder /dev/nvme0n1
- Dies sollte GRUB in der BIOS-Boot-Partition installieren (i386-pc)
- BIOS-Boot sollte jetzt bereits funktionieren
UEFI-Boot einrichten
- grub einrichten
- EFI-Partition der GPT-Platte mounten
- mkdir /mnt/efi
- mount /dev/vda2 /mnt/efi
- mkdir -p /mnt/efi/EFI/BOOT
- apt-get install grub-efi-amd64-bin
- grub-mkimage -o /mnt/efi/EFI/BOOT/bootx64.efi -O x86_64-efi -p /efi/boot fat iso9660 part_gpt part_msdos normal boot linux configfile loopback chain efifwsetup efi_gop efi_uga ls search search_label search_fs_uuid search_fs_file gfxterm gfxterm_background gfxterm_menu test all_video loadenv exfat ext2 ntfs btrfs hfsplus udf
Folgendes in /EFI/BOOT/grub.cfg eintragen:
search --label ubuntu --set prefix configfile ($prefix)/boot/grub/grub.cfg (Dies lädt die eigentliche grub.cfg des Ubuntu root-Filesystems)
- UEFI-Boot sollte jetzt auch funktionieren