Машина с ISO после установки перезагружается сама: создаётся без отдельной фазы установки (no_install), диск первым в порядке загрузки

Этот коммит содержится в:
2026-09-27 17:45:03 +09:00
родитель daeec06ec6
Коммит 2474ad3dc2
5 изменённых файлов: 15 добавлений и 9 удалений
+7 -4
Просмотреть файл
@@ -1272,12 +1272,12 @@ def vm_boot_order_options() -> list[dict[str, str]]:
def normalize_boot_order(value: str, source_type: str) -> str:
"""auto для ISO — сначала диск, потом CD, как в Proxmox: пустой диск не загрузочный, и машина стартует
с установщика, а после установки — уже с диска, и повторно в установщик не попадает."""
value = (value or "auto").strip()
if value == "auto":
return "cdrom_disk" if source_type == "iso" else "disk"
if value in ("disk", "cdrom_disk", "disk_cdrom"):
return value
return "cdrom_disk" if source_type == "iso" else "disk"
return "disk_cdrom" if source_type == "iso" else "disk"
def virt_boot_arg(boot_order: str, is_arm: bool) -> str:
@@ -1948,7 +1948,10 @@ def vm_create_submit(request: Request, name: str = Form(...), memory: int = Form
steps.append(" ".join(shlex.quote(part) for part in virt))
cmd = ["bash", "-lc", "set -euo pipefail; " + "; ".join(steps)]
else:
cmd += ["--disk", f"path={disk_path},size={disk_size},format=qcow2,bus={disk_bus}", "--cdrom", iso_path, "--osinfo", os_info["osinfo"], "--network", network_arg, *graphics]
# no_install: машина сразу создаётся в рабочем виде, с образом в приводе. Без этого virt-install ставит
# на время установки «перезагрузка = выключение» и сам должен перезапустить машину, а он не ждёт
# (--noautoconsole) — после установки машина просто выключалась.
cmd += ["--disk", f"path={disk_path},size={disk_size},format=qcow2,bus={disk_bus}", "--cdrom", iso_path, "--install", "no_install=yes", "--osinfo", os_info["osinfo"], "--network", network_arg, *graphics]
if too_big:
cmd += ["--check", "disk_size=off"] # подтверждено пользователем: virt-install иначе откажется
+1 -1
Просмотреть файл
@@ -38,7 +38,7 @@
<ul>
<li>Экран открывается в новой вкладке браузера — это как монитор, подключённый к машине.</li>
<li>Если курсор «застрял» внутри экрана, нажмите <code>Ctrl + Alt</code>.</li>
<li>После установки системы извлеките установочный диск на странице машины → «Диски и загрузка».</li>
<li>После установки машина перезагрузится уже с диска: он стоит первым в порядке загрузки. Установочный образ можно извлечь на странице машины → «Диски и загрузка».</li>
</ul>
</div></article>