У меня есть диск SATA, и я установил на него Windows 10. После включения Hyper-V я создал несколько виртуальных машин. Однако все виртуальные машины видят диск SCSI, и я не могу понять, как его изменить. Даже родительский раздел (см. Https://en.wikipedia.org/wiki/Hyper-V#Architecture) видит только диск SCSI; Я проверил это из диспетчера устройств, во вкладке Details, свойство Hardware Ids. Это говорит

SCSI\DiskSamsung_SSD_850_PRO_256G

Пока мой жесткий диск должен быть доступен только в SATA. Можно ли попросить Hyper-V эмулировать интерфейс SATA?

больше фона

Я использую Arch Linux в качестве одного из гостей. Это показывает, что мне нужен драйвер для устройства wd719x ; Я предполагаю, что он эмулируется Hyper-V. Оказывается, это очень старый жесткий диск от Western Digital, и установка официального драйвера может это исправить. Однако я беспокоюсь, потому что Wester Digital больше не поддерживает серию WD719x (даже драйвер был удален с веб-сайта). Это кажется очень унаследованным, в котором я не нуждаюсь, потому что я создаю новую виртуальную машину, а не запускаю какую-то виртуальную машину, созданную 10 лет назад.

1 ответ1

0

Я прикрепляю виртуальный жесткий диск к виртуальной машине

Тогда вы никоим образом не подключаете свой физический диск , и его перенос совершенно не важен. Сам гипервизор действует как контроллер диска виртуальных машин и не взаимодействует с физическим хранилищем за исключением чтения / записи файлов. (Нередко хранить виртуальные жесткие диски на внешнем файловом сервере SMBv3 ...)

Я использую Arch Linux в качестве одного из гостей. Это показывает, что мне нужен драйвер для устройства wd719x; Я предполагаю, что он эмулируется Hyper-V.

Я собираюсь предположить, что это не имеет ничего общего с аппаратным обеспечением вашей виртуальной машины, эмулированным или нет. Вы, вероятно, видите кучу предупреждений о "отсутствующей прошивке", когда mkinitcpio создает свой "резервный" образ initramfs.

Обычные initramfs адаптированы к конкретной системе, на которой они построены; вариант "отката" пропускает любое автообнаружение устройства и добавляет столько драйверов блочных устройств, сколько оно может найти (так, чтобы одни и те же initramfs могли загружаться на многих разных машинах), даже если в текущей системе ни один из них не подключен.

В действительности, если вы выбрали контроллер IDE/ATA в Hyper-V, вы получите довольно стандартный ata_piix (как видно из lspci -v).

Если вы используете виртуальную машину "Поколение 2" и / или добавляете контроллер SCSI, то вы получите собственный SCSI-контроллер на основе VMBus через драйвер hv_storvsc (механизм Microsoft, аналогичный virtio).

Даже родительский раздел видит только диск SCSI; Я проверил это из диспетчера устройств, во вкладке Details, свойство Hardware Ids. Это говорит

SCSI\DiskSamsung_SSD_850_PRO_256G

Это кажется нормальным, когда в режиме AHCI - хотя я не мог найти никакого официального объяснения, по крайней мере, насколько это касается драйверов сторонних производителей.

(Из того, что я мог бы выяснить: единственной альтернативой была бы IDE\ , но это не очень хороший выбор - например, он предполагает наличие первичных / вторичных каналов IDE и портов master / slave, ни один из которых не существует в SATA / Возможно, разработчики Windows обнаружили, что сопоставить SATA с SCSI проще, чем сопоставить его с IDE / PATA?

В любом случае, Windows не будет первой ОС, которая сделает это - Linux представляет устройства IDE/ATA, как если бы они были SCSI, начиная с выпуска ядра 2.6 примерно в 2004 году.)

Пока родительское устройство отображается в качестве контроллера SATA AHCI (с использованием storahci, msahci или драйвера Intel IRST), все в порядке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .