{"id":603,"date":"2023-02-28T11:28:52","date_gmt":"2023-02-28T10:28:52","guid":{"rendered":"http:\/\/www.schoen-bloed.at\/blog\/?p=603"},"modified":"2023-03-06T11:09:38","modified_gmt":"2023-03-06T10:09:38","slug":"wie-migriere-ich-eine-proxmox-debian-vm-von-bios-zu-uefi-mit-systemd","status":"publish","type":"post","link":"https:\/\/www.schoen-bloed.at\/blog\/2023\/02\/wie-migriere-ich-eine-proxmox-debian-vm-von-bios-zu-uefi-mit-systemd\/","title":{"rendered":"Wie migriere ich eine Proxmox Debian VM von BIOS zu UEFI mit systemd-?"},"content":{"rendered":"\n<p>In diesem Blogeintrag wird dokumentiert wie man eine Debian 12 Bookworm Virtuelle Maschine die auf einem Proxmox Virtual Environment 7.3 Cluster von BIOS mit Grub auf UEFI mit systemd-boot umstellt. Da es sich um eine Virtuelle Maschine handelt wird eine zus\u00e4tzliche &#8222;Festplatte&#8220; eingeh\u00e4ngt. Damit erspart man sich das um partitionieren der root &#8222;Festplatte&#8220;. Die VM selbst muss nicht vorbereiten werden, es wird direkt die Installations-DVD im Rescue-Mode gestartet.<\/p>\n<p><!--more--><\/p>\n\n\n\n<h3>Das Tutorial basiert folgenden Grundlagen<\/h3>\n<ul>\n<li>Dem Hypervisor Proxmox Virtual Enviroment in der Version 7.3<\/li>\n<li>Der VM Debian 12 Bookworm<\/li>\n<li>Zus\u00e4tzliche Disk f\u00fcr EFI<\/li>\n<\/ul>\n<h3>Folgende Vorbereitungen m\u00fcssen getroffen werden<\/h3>\n<ol>\n<li>200 MB zus\u00e4tzlicher Speicherplatz muss verf\u00fcgbar sein (Eigene Disk).<\/li>\n<li>Aktuelle Debian Installations-DVD muss vorhanden sein.<\/li>\n<li>Backup der VM muss erstellt werden.<\/li>\n<li>IP der VM+Netzmaske+Gateway+DNS Server<\/li>\n<\/ol>\n<h3>Schritte in Proxmox<\/h3>\n<ol>\n<li>Hinzuf\u00fcgen einer EFI Disk<\/li>\n<li>Umstellen BIOS von Default (SeaBIOS) auf OVMF (UEFI)<\/li>\n<li>Entfernen (Detach) der root Hard Disk (scsi0)<\/li>\n<li>Hinzuf\u00fcgen einer neuen Hard Disk mit 0,2 GB (unsere EFI Disk) (scsi0)<\/li>\n<li>Wiederhinzuf\u00fcgen (Attach) der root Hard Disk (scsi1)<\/li>\n<li>Hinzuf\u00fcgen eines CD\/DVD Drive mit der Debian Installations-DVD<\/li>\n<li>Umstellen der Boot Order (DVD an erste Stelle) (unter Options -&gt; Boot Order)<\/li>\n<\/ol>\n<h3>Einschalten der VM<\/h3>\n<ol>\n<li>Im Grub der Installations-DVD &#8222;Advanced options &#8230;&#8220; -&gt; &#8222;Rescue mode&#8220; ausw\u00e4hlen.<\/li>\n<li>Sprache ausw\u00e4hlen (Einfach 2x Eingabetaste f\u00fcr English \/ USA reicht f\u00fcr den &#8222;Rescue mode&#8220;)<\/li>\n<li>Keymap to use: German ist schon etwas wichtiger<\/li>\n<li>Entweder wird das Netzwerk manuell konfiguriert oder \u00fcber DHCP konfigurieren.<\/li>\n<li>Zeitzone kann auch belassen<\/li>\n<li>Auswahl der root file system (bestehendes System) ist \/dev\/sdb1<\/li>\n<li>Als erstes wird die Shell im &#8222;installer environment&#8220; gestartet<\/li>\n<li>Jetzt wird das efivarfs kernel module geladen<br \/>modprobe efivarfs<\/li>\n<li>Mittels strg+d ausloggen<\/li>\n<li>Als n\u00e4chstes wird die Shell in &#8222;\/dev\/sdb1&#8220; gestartet<\/li>\n<li>mounten des EFI variablen Dateisystems mittels:<br \/>mount -t efivarfs efivarfs \/sys\/firmware\/efi\/efivars<\/li>\n<\/ol>\n<p>Zu diesem Zeitpunkt l\u00e4uft die VM mittels UEFI gestartet und direkt im Dateisystem der Installation. Jetzt wird grub deinstalliert und systemd-boot installiert und alle weiteren \u00c4nderungen die notwendig sind durchgef\u00fchrt.<\/p>\n<h3>Vorbereiten der EFI Partition<\/h3>\n<ol>\n<li>apt install gdisk dosfstools<\/li>\n<li>gdisk \/dev\/sda\n<ol>\n<li>o &#8211; Erstellen der GUID Partitions-Tabelle<\/li>\n<li>n &#8211; Neue partion erstellen\n<ol>\n<li>Partition number: default (1)<\/li>\n<li>First sector: default (2048)<\/li>\n<li>Last sector: default (417791)<\/li>\n<li>Hex code: EF00<\/li>\n<\/ol>\n<\/li>\n<li>w &#8211; Schreiben der Partitions-Tabelle<\/li>\n<\/ol>\n<\/li>\n<li>mkfs.vfat -F 32 -n &#8222;BOOT DISK&#8220; \/dev\/sda1<\/li>\n<li>mkdir -p \/boot\/efi<\/li>\n<li>mount \/dev\/sda1 \/boot\/efi<\/li>\n<li>mkdir -p \/boot\/efi\/loader\/entries<\/li>\n<li>nano \/boot\/efi\/loader\/loader.conf\n<ol>\n<li>default systemd<\/li>\n<li>timeout 1<\/li>\n<li>editor 1<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3>Deinstallation und Installation des Bootloaders<\/h3>\n<ol>\n<li>apt autoremove grub-common<\/li>\n<li>apt install systemd-boot<\/li>\n<li>bootctl install<\/li>\n<li>ls \/boot &#8211; anzeigen der vorhanden kernel. Beispiel 6.1.0-3-cloud-amd64<\/li>\n<li>kernel-install add 6.1.0-3-cloud-amd64 \/boot\/vmlinuz-6.1.0-3-cloud-amd64<\/li>\n<li>Sicherstellen das die richtigen boot optionen f\u00fcr den Eintrag gesetzt sind\n<ol>\n<li>cat \/etc\/efi\/loader\/entries\/&lt;machine_id&gt;<\/li>\n<li>Diese Datei sollte mindestens die folgende Eintr\u00e4ge enthalten\n<ol>\n<li>options root=UUID=&lt;PARTUUID&gt; ro quiet systemd.machine_id=&lt;machine_id&gt;<\/li>\n<li>linux \/&lt;machine_id&gt;\/&lt;kernel_version&gt;\/linux<\/li>\n<li>initrd \/&lt;machine_id&gt;\/&lt;kernel_version&gt;\/initrd.img-&lt;kernel_version&gt;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3>Neustarten der VM und booten mittels UEFI nach Debian<\/h3>\n<ol>\n<li>strg+d<\/li>\n<li>Reboot the system<\/li>\n<li>Wenn der Kernel nicht gesigned ist muss secure boot deaktiviert werden\n<ol>\n<li>Den UEFI-Konfigurationsscreen mittels ESC \u00f6ffnen<\/li>\n<li>Device Manager<\/li>\n<li>Secure Boot Configuration<\/li>\n<li>X bei &#8222;Attempt Secure Boot&#8220; entfernen<\/li>\n<li>ESC -&gt; ESC -&gt; Reset<\/li>\n<\/ol>\n<\/li>\n<li>VM in Proxmox stoppen<\/li>\n<li>CD Laufwerk aus der Hardware Konfiguration entfernen<\/li>\n<li>VM in Proxmox starten<\/li>\n<\/ol>\n<h3>Anpassungen im System<\/h3>\n<ol>\n<li>EFI Partition automatisch einh\u00e4ngen<\/li>\n<li>UUID=&lt;BOOTUUID&gt; \/efi vfat noatime,noexec,nosuid,nodev,noauto,umask=0022,gid=0,uid=0,x-systemd.automount,x-systemd.idle-timeout=60 0 1<\/li>\n<li>\u00dcbertragen der Kernel Optionen nach \/etc\/kernel\/cmdline\n<ol>\n<li>root=UUID=&lt;partuuid&gt; nicht vergessen<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3>Aufr\u00e4umen<\/h3>\n<ol>\n<li>apt autoremove gdisk dosfstools<\/li>\n<li>l\u00f6schen \u00fcbergebliebener Grub Konfigurationensdateien\n<ol>\n<li>\/boot\/grub<\/li>\n<li>\/etc\/grub.d<\/li>\n<li>\/etc\/default\/grub.d<\/li>\n<li>\/etc\/default\/grub*<\/li>\n<li>\/var\/lib\/grub<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3>Optimierungen<\/h3>\n<ol>\n<li>Timeout entfernen\n<ol>\n<li>Proxmox UEFI Timeout entfernen<br \/>(leider funktioniert Einstellung in der Konfiguration nicht)<br \/>Deswegen kann mittels Qemu Option das Bootmen\u00fc deaktiviert werden.<br \/>Am Proxmox host die datei \/etc\/pve\/qemu-server\/&lt;vmid&gt;.conf editieren und folgende Zeile hinzuf\u00fcgen:<br \/>args: -boot menu=off<br \/>Das gedr\u00fcckt halten der &lt;ESC&gt;-Taste erlaubt das \u00f6ffnen des Konfigurationsscreen auch ohne Timeout<\/li>\n<li>Timeout von systemd-boot entfernen<br \/>diese Eintrag befindet sich in \/boot\/efi\/loader.conf und hat den namen &#8222;timeout&#8220; diesen auf 0 setzen reicht um das Men\u00fc zu deaktivieren.\u00a0<br \/>Das gedr\u00fcckt halten der &lt;Pfeil-Unten&gt;-Taste erlaubt das \u00e4ndern der Bootoption auch ohne Timeout<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Blogeintrag wird dokumentiert wie man eine Debian 12 Bookworm Virtuelle Maschine die auf einem Proxmox Virtual Environment 7.3 Cluster von BIOS mit Grub auf UEFI mit systemd-boot umstellt. Da es sich um eine Virtuelle Maschine handelt wird eine zus\u00e4tzliche &#8222;Festplatte&#8220; eingeh\u00e4ngt. Damit erspart man sich das um partitionieren der root &#8222;Festplatte&#8220;. Die VM [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/posts\/603"}],"collection":[{"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/comments?post=603"}],"version-history":[{"count":4,"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/posts\/603\/revisions"}],"predecessor-version":[{"id":609,"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/posts\/603\/revisions\/609"}],"wp:attachment":[{"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/media?parent=603"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/categories?post=603"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/tags?post=603"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}