Настройка kvm для использования раздела на текущем диске не работает
Я использую libvirt kvm с virt Manager, моя цель — создать операционную систему, которую можно будет использовать как на «голом железе», так и через kvm. У меня уже есть раздел Windows на моем диске, и я создал виртуальную машину, добавив ее в качестве диска, но когда я запускаю ее, она зависает при загрузке с жесткого диска , если только это не занимает очень много времени, и если я открываю меню загрузки, он показывает диск с правильный объем памяти . В настоящее время у меня нет второго диска на моем компьютере, поэтому было бы здорово, если бы я мог использовать тот же диск, который я собираюсь использовать для игр.
1 ответ
Несколько лет назад у меня работала такая же установка, и мне жаль сообщать вам, что текущие версии Windows намеренно предотвращают это.
Вплоть до XP в Windows были профили оборудования, и вы могли иметь один для внутри виртуальной машины и один для обычной загрузки. Раньше это было для док-станций и тому подобного, но это убрали.
Теперь Windows не будет принимать то, что она воспринимает как «перенесенное» на другое оборудование. (Аналогично вставке диска в другой компьютер.) Таким образом, загрузка вызовет большие проблемы… если вообще возможна. Я не пробовал то, что происходит в текущих версиях, но тогда это приводило к повторному обнаружению ВСЕХ аппаратных средств в системе. Для этого потребовалось несколько перезагрузок, поскольку какое-то оборудование можно было обнаружить только после того, как другое оборудование уже работало ранее в процессе загрузки. Тогда вы именно так инициализировали новый профиль, и после этого все было в порядке. Но в настоящее время это должно происходить при каждом переключении между «голым железом» и виртуальной машиной. Очевидно, что это неприемлемо для быстрого переключения между операционными системами.
Кроме того, то, что вы сказали, похоже, предполагает, что вы добавили раздел в качестве диска. Что libvirt и Linux с радостью и делают, но в результате получается «целый диск» для гостевой ОС, где нет таблицы разделов, а файловая система находится на чистом неразмеченном диске. (Который в вашем случае является тайным разделом операционной системы хоста.) И хотя при определенных настройках оборудования Linux можно настроить на такую загрузку, с Windows это определенно не будет работать. Особенно, если для загрузки AFAIK требуется хотя бы отдельный раздел UEFI.
Таким образом, ваш единственный вариант, кроме взлома реестра Windows, чтобы заменить практически все, что вы видите в диспетчере устройств каждый раз, когда вы переключаетесь между загрузкой в виртуальной машине и загрузкой с нуля (что может быть возможно с помощью инструментов редактирования реестра Linux, но я не делаю этого). знать, какие еще файлы необходимо изменить.), ваш единственный вариант — установить отдельную установку Windows внутри виртуальной машины, а затем работать над тем, чтобы как можно больше общего было между этими установками. (Ключевое слово: дедупликация.) Например, разместив ваши пользовательские каталоги в отдельном разделе, который будет использовать как виртуальная машина, так и установка на «голое железо». И дедупликация, перемещение в отдельный раздел и монтирование в каталог как можно большей части самой установки Windows без нарушения обновлений. Возможно, даже еще более низкоуровневая дедупликация файлов/блоков, выполняемая на уровне виртуального диска виртуальной машины, но при этом один диск является реальным диском, а не виртуальным диском другой виртуальной машины, как обычно. В общем, ситуация не из приятных. Благодаря тому, что Microsoft сосредоточилась на том, чтобы стать финансируемой за счет рекламы потребительской ОС с DRM, в которой код DRM/TPM не любит заменять оборудование под ним.
Возможно, вы могли бы пойти другим путем и попробовать Proton (который можно использовать и без Steam). Я слышал, что поддержка игр для Windows в Linux сейчас очень хорошая, благодаря Valve.