Windows server 2019 служба записи onecore

Распознавание голоса и речи на C#

UnmanagedCoder 05.05.2025

Интеграция голосового управления в приложения на C# стала намного доступнее благодаря развитию специализированных библиотек и API. При этом многие разработчики до сих пор считают голосовое управление. . .

Реализация своих итераторов в C++

NullReferenced 05.05.2025

Итераторы в C++ — это абстракция, которая связывает весь экосистему Стандартной Библиотеки Шаблонов (STL) в единое целое, позволяя алгоритмам работать с разнородными структурами данных без знания их. . .

Разработка собственного фреймворка для тестирования в C#

UnmanagedCoder 04.05.2025

C# довольно богат готовыми решениями – NUnit, xUnit, MSTest уже давно стали своеобразными динозаврами индустрии. Однако, как и любой динозавр, они не всегда могут протиснуться в узкие коридоры. . .

Распределенная трассировка в Java с помощью OpenTelemetry

Javaican 04.05.2025

Микросервисная архитектура стала краеугольным камнем современной разработки, но вместе с ней пришла и головная боль, знакомая многим — отслеживание прохождения запросов через лабиринт взаимосвязанных. . .

Шаблоны обнаружения сервисов в Kubernetes

Mr. Docker 04.05.2025

Современные Kubernetes-инфраструктуры сталкиваются с серьёзными вызовами. Развертывание в нескольких регионах и облаках одновременно, необходимость обеспечения низкой задержки для глобально. . .

Создаем SPA на C# и Blazor

stackOverflow 04.05.2025

Мир веб-разработки за последние десять лет претерпел коллосальные изменения. Переход от традиционных многостраничных сайтов к одностраничным приложениям (Single Page Applications, SPA) — это. . .

Реализация шаблонов проектирования GoF на C++

NullReferenced 04.05.2025

«Банда четырёх» (Gang of Four или GoF) — Эрих Гамма, Ричард Хелм, Ральф Джонсон и Джон Влиссидес — в 1994 году сформировали канон шаблонов, который выдержал проверку временем. И хотя C++ претерпел. . .

C# и сети: Сокеты, gRPC и SignalR

UnmanagedCoder 04.05.2025

Сетевые технологии не стоят на месте, а вместе с ними эволюционируют и инструменты разработки. В . NET появилось множество решений — от низкоуровневых сокетов, позволяющих управлять каждым байтом. . .

Создание микросервисов с Domain-Driven Design

ArchitectMsa 04.05.2025

Архитектура микросервисов за последние годы превратилась в мощный архитектурный подход, который позволяет разрабатывать гибкие, масштабируемые и устойчивые системы. А если добавить сюда ещё и. . .

Многопоточность в C++: Современные техники C++26

bytestream 04.05.2025

C++ долго жил по принципу «один поток — одна задача» — как старательный солдатик, выполняющий команды одну за другой. В то время, когда процессоры уже обзавелись несколькими ядрами, этот подход стал. . .

Привет, Хабр!

У виртуальных машин Windows Server 2019 с эмуляцией EFI на VMware есть проблема с Application-Aware снапшотами. Выглядит это так: снапшот делается, доходит до 100%, висит минут 5, а потом вываливается в ошибку Failed to quiesce the virtual machine.

 

Расследование показало, что причина такой ошибки – конфликт службы VSS Windows Server 2019 и VMware Snapshot Provider, который и отвечает за application quiescing. Эта штука готовит виртуальную машину к снапшоту: останавливает работу приложений и операции записи, чтобы после восстановления из снапшота все данные были консистентны.

Microsoft утверждал и утверждает, что Application-Aware Snapshots прекрасно поддерживаются ОС. Действительно, в Hyper-V такой проблемы не возникает. VMware скромно предложила своим пользователям просто выключить quiescing (ну и что, что снапшот не будет консистентным на уровне приложения). Либо отказаться от системных дисков с GPT-разметкой и эмуляции EFI (в 2020-м году!). 

Сегодня я покажу, как красиво обойти эту проблему и получить консистентный application-aware snapshot виртуальных машин Windows Server 2019, и заодно напомню поддерживаемый Microsoft способ установки Windows Server на виртуальную машину.

Кто виноват?

Начнем с начала. При создании виртуальной машины на VMware ESXi в VM Options по умолчанию стоит эмуляция BIOS. И, пока нет особых требований по безопасности или размеру системного диска, такой сценарий вполне уместен. Но как только нам нужно настроить Secure Boot или количество vCPU превышает 128, потребуется создавать ВМ с эмуляцией UEFI. Хотя бы потому, что там есть:

  • Secure Boot – защита от загрузки с посторонних носителей.
  • Поддержка шифрования (требуется поддержка TPM, но в ESXi 6.7 та же беда).
  • Поддержка дисков свыше 2ТБ (сомнительно, но бывает).
  • Поддержка большого числа процессоров.

Если устанавливать Windows на ВМ VMware, как мы привыкли это делать (создаем ВМ, подсовываем ISO, ручками грузимся, next, next…), то при GPT-разметке системного диска рядом с EFI-разделом и разделом с системой появляется раздел Recovery.

Вспоминаем матчасть:

Раздел Recovery – защищенный раздел на системном жестком диске, который используется для восстановления заводских настроек системы в случае проблем. При установке Windows Server на GPT-диск в Recovery записывается среда Windows Recovery Environment (WinRE). Производители компьютеров, как правило, дополняют этот раздел своими кастомными настройками и драйверами, заточенными под конкретное железо.

Стоп! 

Но мы же не с железом работаем, а с виртуальной машиной. Никаких откатов ни на какие заводские настройки не требуется. В конце концов, если нужно вернуть ВМ в исходное состояние, мы ее просто переразворачиваем. Следовательно, раздел Recovery на ВМ не имеет смысла и не особенно нужен.

Раздел Recovery защищен от изменения и случайного удаления: он «не замораживается». В результате между VSS VMware Snapshot Provider и Microsoft Windows VSS возникает конфликт: провайдер VMware пытается сделать снапшот всех разделов диска, а Windows Server не дает ему это сделать. Эту радостную новость нам сообщают логи:

Что делать?

Лечится это просто. Можно устанавливать Windows на ВМ с помощью командлета Convert Windows Image. Собственно, именно такой сценарий установки рекомендует и поддерживает сам Microsoft (этот скрипт есть на RTM образе Windows Server 2016 в каталоге с образом Nano Server, но это другая и не менее интересная история ;) ).

Скрипт автоматически создаст шаблон с обновленной sysprepped Windows Server, необходимыми драйверами и даже ролями. Такой подход интересен тем, что процесс установки и настройки ОС можно автоматизировать, так как скрипт поддерживает unattend.xml. Кроме того, этот вариант предоставляет свободу для инженерного творчества: от предварительного запуска ВМ на Hyper-V с установкой через Invoke-Command до создания кастомного сервиса через правку реестра. 

На выходе у нас получится толстый VHD-диск, который можно подсунуть VMware, запустить ВМ, поставить VMware Tools и сконвертировать в шаблон. В результате у ВМ будет GPT-разметка внутри, пригодная для запуска на EFI ВМ и без Recovery раздела by design. В качестве бонуса: в моем примере я сразу создам паравиртуальный адаптер для обеспечения перфоманса. А главное – для такой виртуальной машины без проблем можно будет сделать application-aware снапшот.

Теперь все подробно по шагам.

Извлечение драйверов

  1. Скачиваем образ с репозитория.
  2. Монтируем образ.

  3. Запускаем cmd.exe и переходим в корень смонтированного образа
  4. Запускаем установщик с ключиками:
    setup64.exe /A /P <целевой каталог распаковки>
  5. На втором шаге мастера повторяем путь для распаковки:

  6. Драйверы лежат здесь: VMWToolsExtract\VMware\VMware Tools\VMware\Drivers

Подготовка обновлений Windows Server 2019

  1. Скачиваем кумулятивные обновления отсюда. Там же найдете подробное описание патча и известных проблем, которые в нем имеются.
  2. Важно: обновление может потребовать дополнительного обновления Servicing Stack Update. Смотрим раздел How to get this update и находим номер обновления, которое мы должны скачать через MS update catalog:

  3. Скачиваем Windows Server 2019 Cumulative Update и Servicing Stack Update.

  4. Открываем полученные файлы архиватором и извлекаем CAB-файлы с номером обновления:

Установка образа

  1. Запускаем PowerShell с повышенными привилегиями.
  2. Устанавливаем модуль
    Install-Module -Name Convert-WindowsImage
  3. Создаем хэш-таблицу для Convert-WindowsImage:
    $ConvertWindowsImageParam = @{
    	# Путь к образу Windows Server 2019
    	SourcePath = "C:\work\en_windows_server_2019.iso"
    	# Формат виртуального диска
    	VHDFormat = "VHD"
    	# Размер Виртуального диска
    	SizeBytes = 40GB
    	# Разметка диска - GPT
    	DiskLayout = "UEFI"
    	BCDinVHD = "VirtualMachine"
    	# Тип виртуального диска
    	DiskType = "Fixed"
    	# Редакция - Windows Server 2019 Standard (Desktop Expirience)
    	<#
    	Номера редакций:
    	1 - Windows Server 2019 Standard (Core)
    	2 - Windows Server 2019 Standard (Desktop Expirience)
    	3 - Windows Server 2019 Datacenter (Core)
    	4 - Windows Server 2019 Datacenter (Desktop Expirience)
    	#>
    	Edition = @("2")
    	# Включение Remote Desktop
    	RemoteDesktopEnable = $True
    	# Установка дополнительных компонентов
    	Feature = @("TelnetClient","WindowsServerBackup","NetFx3")
    	# Установка обновлений (указать путь к распакованным файлам CAB)
    	# Обновления должны быть указаны в порядке установки: сначала SSU, затем кумулятивный
    	Package = @("C:\work\Windows10.0-KB4523204-x64.cab","C:\work\Windows10.0-KB4534321-x64_PSFX.cab")
    	# Путь к каталогу с драйверами
    	Driver = @("C:\work\VMWToolsExtract\VMware\VMware Tools\VMware\Drivers")
    	}
  4. Запускаем установку Windows Server 2019 и идем пить кофе:
    Convert-WindowsImage @ConvertWindowsImageParam

Установка занимает до 30 минут.

В данном примере на выходе получается полностью подготовленная ОС в состоянии Sysprepped, но ничто не мешает нам использовать для кастомизации Unattend.xml (Customization specifications немного озадачиваются при виде sysprep-шаблона и ВМ не разворачивается).

Подробнее о ключах этого замечательного кмдлета тут и в Get-Help самого кмдлета.

После этого можно загрузить диск на ESXi, создать ВМ и поставить VMware Tools. И разворачивать виртуальные машины, не беспокоясь о проблемах с quiescing snapshots.

А что делать, если уже есть “дефектный” шаблон?

Достаточно просто удалить раздел Recovery через diskpart.exe и подвинуть разделы EFI и системы для красоты разметки (но можно и не делать этого). Поддерживается ли это? На виртуальной машине – безусловно!

  1. Запускаем cmd.exe.
  2. Запускаем diskpart.
  3. Получаем список дисков:
    list disk
  4. Выбираем диск:
    select disk n

    где n – номер диска.

  5. Выводим список разделов:
    list partition
  6. Смотрим номер раздела Recovery (n) и выбираем его:
    select partition n
  7. Снимаем защиту с раздела:
    gpt attributes=0x8000000000000000
  8. Удаляем:
    delete partition
  9. Profit!

ВМ готова к Quescing Snapshots!

Вместо заключения

Данный подход — лишь один из вариантов деплоя Windows Server и решения проблемы KB60395. Разумеется, в данном случае мы можем сделать тонкий VDH и затем с помощью утилиты quemu-img сконвертировать виртуальный диск для OVF-архива, который ESXi прекрасно понимает. Такой сценарий вполне уместен, например, в случае, когда виртуальный диск нужно передать по сети. Понимание истории вопроса и настоящей сути проблемы всегда дает возможность найти подходящее для конкретной инфраструктуры решение. Техническая реализация — поле для интересных экспериментов и фантазии, которая безгранична.

10.0.17709.rs_onecore_stack_sdn_dev2.180630-1700

Build of Windows Server 2019
OS family Windows 10 (NT 10.0)
Version number 10.0
Build number 17709
Build lab rs_onecore_stack_sdn_dev2
Compiled on 2018-06-30
SKUs
Datacenter

Windows Server 2019 build 17709 (rs_onecore_stack_sdn_dev2) is a build of Windows Server 2019. Two animation .GIF images of this build was shown in the article «Top 10 Networking Features in Windows Server 2019: #10 Accurate Network Time» posted to Networking Blog at Microsoft Tech Community by a Microsoft employee on 14 February 2019.[1]

Gallery[edit | edit source]

References[edit | edit source]

  1. Networking Blog at Microsoft Tech Community

Skip to content



Navigation Menu

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

Description

Description of issue:
When using Windows Server 2019 on c5 and c5a AWS instances, only one core is used no matter what is selected for the:
Cores (Threads) to use:
option.

Steps to reproduce:

  1. Launch an instance of Windows Server 2019 on a c5 or c5a AWS instance (other instance types not tested).
  2. Install Java Windows Offline (64-bit) from here: https://www.java.com/en/download/manual.jsp
  3. Download Sassa-v0.6.3
  4. Launch Sassa
  5. Select any Biome
  6. Set cores to max
  7. Click Start
  8. View the Performance tab of Task Manager
  9. Observe that the load on the CPU is not 100%

Expected Behaviour:
CPU load is 100%

Please feel free to reach out to me with any questions or requests for testing.

Данная информация, применима для ОС Windows 10.

Внимательный пользователь, может обратить внимание в Службах (services.msc) на непонятную службу DevicePickerUserSvc с набором цифр в конце.

Примечательно, что есть основная служба DevicePickerUserSvc и DevicePickerUserSvc_[…]. Из своих наблюдений заметил, что нередко в Службах (services.msc) отображается только одна служба с набором цифр и букв на конце. Второй службы нет. Хотя, в реестре есть два раздела со службой без набора цифр и букв на конце и с набором цифр и букв после слеша (смотрите информацию ниже). Также из информации, у кого-то отображается две службы. На техническом форуме Microsoft, один пользователь задал вопрос об этом. На момент написание данной заметки, ответа не было, кроме описания основной службы без набора цифр и букв на конце.

Служба DevicePickerUserSvc взаимодействует со следующими службами:

CaptureService […] – служба записи OneCore (по всей видимости, необходима для функции TimeLine).

DevicesFlowUserSvc […] – служба для автоматического изменения ввода при изменении режима работы устройства. При ее отключении/удалении, возникают проблемы с Bluetooth.

CDPUserSvc_[…] – служба собирает и отправляет телеметрию в Microsoft. Взаимодействует со службами: UserDataSvc, UnistoreSvc, DevicesFlow, PimIndexMaintenanceSvc, OneSyncSvc. На форумах есть информация о том, что без службы CDPUserSvc – не работают настройки для «Журнал действий». Также, есть не проверенное сообщение о том, что при отключении данной службы, могут возникать проблемы с Bluetooth.

Служба DevicePickerUserSvc […] работает под процессом svchost.exe, который запускается из системной папки с таким параметром:

C:\Windows\system32\svchost.exe -k DevicesFlow

DevicePickerUserSvc в своей работе использует библиотеку:

C:\System32\Windows.Devices.Picker.dll

Официальное описание службы DevicePickerUserSvc […] в ОС Windows 10 2004:

Эта пользовательская служба применяется, чтобы управлять интерфейсом Miracast, DLNA и DIAL.

Как отключить службу DevicePickerUserSvc […]?

Со своей стороны, не рекомендую ее отключать. По умолчанию, у службы стоит тип запуска Вручную. Через Службы (services.msc) она не отключается.

Если вы решили всё-таки отключить службу DevicePickerUserSvc […], сделать это можно через правку в реестре.

Перед внесением любых изменений, делайте резервную копию реестра, создавайте контрольные точки восстановления и создавайте образ системы. Внося изменения в работу служб системы, вы берёте ответственность на себя.

Зажмите Win + R, введите команду regedit, нажмите ОК.

Откроется редактор реестра, слева будут разделы, справа параметры (или ключи).

Открываем раздел:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\

*В разделе найдите другой раздел — DevicePickerUserSvc, внутри которого будет параметр Start, нажмите по нему два раза и установите значение 4.

*Обратите внимание, что вы найдете два раздела с DevicePickerUserSvc (смотрите скрин).

Один будет раздел без слеша, после которого не будет набора цифр и букв, а второй будет со слешем и набором цифр и букв. Вам нужно в двух разделах, изменить параметр запуска в Start на значение 4 (как на скрине выше).

Перезагрузите систему.

Стоит ли отключать службу DevicePickerUserSvc?

Служба DevicePickerUserSvc, отвечает за трансформацию устройств. Например, есть модели ноутбуков, которые можно использовать как планшет. Именно в таком случае, данная служба, позволит вам использовать свой ноутбук в качестве планшета. Исходя из описаниея службы в разделе Службы (services.msc), данная служба необходима также для управления интерфейсами Miracast, DLNA и DIAL.

Однозначно не стоит отключать службу DevicePickerUserSvc, если у вас ноутбук, который легко может превратиться в планшет. Если у вас обычный ноутбук или обычный планшет — можно попробовать отключить. При этом, это не даст вам заметного и ощутимого прироста в производительности системы.

Если ваша цель, уменьшить количество отправки телеметрии, воспользуйтесь простой утилитой:

 https://www.oo-software.com/en/shutup10

Материал подготовлен
на основе информации:

  • https://answers.microsoft.com/en-us/windows/forum/all/what-is-devicesflowusersvc/0cd2b455-9417-42d8-a8b4-25d018d9180c
  • http://revertservice.com/10/devicepickerusersvc

Рекомендую
ознакомится также с заметками:

  • Служба CDPUserSvc[…] в ОС Windows 10. Вредоносная служба? Нет – не вредоносный шпион от Microsoft))).
  • Уменьшаем количество отправки телеметрии в Microsoft. Какие службы в ОС Windows 10 можно отключить?
  • Как восстановить удаленную службу DevicesFlow (DevicesFlowUserSvc) в ОС Windows 10?
  • WaasMedic.exe — что это и почему процесс грузит диск?

Если у вас есть дополнения ,поправки и вопросы, пишите в комментариях.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Обновление безопасности windows 7 последнее обновление
  • Текстовый редактор windows 7 букв
  • Как скопировать файлы реестра windows 10
  • Windows server 2012 установленные программы
  • Что можно удалить из папки windows system32