Андрей Смирнов
Время чтения: ~13 мин.
Просмотров: 9

Как исправить Как установить клиент NFS в Windows 10 Pro? —>

—>

Применимо к:

  • Windows 10 Mobile

Радиочастотная связь ближнего действия (NFC) позволяет устройствам с Windows 10 Mobile Корпоративная и Windows 10 Mobile взаимодействовать друг с другом посредством NFC-метки или другого передающего устройства с поддержкой NFC. Организации, в которых выполняется массовая подготовка, могут выполнять подготовку с помощью устройств с поддержкой NFC для предоставления пакета подготовки подготавливаемому устройству. Подготовка с помощью NFC— это простой и удобный метод, с помощью которого можно без труда сохранить полный пакет подготовки.

Возможность подготовки с помощью NFC позволяет администратору предоставлять пакет подготовки во время начальной настройки устройства (на этапе запуска при первом включении или этапе OOBE). Администраторы могут использовать возможность подготовки по NFC для передачи данных подготовки в постоянное хранилище, связав неподготовленное мобильное устройство с NFC-меткой или с устройством с поддержкой NFC. Чтобы можно было использовать NFC для предварительной подготовки устройства, необходимо подготовить собственные NFC-метки, сохранив пакет подготовки в метке, как описано в этом разделе, или создать инфраструктуру, требующуюся для передачи пакета подготовки с устройства с поддержкой NFC на мобильное устройство во время запуска при первом включении.

Подготовка пользовательского интерфейса OOBE

У всех образов Windows 10 Mobile Корпоративная и Windows 10 Mobile есть функция подготовки с помощью NFC, которая встроена в операционную систему. На устройствах с поддержкой NFC, которые работают под управлением Windows 10 Mobile Корпоративная или Windows 10 Mobile, подготовка устройств на основе NFC предоставляет дополнительный механизм для подготовки устройства во время этапа OOBE.

На всех устройствах с Windows подготовку устройства во время запуска при первом включении можно запустить пятью быстрыми нажатиями аппаратной клавиши Windows, что приведет к отображению экрана Подготовка этого устройства. В окне Подготовка этого устройства выберите NFC для выполнения подготовки с помощью NFC.

В случае возникновения ошибки во время подготовки с помощью NFC на устройстве отобразится соответствующее сообщение, если возникла любая из следующих ошибок:

  • Ошибка инициализации NFC— может быть вызвана любой ошибкой, возникшей перед началом передачи данных. Например, если не включен драйвер NFC или возникает ошибка связи с API близкого взаимодействия.
  • Прерванная загрузка или неполная передача пакета— эта ошибка может возникать, если одноранговое устройство находится вне зоны действия NFC или если передача данных была прервана. Эта ошибка может возникать всякий раз, когда подготавливаемому устройству не удается получить пакет подготовки во время.
  • Неправильный формат пакета— эта ошибка может быть связана с возникновением любой ошибки протокола, с которой сталкивается операционная система во время передачи данных между устройствами.
  • Связь NFC отключена политикой— организации могут использовать политики, чтобы запретить использование NFC на управляемом устройстве. В этом случае функция NFC отключена.

NFC-метка

Вы можете использовать NFC-метку для подготовки небольших пакетов и метку устройства с поддержкой NFC для подготовки более крупных пакетов.

Протокол, используемый для подготовки устройств на основе NFC, аналогичен протоколу, используемому для подготовки с помощью NFC в ОС Windows Embedded 8.1 Handheld, в которой была реализована поддержка как одноблочной передачи данных, так и многоблочной передачи, когда общий размер передаваемых данных не помещался в одно сообщение NDEP. В Windows 10 стек подготовки содержит следующие изменения:

  • Пространство имен протокола— пространство имен протокола было изменено с Windows.WEH.PreStageProv.Chunk на Windows.ProvPlugins.Chunk.
  • Тип данных метки— тип данных метки был изменен с UTF-8 на двоичные необработанные данные.

Примечание

NFC-метка не попадает во второе устройство. NFC-метку можно передать используя пакет подготовки с одного устройства на другое по связи NFC или путем повторного чтения пакета подготовки из NFC-метки.

Компоненты NFC-метки

NFC-метки подходят для подготовки небольших пакетов. Размер NFC-меток, содержащих пакеты подготовки, обычно составляет от 4 КБ до 10 КБ.

Чтобы записать NFC-метку, необходимо использовать средство записи NFC Writer или API-интерфейс класса ProximityDevice, чтобы создать собственный специальный инструмент и передать файл пакета подготовки в NFC-метку. Этот инструмент должен опубликовать двоичное сообщение (запись) с блочным типом данных в вашей NFC-метке.

В следующей таблице приведены сведения, которые нужно знать при выполнении записи в NFC-метку.

Обязательное поле Описание
Type (Тип)
Data (Данные) Данные метки с небольшим заголовком в необработанном двоичном формате, содержащие блок пакета подготовки для передачи.

Вспомогательное устройство подготовки с помощью NFC

Вспомогательное устройство подготовки с помощью NFC должно разделить необработанное содержимое пакета на несколько частей и опубликовать их по порядку. У каждой части должен быть следующий формат:

Version (Версия)(1 байт) Leading (Начальный байт)(1 байт) Order (Порядок)(1 байт) Total (Всего)(1 байт) Полезные данные блока(N байтов)

Для каждой из частей:

  • Версия всегда должна быть 0x00.
  • Для первого байта всегда должно быть 0xFF.
  • « Заказ» — это блок сообщения (из всего сообщения), к которому относится эта часть. Порядок начинается с нуля (0).
  • Итого — общее количество фрагментов, которые будут переданы для всего сообщения.
  • Полезные данные блока представляет каждую из разделенных частей.

Вспомогательное устройство подготовки с помощью NFC должно опубликовать запись в виде Windows.ProvPlugins.Chunk.

Пример кода

В примере кода ниже показано, как выполнять запись в NFC-метку. В этом примере кода предполагается, что метка уже находится в зоне действия устройства записи.

        private async void WriteProvPkgToTag(IStorageFile provPkgFile)         {             var buffer = await FileIO.ReadBufferAsync(provPkgFile);             if (null == buffer)             {                 return;             }              var proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault();             if (null == proximityDevice)             {                 return;             }              var dataWriter = new DataWriter();             var header = new NfcProvHeader();              header.version = NFC_PROV_MESSAGE_CURRENT_VERSION;  // Currently the supported version is 0x00.             header.leading = NFC_PROV_MESSAGE_LEADING_BYTE;     // The leading byte should be always 0xFF.             header.index = 0; // Assume we only have 1 chunk.             header.total = 1; // Assume we only have 1 chunk.              // Write the header first and then the raw data of the provisioning package.             dataWriter.WriteBytes(GetBytes(header));             dataWriter.WriteBuffer(buffer);              var chunkPubId = proximityDevice.PublishBinaryMessage(                             "Windows:WriteTag.ProvPlugins.Chunk",                             dataWriter.DetachBuffer());         } 

Компоненты метки устройства с поддержкой NFC

Подготовка с исходного устройства с поддержкой NFC позволяет передавать более крупные пакеты подготовки с помощью NFC-метки. При выполнении подготовки с устройства с поддержкой NFC рекомендуется, чтобы общий размер файла не превышал 120 КБ. Следует учитывать, что чем больше размер файла NFC, тем дольше будет выполняться передача файла подготовки. В зависимости от оборудования с поддержкой NFC, которое вы используете, время передачи файла размером 120 КБ файла может составлять от 2,5 секунды до 10 секунд.

Чтобы выполнить подготовку с исходного устройства с поддержкой NFC, используйте API-интерфейс класса ProximityDevice, чтобы создать собственный специальный инструмент, который передаст ваш пакет подготовки блоками на целевое мобильное устройство. Этот инструмент должен опубликовать двоичные сообщения (передать), то есть сообщение с заголовком, за которым будет следовать одно или несколько блочных сообщений. Заголовок определяет общий объем данных, которые будут переданы на целевое устройство. Блоки должны содержать отформатированные данные подготовки двоичных необработанных данных, как показано в разделе «Компоненты NFC-метки».

Подробные сведения (и примеры кода) о том, как реализовать метку устройства с поддержкой NFC см. в разделе ConvertToNfcMessageAsync в этом примере универсального приложения NfcProvisioner для Windows на GitHub. В этом примере приложения показано, как разместить пакет подготовки на главном устройстве, чтобы его можно было передать на принимающее устройство.

Связанные статьи

  • Использование конструктора конфигураций Windows для настройки устройств с Windows 10 Mobile

  • Подготовка штрихкодов и средство разделителя пакета

—>Windows 10

В Unix-подобных операционных системах подключить каталога NFS (Network File System) довольно просто, однако если вам понадобится использовать NFS шару в Windows, придется выполнить ряд дополнительных действий. В этой статье мы покажем, как в Windows 10 подключить NFS каталог, который находинся на UNIX системе. Все описанные инструкции будут работать в Windows 10 Pro (версия 10.0.14393 и выше).

Содержание:Установка клиента NFS (службы для NFS)</li>Как разрешить запись в NFS каталог анонимному пользователю</li>Как подключить NFS каталог в Windows 10</li></ul>

Установка клиента NFS (службы для NFS)

В первую очередь в Windows 10 нужно установить клиент NFS. Для установки необходимо выполнить следующие шаги:

  1. Откройте раздел «Programs and Features».windows-10-programs-and-features.png
  2. Щелкните по пункту «Turn Windows features on or off».windows-10-turn-windows-features-on-or-off.png
  3. В появившемся списке в разделе Services for NFS включите NFS клиента (Client for NFS), а затем нажмите «ОК».vklyuchit-nfs-klient-v-windows.png
  4. После установки нажмите кнопку «Close» и вернитесь на рабочий стол.

Как разрешить запись в NFS каталог анонимному пользователю

По умолчанию при подключении NFS каталога с UNIX системы, анонимному пользователю (anonymous) предоставляются права только на чтение. Чтобы предоставить анонимным пользователям право записи, необходимо изменить значения UID и GID, которые используются для монтирования NFS каталога в Windows. Пример стандартных настроек представлен на рисунке ниже.

montiruem-nfs-katalog-v-windows-10-komanda-mount.png

Чтобы изменить значение полей UID и GID, нам потребуется внести изменения в реестр Windows.

  1. Откройте редактор реестра regedit.
  2. Перейдите в ветку реестра — HKEY_LOCAL_MACHINESOFTWAREMicrosoftClientForNFSCurrentVersionDefault.
  3. В каталоге «Default» создайте новый параметр типа DWORD (32бит) с именем AnonymousUid и назначьте UID, назначенный на каталог в UNIX, к которому открыт доступ через NFS.
  4. В ветке Default создайте ещё один параметр DWORD (32-бит) с именем AnonymousGid и назначьте GID, назначенный данному каталогу в UNIX.nastrojka-anonymousuid-i-anonymousgid-dlya-nfs-v-wi.png
  5. Для того, чтобы изменения вступили в силу вам необходимо перезапустить клиент NFS или перезагрузить компьютер.

Список подключенных NFS каталогов и параметры монтирования можно вывести с помощью команды Mount без параметров.

Результат работы команды mount теперь должен выглядеть следующим образом:

Local Remote Properties-------------------------------------------------------------------------------Z: \10.1.1.211mntvms UID=0, GID=0rsize=1078756, wsize=1078756mount=soft, timeout=1.6retry=1, locking=yesfileaccess=755, lang=ANSIcasesensitive=nosec=sys

Обратите внимание на значение полей UID и GID, которое равно 0. UID=0, GID=0 — означает, что общий ресурс монтируется под пользователем root.

Как подключить NFS каталог в Windows 10

Смонтировать NFS каталог в Windows 10 можно с помощью команды mount. Например, смонтируем NFS каталог и назначим ему букву диска Z:. Предположим, что ваше NAS устройство находится в той же сети, что и ваш компьютер с установленной операционной системы Windows, а IP-адрес устройства — 10.1.1.211. С помощью следующей команды можно смонтировать общий ресурс NFS в /mnt/vms.

Mount –o anon \10.1.1.211mntvms Z:

Z: is now successfully connected to \10.1.1.211mntvmsThe command completed successfully.

Теперь общий ресурс создан, и мы можем получить доступ к данным. В нашем примере сетевой ресурс (диск) обозначается буквой «Z».

podklyuchennyj-nfs-katalog-v-provodnike-windows.png

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

image.pngАдминистрируя серверы на базе ОС Linux в среде, где в качестве основной клиентской ОС используется Windows, время от времени приходится сталкиваться с необходимостью что-либо скопировать с клиентской Windows на Linux-систему или наоборот, с Linux-системы на Windows. Чаще всего для этого используются возможности протоколов SSH/SCP с помощью таких инструментов, как например, утилита pscp.exe. Но когда приходится сталкиваться с файловыми Linux-серверами, позволяющими использовать возможности протокола NFS, мы можем задаться вопросами типа «может ли клиентская ОС Windows выступать в качестве NFS-клиента?», «есть ли в клиентской ОС Windows какая-то встроенная реализация клиента NFS?». Именно такие вопросы у меня возникли в период времени, который совпал с периодом, когда мы перебирались с Windows 8.1 на первый релиз Windows 10. Информация, которую в тот момент удалось найти по этому вопросу, заключалась в том, что функциональность NFS-клиента имеют только «старшие» редакции клиентских ОС Windows, такие как Windows 7 Ultimate/Enterprise, Windows 8/8.1 Enterprise и Windows 10 Enterprise. Однако в нашем случае использовалась ОС Windows 10 редакции Professional, поэтому пришлось отбросить эти мысли.

Недавно, читая обсуждения на форумах TechNet, я столкнулся с информацией о том, что с какого-то момента времени в ОС Windows 10 редакции Professional появилась возможность использовать функционал NFS-клиента. По информации из некоторых источников такая возможность появилась в Windows 10 версии 1607 (10.0.14393 / Anniversary Update).

Решив проверить эту информацию на имеющейся у меня под руками Windows 10 1803 (10.0.17134 / April 2018 Update) редакции Professional, я обнаружил, что теперь у нас действительно имеется возможность использования этого функционала.

Чтобы включить NFS-клиента, можем воспользоваться оснасткой управления программами и компонентами appwiz.cpl. Здесь в перечне «компонентов Windows» можно найти доступные к включению «Службы для NFS«.

image-1.png

После завершения установки компонент в Панели управления в разделе «Администрирование» появится оснастка «Службыдля NFS» (nfsmgmt.msc), в которой мы сможем управлять некоторым параметрами работы NFS-клиента.

image-2.png

Предполагаем, что на стороне NFS сервера уже настроены разрешения для доступа с клиентской системы, например, явно разрешён доступ по IP адресу клиента. Простейший пример установки и настройки NFS-сервера на стороне CentOS Linux можно найти в статье Вики «Установка и настройка сервера и клиента NFS в CentOS Linux 7.2».

После настройки прав доступа на стороне NFS-сервера переходим на Windows 10 и выполняем подключение сетевого каталога с помощью утилиты «mount«. Простейший пример анонимного подключения к сетевому каталогу выглядит так:

mount -o anon\KOM-FS01mntvdo-vd1ovirt-iso-domain I:

где:

  • «-o anon» — подключаться с правами анонимного пользователя;
  • «KOM-FS01» — имя NFS-сервера;
  • «mntvdo-vd1ovirt-iso-domain» — локальный путь к каталогу на NFS-сервере;
  • «I» — буква диска Windows

image-3.png

Другие доступные параметры и ключи утилиты, можно посмотреть командой «mount /?«. Например, при подключении мы явно можем указать имя пользователь и пароль на NFS-сервере.

При открытии свойств каталогов и файлов в подключённом NFS-каталоге мы увидим специальную вкладку «Атрибуты NFS» с соответствующими атрибутами, в том числе и информацию о текущих разрешениях на каталог/файл, которыми, в случае достаточных прав, мы можем управлять.

image-4.png

При повторном выполнении команды mount без указания параметров, мы получим сведения о текущий подключениях NFS-клиента и свойствах этих подключений:

image-5.png

Здесь мы сможем увидеть то, с какими UID и GUID, выполнено подключение. Для анонимных подключений это по умолчанию -2/-2. Если по какой-то причине у нас возникнет необходимость изменить эти идентификаторы для всех анонимных клиентских подключений, то мы можем добавить пару отсутствующих по умолчанию параметров реестра типа DWORD (32-бита):

  • AnonymousUid
  • AnonymousGid

в ключ реестра:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftClientForNFSCurrentVersionDefault

В значениях созданных параметров можно записать нужные UID и GUID, которые будут использоваться при всех анонимных подключениях. На скриншоте ниже используется пример со значениями 1000:1000 (десятичное).

image-6.png

Если мы хотим, чтобы все анонимные подключения использовали root-овые идентификаторы, то в соответствующих параметрах реестра нужно указать AnonymousUid = и AnonymousGid = . Указание root-овых идентификаторов может быть полезно в случае, если, например, нам требуется не только чтение, но запись в подключенном NFS-каталоге, а удалённый NFS-сервер разрешает запись только root-пользователю и/или членам группы root.

Для вступления изменений в силу потребуется выполнить остановку и повторный запуск службы клиента NFS из ранее упомянутой оснастки «Службы для NFS» (nfsmgmt.msc).

image-7.png

Либо, если перезапуск компьютера не составляет проблемы, то для вступления изменений в силу можно выполнить и перезагрузку клиентского компьютера.

Здесь хочу сделать маленькое отступление относительно перезапуска службы клиента NFS и поделиться своими наблюдениями.

Мои попытки перезапускать системную службу «Клиент для NFS» (NfsClnt) через стандартные механизмы, такие как оснастку управления службами services.msc или утилиту «net«, показали, что это по какой-то причине приводит к невозможности запуска службы после её остановки. Поэтому для перезапуска NFS-клиента лучше использовать именно «родную» оснастку. Хотя, опять же, замечено, что многократные остановки/запуски службы в оснастке «Службы для NFS» также могут привести к неадекватной работе NFS-клиента. В результате чего, например, утилита «mount» может перестать подключать NFS-каталоги, выдавая ошибку сети:

image-8.png

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

После того, как нужные нам изменения внесены в реестр и служба клиента NFS успешно перезапущена, снова попытаемся подключить NFS-каталог и посмотрим командой «mount» сведения о подключениях.

image-9.png

Как видим, теперь в качестве идентификаторов безопасности выступают именно те, что были ранее нами указаны в реестре.

Отключение подключенных по протоколу NFS сетевых ресурсов выполняется также просто, как и подключение, только с помощью другой утилиты – «umount«

image-10.png

В общем это хорошо, что теперь у пользователей ОС Windows 10 редакции Professional есть штатная возможность работать с сетевыми файловыми ресурсами по протоколу NFS. Будем использовать это в работе.

Используемые источники:

  • https://docs.microsoft.com/ru-ru/windows/configuration/mobile-devices/provisioning-nfc
  • https://vmblog.ru/kak-podklyuchit-nfs-katalog-v-windows-10/
  • https://blog.it-kb.ru/2018/10/16/using-the-nfs-client-in-windows-10-professional-edition/

Рейтинг автора
5
Подборку подготовил
Андрей Ульянов
Наш эксперт
Написано статей
168
Ссылка на основную публикацию
Похожие публикации
Тимофей Белов
Консультант сайта
Здравствуйте. Если у вас остались вопросы, вы можете можете задать их мне.