Спроба запустити Hyper-v 2016 з USB


10

Я намагався протестувати Hyper-v 2016 цього післяобіднього дня, але мені не вдалося завантажити R630 для завантаження з USB, який я налаштував, використовуючи наступні інструкції https://technet.microsoft.com/library/ee731893(ws.10).aspx

Я точно використовував цей самий посібник на Hyper-v 2012 R2 без проблем.

Хтось має з цим удачу?


1
Windows Server 2016 не є Windows Server 2008 R2, Windows Server 2012 або Windows Server 2012 R2. Що змушує вас думати, що це повинно / працює? Я не можу знайти жодної документації для MS, яка б підказала, що це можливо.
joeqwerty

3
через те, що Microsoft має затримки в оновленні документації, думаючи про всі проблеми з самою системою, важко постійно оновлювати всі документи в Інтернеті, це буде там просто потрібно час ....... немає причини, чому це не працюватиме як що ......
Міхал

Відповіді:


8

Я знайшов інформацію про розгортання Windows Server 2016 TP3 на SD-карту.

https://www.danielstechblog.info/how-to-deploy-windows-server-2016-tp3-onto-an-sd-card/

У цій темі описано розгортання Windows Server на SD-картці, але це був TP3. Я думаю, що ти можеш виконувати ті самі дії з версією випуску.

Також ви можете взяти до уваги SATA DOM.

https://www.supermicro.com/products/nfo/SATADOM.cfm

Це дешевий і невеликий розмір варіант для вас. На ньому можна розгорнути будь-яку ОС. Тож це теж варіант.


3

Я зіткнувся з цією проблемою недавно, і після кількох днів налагодження я виявив проблему та виправив її.

Будь-ласка, будь ласка:

Після встановлення Hyper-V Server 2016 використовуйте офлайн-інструмент (наприклад, Windows PE) для монтажу вулика SYSTEM нової установки та змініть DWORD ControlSet001 \ Control \ BootDriverFlags з 0x04 на 0x1c. (Ви, ймовірно, повинні змінити версію ControlSet002 також для гарної міри. Ви можете вносити зміни у ваш install.wim, щоб уникнути цього після кожного встановлення.)

(Оскільки, звичайно, потрібен тиждень і налагоджувач ядра, щоб зрозуміти, що для цього потрібна лише двобітна зміна незрозумілого та ретельно недокументованого бітфілда.)

Ось чому.

Завантажувач Windows використовує вбудовані підпрограми UEFI для пошуку встановлення Windows та завантажує драйвери ядра та завантажувача в оперативну пам’ять до виклику ExitBootServices. Після того, як він зробив це і передав управління ядру, ядро ​​не може отримати доступ до обсягу завантаження, якщо в оперативній пам'яті вже немає відповідних драйверів.

Ось і такий запуск: winload.efi недостатньо складний, щоб перерахувати обладнання та визначити, які драйвери насправді потрібні. У старих версіях він завантажуватиме лише речі, встановлені на Boot Start. Однак за завантаження сторонніх драйверів накладається штраф за продуктивність, і оскільки Windows почала підтримувати більше класів завантажувальних пристроїв, потрібна була краща система.

Введіть значення BootFlags для окремих драйверів та загальносистемне значення BootDriverFlags. Якщо (BootFlags & BootDriverFlags)! = 0, драйвер буде завантажений, навіть якщо він не встановлений на Boot Start. Кожен біт у значенні повинен відповідати іншому типу апаратних засобів, тому значення BootDriverFlags встановлює, з яких типів обладнання можна завантажувати.

Коли цей механізм був введений, Bit 3 був призначений для завантажувальних пристроїв USB, але завантаження з USB-пристроїв не підтримувалося в стандартних Windows. Версія Hyper-V Server 2008 R2 додала специфічну підтримку для завантаження з USB, встановивши це значення 0x04, і це значення було встановлено у кожній версії Hyper-V Server, що випускається з тих пір.

Загальні вдосконалення, внесені з тих пір для підтримки функції Windows To Go, означають, що вам не доведеться використовувати фокус завантаження до VHD, рекомендований для попередніх версій сервера Hyper-V, встановлених на пристроях USB. Однак вони також змінюють значення значення BootDriverFlags. Пристрої USB 3 отримали окремий біт, а SD-картки спеціально отримали ще один біт.

У версії 2016 року це означає, що значення 0x04 тепер дозволяє завантажувати лише з USB2-дисків, які не є SD-картами. Усі версії Server 2016, за винятком Hyper-V Server, поставляються за замовчуванням 0x1c, що дозволяє завантажувати USB2, USB3 та SD-карту; однак значення 0x04 все ще встановлено на сервері Hyper-V, оскільки воно було додано як переосмислення в процесі збирання зображень для версії 2008R2. Замість додавання функції, однак тепер це значення видаляє.

Це пояснює, чому деякі попередні рішення цієї проблеми рекомендували відключати USB3 та завантажувати з USB-накопичувача замість SD-карти: це змусить категорію завантажувального пристрою бути чимось, що все ще охоплене тепер більш обмеженим визначенням "USB" "біт у BootDriverFlags.


З переліком значень прапора та їх значеннями можна ознайомитись тут: docs.microsoft.com/en-us/windows-hardware/drivers/install/…
RJ Cuthbertson

@RJCuthbertson Дуже приємно!
Рейд Ранкін

1

Я дотримувався вказівки до листа (за винятком лише букви диска) для Hyper-V Server 2016, і він прекрасно працював для старого сервера Dell PowerEdge T710. Зараз він працює на внутрішньому порту USB. Однак пристрій Dell може сказати системі, що внутрішній USB повинен виглядати як жорсткий диск. Можливо, це була різниця. Але я можу сказати, що ви можете екстраполювати інструкції для 2008 R2 та застосувати її до сервера HyperV 2016 просто.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.