diff -urN wine-2.0-orig/configure.ac wine-2.0/configure.ac
--- wine-2.0-orig/configure.ac	2017-01-25 05:17:22 +0900
+++ wine-2.0/configure.ac	2017-01-26 16:11:32 +0900
@@ -28,6 +28,11 @@
 
 dnl **** Command-line arguments ****
 
+AC_ARG_ENABLE(unixfs,AS_HELP_STRING([--disable-unixfs],[do not include unixfs support]))
+if test "x$enable_unixfs" != "xno"
+then
+    AC_DEFINE(ENABLE_UNIXFS, 1, [Define to enable unixfs]) 
+fi
 AC_ARG_ENABLE(win16, AS_HELP_STRING([--disable-win16],[do not include Win16 support]))
 AC_ARG_ENABLE(win64, AS_HELP_STRING([--enable-win64],[build a Win64 emulator on AMD64 (won't run Win32 binaries)]))
 AC_ARG_ENABLE(tests, AS_HELP_STRING([--disable-tests],[do not build the regression tests]))
diff -urN wine-2.0-orig/dlls/krnl386.exe16/int21.c wine-2.0/dlls/krnl386.exe16/int21.c
--- wine-2.0-orig/dlls/krnl386.exe16/int21.c	2017-01-25 05:17:22 +0900
+++ wine-2.0/dlls/krnl386.exe16/int21.c	2017-01-26 16:11:32 +0900
@@ -35,6 +35,7 @@
 # include <unistd.h>
 #endif
 
+#include "ntstatus.h"
 #include "windef.h"
 #include "winbase.h"
 #include "winreg.h"
@@ -842,11 +843,13 @@
  */
 static HANDLE INT21_CreateMagicDeviceHandle( LPCWSTR name )
 {
+    HANDLE ret;
+    NTSTATUS status;
+
+#if defined(ENABLE_UNIXFS)
     static const WCHAR prefixW[] = {'\\','?','?','\\','u','n','i','x'};
     const char *dir = wine_get_server_dir();
     int len;
-    HANDLE ret;
-    NTSTATUS status;
     OBJECT_ATTRIBUTES attr;
     UNICODE_STRING nameW;
     IO_STATUS_BLOCK io;
@@ -875,12 +878,16 @@
     status = NtCreateFile( &ret, GENERIC_READ|GENERIC_WRITE|SYNCHRONIZE, &attr, &io, NULL, 0,
                            FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OPEN_IF,
                            FILE_SYNCHRONOUS_IO_ALERT, NULL, 0 );
+    RtlFreeUnicodeString( &nameW );
+#else
+    status = STATUS_NOT_IMPLEMENTED;
+#endif
+
     if (status)
     {
         ret = 0;
         SetLastError( RtlNtStatusToDosError(status) );
     }
-    RtlFreeUnicodeString( &nameW );
     return ret;
 }
 
diff -urN wine-2.0-orig/dlls/krnl386.exe16/vxd.c wine-2.0/dlls/krnl386.exe16/vxd.c
--- wine-2.0-orig/dlls/krnl386.exe16/vxd.c	2017-01-25 05:17:22 +0900
+++ wine-2.0/dlls/krnl386.exe16/vxd.c	2017-01-26 16:11:32 +0900
@@ -113,11 +113,13 @@
 /* create a file handle to represent a VxD, by opening a dummy file in the wineserver directory */
 static HANDLE open_vxd_handle( LPCWSTR name )
 {
+    HANDLE ret;
+    NTSTATUS status;
+
+#if defined(ENABLE_UNIXFS)
     static const WCHAR prefixW[] = {'\\','?','?','\\','u','n','i','x'};
     const char *dir = wine_get_server_dir();
     int len;
-    HANDLE ret;
-    NTSTATUS status;
     OBJECT_ATTRIBUTES attr;
     UNICODE_STRING nameW;
     IO_STATUS_BLOCK io;
@@ -146,12 +148,16 @@
     status = NtCreateFile( &ret, SYNCHRONIZE, &attr, &io, NULL, 0,
                            FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OPEN_IF,
                            FILE_SYNCHRONOUS_IO_ALERT, NULL, 0 );
+    RtlFreeUnicodeString( &nameW );
+#else
+    status = STATUS_NOT_IMPLEMENTED;
+#endif
+
     if (status)
     {
         ret = 0;
         SetLastError( RtlNtStatusToDosError(status) );
     }
-    RtlFreeUnicodeString( &nameW );
     return ret;
 }
 
diff -urN wine-2.0-orig/dlls/ntdll/directory.c wine-2.0/dlls/ntdll/directory.c
--- wine-2.0-orig/dlls/ntdll/directory.c	2017-01-25 05:17:22 +0900
+++ wine-2.0/dlls/ntdll/directory.c	2017-01-26 16:11:32 +0900
@@ -2873,7 +2873,9 @@
 NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRING *unix_name_ret,
                                           UINT disposition, BOOLEAN check_case )
 {
+#if defined(ENABLE_UNIXFS)
     static const WCHAR unixW[] = {'u','n','i','x'};
+#endif
     static const WCHAR invalid_charsW[] = { INVALID_NT_CHARS, 0 };
 
     NTSTATUS status = STATUS_SUCCESS;
@@ -2918,7 +2920,9 @@
     name_len -= prefix_len;
 
     /* check for invalid characters (all chars except 0 are valid for unix) */
+#if defined(ENABLE_UNIXFS)
     is_unix = (prefix_len == 4 && !memcmp( prefix, unixW, sizeof(unixW) ));
+#endif
     if (is_unix)
     {
         for (p = name; p < name + name_len; p++)
diff -urN wine-2.0-orig/dlls/ntdll/path.c wine-2.0/dlls/ntdll/path.c
--- wine-2.0-orig/dlls/ntdll/path.c	2017-01-25 05:17:22 +0900
+++ wine-2.0/dlls/ntdll/path.c	2017-01-26 16:11:32 +0900
@@ -1026,7 +1026,9 @@
 NTSTATUS CDECL wine_unix_to_nt_file_name( const ANSI_STRING *name, UNICODE_STRING *nt )
 {
     static const WCHAR prefixW[] = {'\\','?','?','\\','A',':','\\'};
+#if defined(ENABLE_UNIXFS)
     static const WCHAR unix_prefixW[] = {'\\','?','?','\\','u','n','i','x'};
+#endif
     unsigned int lenW, lenA = name->Length;
     const char *path = name->Buffer;
     char *cwd;
@@ -1066,6 +1068,7 @@
 
     if (status != STATUS_SUCCESS)
     {
+#if defined(ENABLE_UNIXFS)
         if (status == STATUS_OBJECT_PATH_NOT_FOUND)
         {
             lenW = ntdll_umbstowcs( 0, path, lenA, NULL, 0 );
@@ -1085,6 +1088,7 @@
             for (p = nt->Buffer + sizeof(unix_prefixW)/sizeof(WCHAR); *p; p++) if (*p == '/') *p = '\\';
             status = STATUS_SUCCESS;
         }
+#endif
         goto done;
     }
     while (lenA && path[0] == '/') { lenA--; path++; }
diff -urN wine-2.0-orig/dlls/shell32/folders.c wine-2.0/dlls/shell32/folders.c
--- wine-2.0-orig/dlls/shell32/folders.c	2017-01-25 05:17:22 +0900
+++ wine-2.0/dlls/shell32/folders.c	2017-01-26 16:11:32 +0900
@@ -237,9 +237,11 @@
                 *piIndex = -IDI_SHELL_MY_DOCUMENTS;
             else if(IsEqualGUID(riid, &CLSID_NetworkPlaces))
                 *piIndex = -IDI_SHELL_MY_NETWORK_PLACES;
+#if defined(ENABLE_UNIXFS)
             else if(IsEqualGUID(riid, &CLSID_UnixFolder) ||
                     IsEqualGUID(riid, &CLSID_UnixDosFolder))
                 *piIndex = -IDI_SHELL_DRIVE;
+#endif
             else
                 *piIndex = -IDI_SHELL_FOLDER;
 	  }
diff -urN wine-2.0-orig/dlls/shell32/shellole.c wine-2.0/dlls/shell32/shellole.c
--- wine-2.0-orig/dlls/shell32/shellole.c	2017-01-25 05:17:22 +0900
+++ wine-2.0/dlls/shell32/shellole.c	2017-01-26 16:11:32 +0900
@@ -78,8 +78,10 @@
 	{&CLSID_ShellFSFolder,	IFSFolder_Constructor},
 	{&CLSID_ShellItem,	IShellItem_Constructor},
 	{&CLSID_ShellLink,	IShellLink_Constructor},
+#if defined(ENABLE_UNIXFS)
 	{&CLSID_UnixDosFolder,  UnixDosFolder_Constructor},
 	{&CLSID_UnixFolder,     UnixFolder_Constructor},
+#endif
 	{&CLSID_ExplorerBrowser,ExplorerBrowser_Constructor},
 	{&CLSID_KnownFolderManager, KnownFolderManager_Constructor},
 	{&CLSID_Shell,          IShellDispatch_Constructor},
diff -urN wine-2.0-orig/dlls/shell32/shellpath.c wine-2.0/dlls/shell32/shellpath.c
--- wine-2.0-orig/dlls/shell32/shellpath.c	2017-01-25 05:17:22 +0900
+++ wine-2.0/dlls/shell32/shellpath.c	2017-01-26 16:11:32 +0900
@@ -4481,9 +4481,11 @@
         DWORD call_for_attr;
     } folders[] =
     {
+#if defined(ENABLE_UNIXFS)
         { &CLSID_UnixFolder, TRUE, FALSE, FALSE },
         { &CLSID_UnixDosFolder, TRUE, FALSE, FALSE,
           SFGAO_FILESYSANCESTOR|SFGAO_FOLDER|SFGAO_HASSUBFOLDER, SFGAO_FILESYSTEM },
+#endif
         { &CLSID_FolderShortcut, FALSE, FALSE, FALSE,
           SFGAO_FILESYSTEM|SFGAO_FOLDER|SFGAO_LINK,
           SFGAO_HASSUBFOLDER|SFGAO_FILESYSTEM|SFGAO_FOLDER|SFGAO_FILESYSANCESTOR },
@@ -4613,9 +4615,11 @@
             *ppidl = _ILCreateDesktop();
             break;
 
+#if defined(ENABLE_UNIXFS)
         case CSIDL_PERSONAL:
             *ppidl = _ILCreateMyDocuments();
             break;
+#endif
 
         case CSIDL_INTERNET:
             *ppidl = _ILCreateIExplore();
diff -urN wine-2.0-orig/dlls/shell32/shfldr.h wine-2.0/dlls/shell32/shfldr.h
--- wine-2.0-orig/dlls/shell32/shfldr.h	2017-01-25 05:17:22 +0900
+++ wine-2.0/dlls/shell32/shfldr.h	2017-01-26 16:11:32 +0900
@@ -75,5 +75,7 @@
 void SHELL_FS_ProcessDisplayFilename(LPWSTR szPath, DWORD dwFlags) DECLSPEC_HIDDEN;
 BOOL SHELL_FS_HideExtension(LPCWSTR pwszPath) DECLSPEC_HIDDEN;
 
+#if defined(ENABLE_UNIXFS)
 DEFINE_GUID( CLSID_UnixFolder, 0xcc702eb2, 0x7dc5, 0x11d9, 0xc6, 0x87, 0x00, 0x04, 0x23, 0x8a, 0x01, 0xcd );
 DEFINE_GUID( CLSID_UnixDosFolder, 0x9d20aae8, 0x0625, 0x44b0, 0x9c, 0xa7, 0x71, 0x88, 0x9c, 0x22, 0x54, 0xd9 );
+#endif
diff -urN wine-2.0-orig/dlls/shell32/shfldr_desktop.c wine-2.0/dlls/shell32/shfldr_desktop.c
--- wine-2.0-orig/dlls/shell32/shfldr_desktop.c	2017-01-25 05:17:22 +0900
+++ wine-2.0/dlls/shell32/shfldr_desktop.c	2017-01-26 16:11:32 +0900
@@ -185,10 +185,12 @@
     }
     else if (PathGetDriveNumberW (lpszDisplayName) >= 0)
     {
+#if defined(ENABLE_UNIXFS)
         /* it's a filesystem path with a drive. Let MyComputer/UnixDosFolder parse it */
         if (UNIXFS_is_rooted_at_desktop()) 
             pidlTemp = _ILCreateGuid(PT_GUID, &CLSID_UnixDosFolder);
         else
+#endif
             pidlTemp = _ILCreateMyComputer ();
         szNext = lpszDisplayName;
     }
diff -urN wine-2.0-orig/dlls/shell32/shfldr_unixfs.c wine-2.0/dlls/shell32/shfldr_unixfs.c
--- wine-2.0-orig/dlls/shell32/shfldr_unixfs.c	2017-01-25 05:17:22 +0900
+++ wine-2.0/dlls/shell32/shfldr_unixfs.c	2017-01-26 16:11:32 +0900
@@ -167,7 +167,7 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(shell);
 
-#if !defined(__MINGW32__) && !defined(_MSC_VER)
+#if !defined(__MINGW32__) && !defined(_MSC_VER) && defined(ENABLE_UNIXFS)
 
 #define LEN_SHITEMID_FIXED_PART ((USHORT) \
     ( sizeof(USHORT)      /* SHITEMID's cb field. */ \
@@ -2569,6 +2569,7 @@
  *  FALSE, if not.
  */
 BOOL UNIXFS_is_rooted_at_desktop(void) {
+#if defined(ENABLE_UNIXFS)
     HKEY hKey;
     WCHAR wszRootedAtDesktop[69 + CHARS_IN_GUID] = {
         'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\',
@@ -2582,5 +2583,6 @@
         RegCloseKey(hKey);
         return TRUE;
     }
+#endif
     return FALSE;
 }
diff -urN wine-2.0-orig/include/config.h.in wine-2.0/include/config.h.in
--- wine-2.0-orig/include/config.h.in	2017-01-25 05:17:22 +0900
+++ wine-2.0/include/config.h.in	2017-01-26 16:11:32 +0900
@@ -7,6 +7,9 @@
 /* Define to a function attribute for Microsoft hotpatch assembly prefix. */
 #undef DECLSPEC_HOTPATCH
 
+/* Define to enable unixfs */
+#undef ENABLE_UNIXFS
+
 /* Define to the file extension for executables. */
 #undef EXEEXT
 
diff -urN wine-2.0-orig/programs/wineboot/wineboot.c wine-2.0/programs/wineboot/wineboot.c
--- wine-2.0-orig/programs/wineboot/wineboot.c	2017-01-25 05:17:22 +0900
+++ wine-2.0/programs/wineboot/wineboot.c	2017-01-26 16:11:32 +0900
@@ -946,7 +946,7 @@
                                      'I','n','s','t','a','l','l','H','i','n','f','S','e','c','t','i','o','n',0};
     static const WCHAR definstall[] = {' ','D','e','f','a','u','l','t','I','n','s','t','a','l','l',0};
     static const WCHAR wowinstall[] = {' ','W','o','w','6','4','I','n','s','t','a','l','l',0};
-    static const WCHAR inf[] = {' ','1','2','8',' ','\\','\\','?','\\','u','n','i','x',0 };
+    static const WCHAR inf[] = {' ','1','2','8',' ','z',':',0 };
 
     WCHAR app[MAX_PATH + sizeof(rundll)/sizeof(WCHAR)];
     STARTUPINFOW si;
