> For the complete documentation index, see [llms.txt](https://docs.verge.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verge.io/knowledge-base/de/virtual-machines/import-rhel-centos-vm.md).

# Wie man eine Linux-VM importiert (RHEL, CentOS, SUSE, Debian, Ubuntu)

## Überblick

{% hint style="info" %}
**Wichtige Punkte**

* Linux-Distributionen installieren während der Installation nur Treiber für erkannte Hardware.
* Importierte VMs starten möglicherweise nicht, weil die Virtio-Treiber für VergeOS-Hardware fehlen.
* Sie können Startprobleme beheben, indem Sie die VM-Konfiguration anpassen und das Initramfs neu erzeugen.
* Dieser Leitfaden behandelt RHEL, CentOS, Fedora, SUSE, openSUSE, Debian und Ubuntu.
  {% endhint %}

Dieser Leitfaden erklärt, wie Sie Linux-virtuelle Maschinen von anderen Hypervisoren in VergeOS importieren. Er behandelt mögliche Probleme wie VMs, die nach der Migration nicht starten oder keine Netzwerkverbindung haben, und bietet distributionsspezifische Anweisungen zum Neuerzeugen des Initramfs.

## Voraussetzungen

* Zugriff auf VergeOS und die VergeOS-Benutzeroberfläche.
* Vertrautheit mit der Hypervisor-Umgebung und der VM-Konfiguration.
* Importierte VM-Dateien müssen in der VergeOS-Umgebung vorhanden sein.

## Schritte

### 1. VM-Hardwarekonfiguration aktualisieren

1. **Ändern Sie alle Festplatten auf `virtio-scsi`**:
   * Navigieren Sie in der VergeOS-Benutzeroberfläche zu den Einstellungen der VM.
   * Ändern Sie für jede Festplatte die Schnittstelle auf `virtio-scsi` für optimale Leistung und Kompatibilität.
2. **Ändern Sie alle NICs auf `virtio`**:
   * Stellen Sie sicher, dass alle Netzwerkkarten (NICs) auf `virtio` für verbesserte Netzwerkunterstützung eingestellt sind.
3. **Startreihenfolge anpassen**:
   * Stellen Sie sicher, dass die OS-Disk als **ID 0** in der Startreihenfolge aufgeführt ist.

### 2. In den Rettungsmodus booten

1. **Starten Sie die VM**:
   * Schalten Sie die VM ein und halten Sie während des Bootvorgangs die **linke Umschalttaste** gedrückt, um das GRUB-Bootmenü aufzurufen.
2. **Rettungsmodus auswählen**:
   * Wählen Sie im GRUB-Menü den Rettungsmodus aus, um in eine minimale Wiederherstellungsumgebung zu booten.

{% hint style="success" %}
**Alternative für SUSE/openSUSE**

Wenn Sie über GRUB nicht im Rettungsmodus booten können (häufig bei SLES15 und openSUSE Leap 15), hängen Sie ein Installations-ISO an die VM an und booten Sie davon. Das ISO bietet eine Option „Rescue System“.
{% endhint %}

### 3. Das Root-Dateisystem einhängen und chrooten

{% hint style="success" %}
**RHEL Version 9+**

Standardmäßig verwenden VMs der RHEL-9-Familie (z. B. RHEL, AlmaLinux 9, Rocky Linux 9, CentOS Stream 9) eine LVM-Konfigurationsdatei, um Geräte anhand der Hardware-ID explizit auf eine Whitelist zu setzen. Wenn eine VM ohne Beibehaltung der Hardware-IDs/Seriennummern der Laufwerke importiert wurde, führen Sie `pvscan --cache` und `vgchange -ay` aus, um LVM zu zwingen, alle Blockgeräte erneut zu scannen. Siehe KB-Artikel: [VMs der RHEL-9-Familie starten nach Klonen oder Snapshot-Wiederherstellung nicht](/knowledge-base/de/backup-dr/rhel9-boot-failure-clone-snapshot-restore.md) für weitere Informationen zu erstellen.
{% endhint %}

Nachdem Sie in den Rettungsmodus gebootet haben, melden Sie sich als root an und hängen Sie das Root-Dateisystem ein.

1. **Die Root-Partition suchen**:

   Wenn Sie nicht wissen, welche Partition das Root-Dateisystem enthält, listen Sie alle verfügbaren Partitionen auf:

   ```bash
   cat /proc/partitions
   ```

   Bei Systemen mit LVM listen Sie alle logischen Volumes auf:

   ```bash
   lvdisplay
   ```
2. **Die Root-Partition einhängen**:

   Hängen Sie die Root-Partition oder das logische Volume ein nach `/mnt`:

   ```bash
   mount /dev/<device_name> /mnt
   ```

   Ersetzen Sie `<device_name>` mit Ihrer Root-Partition (z. B. `sda2`, `mapper/vg0-root`).
3. **Einhängen überprüfen**:

   Prüfen Sie, ob Sie das richtige Dateisystem eingehängt haben, indem Sie dessen Inhalt auflisten:

   ```bash
   ls /mnt
   ```

   Sie sollten Verzeichnisse wie `/root`, `/boot`, `/home`, `/etc`, und `/var`.
4. **Die virtuellen Dateisysteme binden**:

   Verwenden Sie die folgende for-Schleife, um die erforderlichen virtuellen Dateisysteme zu binden:

   ```bash
   for i in proc sys dev run; do mount --rbind /$i /mnt/$i; done
   ```

   Alternativ können Sie sie einzeln einhängen:

   ```bash
   mount --rbind /proc /mnt/proc
   mount --rbind /sys /mnt/sys
   mount --rbind /dev /mnt/dev
   mount --rbind /run /mnt/run
   ```

   Bei EFI/UEFI-Systemen auch die EFI-Partition einhängen:

   ```bash
   mount /dev/sdX1 /mnt/boot/efi
   ```

   Ersetzen Sie /dev/sdX1 durch Ihre tatsächliche EFI-Partition (prüfen Sie mit lsblk oder fdisk -l).
5. **In das eingehängte Dateisystem chrooten**:

   ```bash
   chroot /mnt
   ```
6. **Verbleibende Dateisysteme einhängen**:

   Nach dem Chrooten hängen Sie alle weiteren in fstab definierten Partitionen ein:

   ```bash
   mount -a
   ```

### 4. Initramfs neu erstellen

Erzeugen Sie nach dem Chrooten in das System das Initramfs mit den erforderlichen Virtio-Treibern neu.

#### RHEL / CentOS / Fedora / SUSE (mit dracut)

Führen Sie den folgenden Befehl aus, um das Initramfs neu zu erzeugen:

```bash
dracut -f --regenerate-all --add-drivers "virtio_blk virtio_net virtio_pci"
```

Dies fügt Treiber für `virtio_blk` (Blockgerät), `virtio_net` (Netzwerkgerät) und `virtio_pci` (PCI-Bus) zum Initramfs hinzu.

#### Debian / Ubuntu (mit update-initramfs)

Falls `dracut` nicht verfügbar ist (üblich auf Debian 10 und Ubuntu), verwenden Sie stattdessen `update-initramfs` :

1. Fügen Sie die Virtio-Module der Initramfs-Konfiguration hinzu:

   ```bash
   cat >> /etc/initramfs-tools/modules << EOF
   virtio_pci
   virtio_blk
   virtio_net
   EOF
   ```
2. Erzeugen Sie das Initramfs neu:

   ```bash
   update-initramfs -u
   ```

### 5. Neu starten und überprüfen

1. **Verlassen Sie die Chroot-Umgebung**:

   ```bash
   exit
   ```
2. **Starten Sie die VM neu**:

   ```bash
   reboot
   ```
3. **Start und Netzwerkkonnektivität überprüfen**:
   * Bestätigen Sie, dass die VM erfolgreich startet und die Netzwerkkonnektivität über die `virtio` NIC funktioniert.

## Fehlerbehebung

{% hint style="warning" %}
**Häufige Probleme**

* **VM startet nicht**:
  * **Lösung**: Überprüfen Sie die Startreihenfolge in den VM-Einstellungen erneut. Die OS-Disk muss als **ID 0**.
* **Keine Netzwerkkonnektivität**:
  * **Lösung**: Stellen Sie sicher, dass die NICs auf `virtio` eingestellt sind und dass das Initramfs mit den entsprechenden Netzwerktreibern neu erstellt wurde.
    {% endhint %}

## Zusätzliche Ressourcen

* [VMs migrieren](/run-the-platform/virtual-machines/vm-migration-overview.md)
* [Best Practices für VMs](/run-the-platform/virtual-machines/vm-best-practices.md)
* [Dracut-Wiki](https://github.com/dracutdevs/dracut/wiki/)

## Feedback

{% hint style="info" %}
**Brauchen Sie Hilfe?**

Wenn Sie Fragen haben oder beim Importieren einer VM auf Probleme stoßen, wenden Sie sich bitte an unser Support-Team, das Ihnen weiterhilft.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verge.io/knowledge-base/de/virtual-machines/import-rhel-centos-vm.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
