Найти в Дзене
JmpdfckpAdmin

Как умножить компьютер? Часть 3

В данной статье будет изобилие картинок и большинство инструкций написано в их описании. Прошу обратить внимание, что почти все картинки объединены в "галереи". Лучшая видеокарта для друга Определимся по пунктам, что надо для переброса ресурсов видеокарты: Ну, выглядит вполне не сложно, я постарался все это уместить в тот же быстрый формат "нет времени объяснять - жми", но некоторые моменты я объясню. Начнем с парня и его дверей; открываем на хосте проводник - кликаем ПКМ на "Этот компьютер" - "Управление". Перед нами святая святых MMC - Microsoft Management Console или Консоль управления Microsoft. По умолчанию у нас в левом меню откроются базовые оснастки, которых нам и хватит. Инструкции под описанием картинок, чтобы не превращать все в длиннопост. Двух зайцев мы уже убили, швейцар на системе появится позже, консоль не закрываем, давайте для начала положим в "Нарнию" все необходимые для запуска видеокарты на ВМ файлы. Сначала вообще узнаем, где их можно найти и подготовиться. Перех
Оглавление

В данной статье будет изобилие картинок и большинство инструкций написано в их описании. Прошу обратить внимание, что почти все картинки объединены в "галереи".

Лучшая видеокарта для друга

Определимся по пунктам, что надо для переброса ресурсов видеокарты:

  1. Общий ресурс, который позволит нам без лишних телодвижений перебрасывать файлы с Хоста на ВМ.
  2. Парень, который нам будет открывать дверь на ресурс;
  3. Пригласить этого парня к нам на ВМ открывать двери;
  4. Узнаем подробно о нашей Фантастической видеокарте и где обитают драйвера;
  5. Заставить щедро поделиться производительностью нашу видеокарту;
  6. Поприветствовать ее на нашей ВМ;

Ну, выглядит вполне не сложно, я постарался все это уместить в тот же быстрый формат "нет времени объяснять - жми", но некоторые моменты я объясню.

Начнем с парня и его дверей; открываем на хосте проводник - кликаем ПКМ на "Этот компьютер" - "Управление".

Перед нами святая святых MMC - Microsoft Management Console или Консоль управления Microsoft. По умолчанию у нас в левом меню откроются базовые оснастки, которых нам и хватит. Инструкции под описанием картинок, чтобы не превращать все в длиннопост.

Двух зайцев мы уже убили, швейцар на системе появится позже, консоль не закрываем, давайте для начала положим в "Нарнию" все необходимые для запуска видеокарты на ВМ файлы. Сначала вообще узнаем, где их можно найти и подготовиться. Переходим в "Диспетчер устройств" - Открываем список "Видеоадаптеров" - выбираем нужную нам видеокарту - открываем контекстное меню с помощью ПКМ - нажимаем "Свойства".

Приступаем к самой больной и долгой части. В новом окне будет описан каждый файл, задействованный системой для работы видеокарты. Они крайне важны для работы в ВМ. Нам будут необходимы все файлы, лежащие в C:\Windows\System32, и все файлы, находящиеся в конце списка, без указания папки. Последние лежат в директории C:\Windows\System32\DriverStore\FileRepository. Необходимо отыскать папку с названием файла.

Важно!

Прежде всего, спешу предупредить, что касается файлов драйвера видеокарты: если AMD оснастка "Adrenaline" или NVIDIA оснастка "GeForce Experience" предложила обновить драйвер для передаваемой видеокарты и вы его обновили, все файлы придется скопировать заново и менять на ВМ во избежании ошибок.

Создадим в нашей общей папке для ВМ еще папку, пусть будет "!TO_VM".
В ней еще папку
и еще папку и еще папку БОЛЬШЕ ПАПОК
Назовем ее System32 и для удобства расположим окна таким образом: сверху будет системная папка с нужными драйверами, снизу наша папка System32 для переброса в ВМ.

Все же, создадим еще одну папку сразу в корне "!TO_VM", обзовем ее FileRepository и потом положим туда папку из конца списка файлов драйвера видеокарты.

На выходе должно получится, что в D:\Share\!TO_VM\System32 лежит много файлов, а в D:\Share\!TO_VM\FileRepository лежит лишь одна папка. Осталось лишь три пункта. Начнем с приглашения швейцара. Хотя это будет выглядеть наоборот - швейцар пригласит нас к Хосту.
Узнайте заранее имя вашего компьютера. Сделать это можно кучей способов, но самый простой - это нажать одновременно
Win+Pause/Break; Если такой кнопки нет, то откройте "Проводник", нажмите ПКМ на "Этот компьютер" - "Свойства". В открывшемся окне надо найти строку "Имя компьютера" или "Device name" как у меня. Я думаю, не менее 75% пользователей не меняет имя домашнего компьютера, поэтому оно будет начинаться с "DESKTOP-******" и закончится 6-7 случайными буквами и цифрами. Я бы порекомендовал сменить и на Хосте, и на ВМ, чтобы было проще его вписывать. А еще для уникальности ваших Зверь-Машин.

-6

Открываем Hyper-V, ПКМ на нашу ВМ - "Подключиться" и включить ее, открываем на ней проводник.

Переносимся по проводнику ВМ в папку C:\Windows\System32\ и создаем в ней еще одну папку, которую назовем HostDriverStore и перенесем в нее сразу папку FileRepository с рабочего стола. Получится что-то вроде C:\Windows\System32\HostDriverStore\FileRepostory\nasha_papka_draivera_videokarty.
Следом возвращаемся в
C:\Windows\System32\, закидываем в нее файлы из папки System32 на рабочем столе ВМ.

О предложениях переместить нажимаем "Продолжить". Если предлагает ЗАМЕНИТЬ файлы - пропускаем, дабы не создать конфликт файлов операционной системы.

"Почему HostDriverStore?"

Эта папка появилась не случайно. В Windows существует "Песочница" - пространство, в котором можно делать все и ничего не повлияет на работу вашего компьютера. Это изолированное окружение для безопасного запуска приложений. Данная папка HostDriverStore используется как "переходник" к Хостовой "DriverStore". То есть в папку HDS (буду краток) кладутся файлы драйверов системы, которые могут использоваться в песочнице. В данном случае "песочницей" у нас является ВМ. Ну а чем не площадка для развлечений?

Фуф. Занудная часть окончена. Для такого вообще неплохо написать бы автоматизированный скрипт, чтобы даже при обновлении он перекидывал файлы в ВМ по своим местам. Дело прекрасное. Тем более, что это можно и реализовать на любимом PowerShell, к которому мы сейчас и обратимся. Но не за автоматизацией, а за щедростью нашей видеокарты. Итак, пункт под номером 5.

-9

Пугаться не надо, если вы не знакомы с программированием. Сейчас это не столько нас интересует. Для начала просто запустим PowerShell ISE из меню пуск от имени администратора. Пуск - ничего не нажимая, начинаем писать "PowerShell ISE" - ПКМ - Запуск от имени администратора.

Windows 11 умеет так
Windows 11 умеет так
Начнем с поиска нашей GPU и ее характеристик. Впишем в синее окно построчно следующее:
#После копирования или ввода нажимаем Enter!
$GPUS = Get-VMHostPartitionableGpu
$GPUS
Какая-то куча цифр
Какая-то куча цифр

Мы должны получить сведения от обоих видеокарт. Как опознать нужную?
смотрим на строку
"Name" и ее начало значения. Если после "VEN_" идет "1002" - это AMD карта. Если "10DE" - NVIDIA. Если обе карты одной фирмы, есть один вариант: возвращаемся в консоль управления, заходим в диспетчер устройств, видеоадаптеры, ПКМ на нужную для переброса карту, свойства.
Открываем вкладку
"Сведения" и в выпадающем списке "Свойство" выбираем "Путь к экземпляру устройства". Там почти такое же значение как и в окне PowerShell ISE для нужной карты.
Нам понадобится все это имя. Давайте запишем его в отдельную переменную. Пишем в терминал.

$gpupath = $GPUS[X].Name
Где X - это нумерация, первый или второй ГП; нумерация начинается с нуля, поэтому если вам нужно выбрать первую видеокарту, вместо X пишем 0, если вторую - 1.
-12

Напишите в синее окно $gpupath
В качестве результата появится что-то вроде этого:
\\?\PCI#VEN_1002&DEV_67DF&SUBSYS_D5801787&REV_E7#6&95d5d6a&0&0000020A#{064092b3-625e-43bf-9eb5-dc845897dd59}\GPUPARAV
Все в одну строчку. Не выходите из ISE, иначе придется делать это заново!

Копируем, но не запускаем, следующие эти строки уже в белое окно, помните, что надо будет изменить значение переменной $vm на имя своей ВМ в кавычках!

$vm = "GameMachine" #Измените GameMachine на название своей машины
Remove-VMGpuPartitionAdapter -VMName $vm #на всякий случай
Add-VMGpuPartitionAdapter -VMName $vm -InstancePath $gpupath
Set-VMGpuPartitionAdapter -VMName $vm -MinPartitionVRAM 1
Set-VMGpuPartitionAdapter -VMName $vm -MaxPartitionVRAM 1000000000
Set-VMGpuPartitionAdapter -VMName $vm -OptimalPartitionVRAM 100000000
Set-VMGpuPartitionAdapter -VMName $vm -MinPartitionEncode 1
Set-VMGpuPartitionAdapter -VMName $vm -MaxPartitionEncode 18446744073709551615
Set-VMGpuPartitionAdapter -VMName $vm -OptimalPartitionEncode 18446744073709551615
Set-VMGpuPartitionAdapter -VMName $vm -MinPartitionDecode 1
Set-VMGpuPartitionAdapter -VMName $vm -MaxPartitionDecode 1000000000
Set-VMGpuPartitionAdapter -VMName $vm -OptimalPartitionDecode 1000000000
Set-VMGpuPartitionAdapter -VMName $vm -MinPartitionCompute 1
Set-VMGpuPartitionAdapter -VMName $vm -MaxPartitionCompute 1000000000
Set-VMGpuPartitionAdapter -VMName $vm -OptimalPartitionCompute 1000000000
Set-VM -GuestControlledCacheTypes $true -VMName $vm
Set-VM -LowMemoryMappedIoSpace 1Gb -VMName $vm
Set-VM -HighMemoryMappedIoSpace 32GB -VMName $vm
Start-VM -Name $vm

"Что тут написано?"

Все можно записать в одну строку, но будет в глазах рябить;
Мы отдаем все, чем может поделиться видеокарта. Чтобы еще раз увидеть значения, в синее окно пишем
"$GPUS[X]" с цифрой номером нашей передаваемой видеокарты. Сопоставляем цифры со скопированными строками, дописываем нули, другие цифры и т.д. Запускаем с помощью клавиши F5! Или зеленого треугольника, иконки проигрыша, в верхней панели окна ISE.

Не без красных строк!
Не без красных строк!

В данный момент в моей ВМ не была включена видеокарта, поэтому на команду "Remove-..." ругалась ошибка. Это естественная реакция.

На данном этапе мы завершили всю подготовку к перебросу ресурсов. Давайте зайдем на нашу ВМ и посмотрим, как это работает.

Перейдем в проводник - ПКМ на "Этот компьютер" - "Управление" - "Видеоадаптеры"...

Все получилось! Теперь наша вторая видеокарта работает на благо виртуальной машины. Пункт 6 ✅ Готовимся к следующему этапу, заключительному - настройка ПО для стриминга!

-14

Предыдущие части:

Часть 1: С чего все начиналось
Часть 2: Подготовка к безумию

Последняя часть:
Заключительная часть

Материалы были взяты из открытых источников.