Монтируем NFS шару в Windows через PowerShell
Далеко не все админы знают, что смонтировать NFS-ресурс в Windows так же просто как и в Linux. В этой заметке разберём пошагово, как включить поддержку NFS в Windows и как примонтировать такой ресурс с помощью PowerShell.
Что потребуется
Перед тем как начать, убедитесь, что всё из списка ниже у вас есть:
- У вас есть доступ к NFS-серверу (например, это может быть Linux-машина или NAS), и на нём уже расшарена каталог.
- Вы знаете IP-адрес или DNS-имя этого NFS-сервера.
- У вас есть права локального администратора на клиентской машине с Windows.
Устанавливаем NFS-клиент в Windows
Через графический интерфейс
Если хотите поставить NFS-клиент через GUI, делайте следующее:
- Нажмите
Win + R
, введитеoptionalfeatures
и нажмите Enter. - В открывшемся окне с компонентами Windows найдите пункт Services for NFS (если у вас Windows Server - будет называться Client for NFS).
- Отметьте галочкой этот пункт и нажмите OK.
- После установки, возможно, потребуется перезагрузка.
Через PowerShell
Установить NFS-клиент можно и через PowerShell - это особенно удобно, если не хочется кликать мышкой. Главное - запускать консоль от имени администратора.
Для Windows Server:
Install-WindowsFeature -Name NFS-Client
Для Windows 10/11:
Enable-WindowsOptionalFeature -Online -FeatureName ServicesForNFS-ClientOnly
Монтируем NFS-ресурс в Windows
Когда NFS-клиент установлен, откройте PowerShell с правами администратора.
Вот так можно примонтировать расшаренную папку:
New-PSDrive -Name Z -PSProvider FileSystem -Root "\\192.168.178.25\NFS-Share2" -Persist
А можно и короче - через псевдоним mount
:
mount \\192.168.178.25\NFS-Share2 Z:
Делаем монтирование постоянным
По умолчанию монтирование временное - после перезагрузки подключение пропадает. Чтобы это исправить, можно автоматизировать процесс через планировщик заданий.
Вот как это делается:
1.Создайте PowerShell-скрипт с таким содержимым:
New-PSDrive -Name Z -PSProvider FileSystem -Root "\\192.168.178.25\NFS-Share2" -Persist:
2.Откройте Планировщик заданий и создайте новое задание.
3.Триггер — при запуске системы (At system startup).
4.Действие — запуск PowerShell-скрипта.
5.Обязательно выберите опцию «Выполнять с наивысшими правами»
Имейте в виду: в контексте планировщика New-PSDrive -Persist
выполняется от имени пользователя, под которым настроено задание.
Настройка прав доступа и версии NFS
В Linux и Unix правая доступа к файлам чаще всего завязаны на UID и GID. В Windows всё иначе - по умолчанию она использует свои учетные данные при подключении к NFS.
Если на сервере жёстко настроены права на основе UID/GID, то просто так подключиться может не получиться. Придётся либо настраивать user mapping, либо подключать машину к Active Directory, чтобы обеспечить нужный доступ.
Альтернативный вариант - подключаться как анонимный пользователь. Но для этого придётся вручную прописать соответствующие параметры в реестре - AnonymousUid
и AnonymousGid
. Без этого сервер не будет знать, под каким ID пускать клиента.
Отмонтировать NFS-ресурс
Чтобы отключить расшаренную папку, используйте командлет Remove-PSDrive
. Достаточно указать букву диска, которую вы использовали при монтировании:
Remove-PSDrive -Name Z
Полезные советы
Пара моментов, на которые стоит обратить внимание при работе с NFS в Windows:
- Многие NFS-серверы требуют права доступа на основе UID/GID.
- Windows по умолчанию использует свои учётные данные. Если сервер не принимает такой подход - придётся либо настраивать user mapping, либо использовать интеграцию с Active Directory.
- Для продакшн-сценариев лучше сразу настраивать user mapping через AD.
- Не забывайте про настройки файрвола - NFS обычно работает через порт 2049/TCP.
- Если вам нужно расшарить каталог с Windows через NFS, а не наоборот - посмотрите на утилиту WinNFSd.