Migracja maszyn wirtualnych pomiędzy różnymi środowiskami wirtualizacji może wydawać się skomplikowana. Na szczęście dzięki przygotowanemu skryptowi hv2pve cały proces przenoszenia maszyn z Hyper-V do Proxmoxa staje się dużo prostszy. W tym wpisie pokażę Ci, jak przygotować środowisko i krok po kroku przeprowadzić migrację.
1. Wymagania wstępne – zanim rozpoczniesz
Na początek ściągnij pliki z naszego repozytorium https://github.com/blackrack/hv2pve. Musisz dostosować plik konfiguracyjny env.json, w którym definiujesz wszystkie potrzebne parametry. Oto przykładowe ustawienia, które musisz zmienić:
"HYPERV_IP": "192.168.100.129",
"HYPERV_USER": "administrator",
"HYPERV_PASS": "TwojeHaslo",
"HYPER_VM_LIST": [
"UUID_maszyny_1",
"UUID_maszyny_2"
],
"HYPERV_AUTO_SHAREDISK": true,
"HYPERV_SHAREDISK_MAPPING": [
{
"C:/VMDisks": "VMDisks",
"PROXMOX_STORAGE": "data"
},
{
"E:/VMDisksSSD": "VMDisksSSD",
"PROXMOX_STORAGE": "space"
}
],
"PROXMOX_IP": "192.168.100.252",
"PROXMOX_USER": "root",
"PROXMOX_PASS": "TwojeHaslo",
"PROXMOX_MOUNTPATH": "/root/tmp",
"PROXMOX_IMPORTPATH": "/root/import",
"PROXMOX_STORAGE": "data",
"PROXMOX_SWITCH_DEFAULT": "vmbr0",
"PROXMOX_SWITCH_MAPPING": {
"UUID_switcha": "vmbr1"
},
"PROXMOX_NETWORK_TYPE": "e1000",
"PROXMOX_START_AFTER": true,
"PROXMOX_IMPORT_ONCE": false
💡 Uwaga: UUID maszyn i switchy z Hyper-V możesz podejrzeć w menedżerze Hyper-V lub skryptem.
2. Przygotowanie systemów do migracji
W katalogu prep_script znajdziesz trzy pomocnicze skrypty, które należy wykonać:
prep_hyper-v.ps – uruchamiasz na maszynie z Hyper-V, przygotowuje środowisko.
debian.sh – uruchamiasz na maszynach wirtualnych z systemem Debian lub pochodnym.
rocky.sh – uruchamiasz na maszynach z rodziny RHEL (np. Rocky Linux).
Dodatkowo:
➡️ W maszynach z systemem Windows, w Hyper-V Manager, dodaj w zakładce „Notes” wpis os:windows.

3. Przygotowanie środowiska na maszynie z Proxmox
- Utwórz wirtualne środowisko Pythona:
python3 -m venv ./venv
- Aktywuj środowisko:
source ./venv/bin/activate
- Zainstaluj wymagane biblioteki:
pip install -r req.txt
- Uzupełnij plik
env.json zgodnie z wcześniejszym opisem.
- Wykonaj weryfikację przed migracją:
make dryrun
4. Uruchomienie migracji
Jeśli wszystko gotowe, wystarczy uruchomić migrację:
- Migracja standardowa:
make run
- Tryb debugowania (gdy chcesz prześledzić cały proces krok po kroku):
make debug
Skąd wziąć potrzebne dane do env.json?
1. UUID maszyn wirtualnych (HYPER_VM_LIST)
UUID każdej maszyny znajdziesz w PowerShellu na hoście Hyper-V. Wpisz:
Get-VM | Select-Object Name, Id
Zobaczysz listę maszyn i ich identyfikatorów. Przykład:
| Name |
Id |
| winSerwer |
8de199b6-d858-45d6-81ef-55eb7a3dbf6f |
| debianHost |
62ac9e25-800c-4546-a97e-7f6141bf9ea4 |
Skopiuj te identyfikatory do sekcji HYPER_VM_LIST.

2. UUID przełączników Hyper-V (PROXMOX_SWITCH_MAPPING)
Aby sprawdzić identyfikatory switchy, użyj:
Get-VMSwitch | Select-Object Name, Id
Przykład:
| Name |
Id |
| ExternalNIC |
f3f8527d-2d64-4636-a1b4-bf84d2816fbd |
W PROXMOX_SWITCH_MAPPING możesz przypisać te switche do odpowiednich bridge’ów w Proxmoxie, np. vmbr1, vmbr2.

3. Jak sprawdzić dostępne bridge w Proxmoxie?
Zaloguj się do Proxmoxa i w konsoli sprawdź dostępne mostki sieciowe:
cat /etc/network/interfaces
Szukaj wpisów typu:
auto vmbr0
iface vmbr0 inet static
...
To właśnie te nazwy (vmbr0, vmbr1 itd.) wykorzystujesz w konfiguracji.
4. Jak działa mapowanie dysków (HYPERV_SHAREDISK_MAPPING)?
Jeśli masz kilka fizycznych lub logicznych lokalizacji dysków na Hyper-V (np. C:\VMDisks i E:\VMDisksSSD), możesz przypisać każdy do konkretnego storage w Proxmoxie (np. data, space).
To pozwala np. migrować dyski SSD na szybki storage w Proxmoxie.
Przykład:
{
"C:/VMDisks": "VMDisks",
"PROXMOX_STORAGE": "data"
}
Znaczy to: dyski z C:\VMDisks mają trafić do storage data w Proxmoxie.
5. Co to jest PROXMOX_IMPORTPATH i PROXMOX_MOUNTPATH?
PROXMOX_MOUNTPATH: lokalizacja tymczasowa, gdzie Proxmox zamontuje udział sieciowy z Hyper-V.
PROXMOX_IMPORTPATH: katalog, gdzie trafiają przekonwertowane obrazy .qcow2 przed finalnym zaimportowaniem.
Przydatne wskazówki
- Przed właściwym uruchomieniem zawsze zrób
make dryrun. Dzięki temu sprawdzisz, czy wszystko dobrze skonfigurowane.
- Jeśli coś pójdzie nie tak, użyj
make debug — zobaczysz szczegółowe logi.
- Maszyny Windows wymagają specjalnego oznaczenia: dodaj w polu „Notes” wartość
os:windows, aby skrypt poprawnie rozpoznał typ systemu.
Podsumowanie
Migracja maszyn z Hyper-V do Proxmoxa nie musi być trudna. Dzięki automatyzacji i dobrze przygotowanemu skryptowi hv2pve możesz przeprowadzić cały proces sprawnie i bez zbędnego stresu. Jeśli zadbasz o poprawną konfigurację i przygotowanie środowisk, wszystko powinno pójść gładko!
Masz pytania lub chcesz podzielić się swoimi doświadczeniami z migracją? Skontaktuj się z nami!