Sysnative что это за папка windows 10

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

Sysnative — папка, которая указывает операционной системе предоставить доступ 32-битному приложению к 64-битным библиотекам.

Данная директория непростая, вы ее можете не увидеть, когда она на самом деле — присутствует. Причина — каталог виден только 32-битным приложениям. Если у вас операционная система 64-битная, то программа Проводник — тоже 64-битная, поэтому папку эту не видит.

Но главное:

  1. Иногда 32-битной программе может потребоваться 64-битная функция.
  2. В таком случае нужно будет использовать папку Sysnative, потому что она указывает на папку System32, которая соответственно в 64-битной операционке содержит данные этой же разрядности.
  3. Но по факту папки Sysnative не существует в 64-битной среде.
  4. Программисты при написании 32-битного приложения понимают, что когда программе нужны будут 64-битные функции, они не будут использовать каталог System32, потому что система автоматически перекинет в папку SysWOW64, которая содержит 32-битные компоненты (ведь программа сама тоже такой разрядности). Вместо этого разработчики используют Sysnative, потому что эта папка уже будет перебрасывать в System32.

РЕКЛАМА

Из чего можно сделать вывод: SysNative является в некотором смысле невидимой, использование которой просто говорит операционной системе — неважно какая программа, но ей нужно предоставить 64-битные библиотеки, а не перенаправлять в 32-битный вариант библиотек (каталог SysWOW64).

Sysnative — можно ли удалить?

Оказывается что удалять нельзя, судя по информации из интернета.

Папку Sysnative как и System32, SysWOW64 — трогать нельзя. Весить Sysnative может пару гигабайт и это вполне нормальное явление.

Источник сообщения.

При желании почистить OS Windows от мусорных файлов используйте только безопасные методы, например: Win + R > команда cleanmgr > выбираем системный диск > отмечаем галочки мусорные данные для удаления и чистим систему.

Заключение

Выяснили:

  • Папка Sysnative необходима чтобы 32-битное приложение в 64-битной среде могло спокойно получить доступ к папке System32 (обычно операционка перенаправляет в SysWOW64).

Удачи.

С выпуском 64-разрядной версии Windows 7 в обычное распределение папок в каталоге Windows были внесены небольшие изменения. В 64-разрядную версию Windows 7, Windows 8 и Windows 10 включены две новые папки. Это папки Sysnative и SysWOW64 . Это только в 64-битной Windows. Если вы используете 32-битную Windows на 64-битной машине, вы их не увидите. Также вы не увидите их при запуске 32-битной Windows на 32-битной машине.

За пределами каталога Windows есть еще одна папка, которая называется Program Files (x86) . Мы привыкли к имени папки Program Files, в которой находятся исполняемые файлы наших программ. В 64-разрядных системах 64-разрядные программы хранятся в папке Program Files, а 32-разрядные программы – в Program Files (x86). Однако Windows использует нечто вроде эмуляции для запуска 32-разрядных программ на 64-разрядной машине. И, следовательно, необходимо знать и понимать, какие системные папки в Windows (64-разрядные), чтобы вы знали, как получить нужный файл.

В отличие от 32-разрядных компьютеров, где 32-разрядные библиотеки DLL хранятся в папке System32 , 64-разрядная версия Windows хранит библиотеки DLL, связанные с 64-разрядными файлами, в папке System32. Это облегчает программирование и обеспечивает обратную совместимость. То есть, если 64-битная программа ссылается на System32 в своем коде, она автоматически получит 64-битную DLL при вызове. Это помогает разработчикам, поскольку им не нужно менять код в своих программах для Windows 64-bit.

Короче говоря, Windows переместила все 32-разрядные библиотеки DLL из папки System32 в каталоге Windows в какую-то другую папку, так что предыдущие программы не нужно перекодировать, чтобы получить нужные библиотеки DLL даже при использовании API – после обновления до 64-разрядной. Проблема возникает, когда 32-разрядное приложение пытается получить доступ к папке System32. В этом случае произойдет сбой программы, так как она не написана для обработки 64-битных DLL.

Папка SysWOW64 в 64-битной Windows

Все 32-разрядные библиотеки DLL были перемещены в новую папку SysWOW64 в 64-разрядной версии Windows 7, Windows 8 и Windows 10, поэтому, когда 32-разрядные программы вызывают 32-разрядные библиотеки DLL , они должны добраться до папки SysWOW64.

Вам может показаться, что разработчикам придется сканировать свои программы и приложения, чтобы указать функции DLL в папке SysWOW64. Но Microsoft уже позаботилась об этом. Если это 32-разрядная программа, которая вызывает C: \ Windows \ System32 , эмулятор перенаправит путь к C: \ Windows \ SysWOW64 . То есть для запуска 32-битных программ в 64-битной Windows используется эмулятор, чтобы обеспечить надлежащую обратную совместимость и избежать ошибок при вызове DLL-файлов.

Sysnative Folder в 64-битной Windows

Могут быть случаи, когда 32-битной программе или приложению может потребоваться 64-битная DLL. В этом случае вам придется использовать папку перенаправления Sysnative . Вы можете считать SysNative виртуальной папкой и псевдонимом, указывающим на папку System32. Он не существует физически в вашей системе как таковой. Поэтому, если вашей 32-разрядной программе требуется доступ к 64-разрядной библиотеке DLL, не используйте C: \ Windows \ System32 , поскольку эмулятор 32-разрядной программы перенесет ее в 32-разрядную папку DLL, которая называется SysWOW64. Вместо этого используйте C: \ Windows \ SysNative в качестве пути к программе DLL. Использование Sysnative в пути перенаправит его в папку System32 вместо папки SysWOW64.

Если вы откроете File Windows Explorer, вы не найдете папку Sysnative в C: \ Windows. Даже если вы установили параметры папки, чтобы показать скрытые и системные папки. Это связано с тем, что Windows File Explorer является 64-битной программой при работе в 64-битной Windows, а папка Sysnative видима и доступна только для 32-битных программ.

Подводя итог:

  1. Папки System32 содержат 64-битные файлы DLL.
  2. SysWOW64 содержит 32-разрядные файлы DLL, а 32-разрядные программы автоматически перенаправляются в эту папку
  3. Sysnative – это папка перенаправления, которая позволяет 32-разрядным программам вызывать 64-разрядные библиотеки DLL.

Дополнительное чтение: MSDN.

Хотите узнать разницу между папками System32 и SysWOW64?

Download Windows Speedup Tool to fix errors and make PC run faster

The Sysnative folder in Windows 64-bit is a virtual folder and an alias that points to the System32 folder on 64-bit systems. It doesn’t exist physically on your system. This post explains the functions of the Sysnative folder in Windows.

Sysnative folder in Windows

With the release of Windows 7 of 64-bit, there was a little change introduced in the normal allocation of folders in the Windows directory. Two new folders are included in the 64-bit edition of Windows 11, Windows 10, Windows 8, and Windows 7. They are Sysnative and SysWOW64 folders. This is only in 64-bit Windows. If you run a 32-bit Windows on a 64-bit machine, you won’t see them. Neither will you see them when running 32-bit Windows on a 32-bit machine.

There is another folder outside the Windows directory, and it is called Program Files (x86). We are used to the name of the folder Program Files that houses the executables of our programs. In 64-bit systems, the 64-bit programs are stored in the Program Files folder, while the 32-bit programs are housed in Program Files (x86). However, Windows uses something like an emulation for running 32-bit programs on a 64-bit machine. And hence, there is a need to know and understand what are the system folders under Windows (64-bit) so that you know how to reach the file you want.

Unlike the 32-bit machines, where the 32-bit DLLs are stored in the System32 folder, the 64-bit version of Windows stores DLLs related to 64-bits in the System32 folder. This is to ease the programming purposes and to provide backward compatibility. That is, if a 64-bit program refers to System32 in its code, it will get the 64-bit DLL automatically when called. This helps developers as they don’t have to change the code in their programs for Windows 64-bit.

In short, Windows moved all the 32-bit DLLs from the System32 folder in the Windows directory to some other folder so that previous programs need not be recoded to get the proper DLLs even when using APIs – after upgrading to 64-bit. The problem occurs when a 32-bit application tries to access the System32 folder. In this case, the program will crash as it is not written to handle 64-bit DLLs.

Read: What is the Panther folder?

SysWOW64 Folder in Windows 64-bit

All the 32-bit DLLs have been moved to the new SysWOW64 folder in the 64-bit version of Windows 11, Windows 10, Windows 8, and Windows 7, so when the 32-bit programs call upon 32-bit DLLs, they have to reach the SysWOW64 folder.

Read: Difference between System32 and SysWOW64 folders

You may feel that the developers must scan their programs and applications to point the DLL functions to the SysWOW64 folder. But Microsoft has already taken care of it. If it is a 32-bit program that is calling C:\Windows\System32, an emulator will redirect the path to C:\Windows\SysWOW64. That is, to run 32-bit programs in Windows 64-bit, an emulator is used, so that there is proper backward compatibility and to avoid errors when calling DLL files.

There may be cases where a 32-bit program or application might need a 64-bit DLL. In that case, you will have to use the redirection folder Sysnative. You can consider the SysNative to be a virtual folder and an alias that points to the System32 folder. It doesn’t exist physically on your system, as such.

So if your 32-bit program needs to access a 64-bit DLL, do not use C:\Windows\System32 because the 32-bit program emulator will take it to the 32-bit DLL folder called SysWOW64. Instead, use C:\Windows\SysNative as the path to the DLL program. Using Sysnative in the path will redirect it to the System32 folder instead of the SysWOW64 folder.

If you open File Windows Explorer, you will not find the Sysnative folder in C:\Windows. Even if you set Folder Options to show hidden and system folders. This is because, Windows File Explorer is a 64-bit program when running in a 64-bit Windows, and the Sysnative folder is visible and accessible from 32-bit programs only.

To sum up:

  1. System32 folders contain 64-bit DLL files.
  2. SysWOW64 contains 32-bit DLL files, and the 32-bit programs are auto-redirected to this folder
  3. Sysnative is a redirection folder that allows 32-bit programs to call 64-bit DLLs.

Additional read: MSDN.

Read: What is the FOUND.000 folder?

Anand Khanse is the Admin of TheWindowsClub.com, a 10-year Microsoft MVP (2006-16) & a Windows Insider MVP (2016-2022). Please read the entire post & the comments first, create a System Restore Point before making any changes to your system & be careful about any 3rd-party offers while installing freeware.


There is another folder outside the Windows directory, and it is called Program Files (x86). We are used to the name of folder Program Files that houses the executables of our programs. In 64-bit systems, the 64-bit programs are stored in the Program Files folder while the 32-bit programs are housed in Program Files (x86). However, Windows uses something like an emulation for running 32-bit programs on a 64-bit machine. And hence, there is a need to know and understand what are the system folders under Windows (64 bit) so that you know how to reach the file you want.
Unlike the 32-bit machines, where the 32-bit DLLs are stored in the System32 folder, the 64-bit version of Windows stores DLLs related to 64-bits in the System32 folder. This is to ease the programming purposes and to provide backward compatibility. That is, if a 64-bit program refers to System32 in its code, it will get the 64-bit DLL automatically when called. This helps developers as they don’t have to change the code in their programs for Windows 64-bit.
In short, Windows moved all the 32-bit DLLs from the System32 folder in the Windows directory to some other folder so that previous programs need not be recoded to get the proper DLLs even when using APIs – after upgrading to 64-bit. The problem occurs when a 32-bit application tries to access the System32 folder. In this case, the program will crash as it is not written to handle 64-bit DLLs.
Read: What is the Panther folder?

SysWOW64 Folder in Windows 64-bit

All the 32-bit DLLs have been moved to the new SysWOW64 folder in the 64-bit version of Windows 10, Windows 8, and Windows 7, so when the 32-bit programs call upon 32-bit DLLs, they have to reach the SysWOW64 folder.
You may feel that the developers will have to scan their programs and applications to point the DLL functions to the SysWOW64 folder. But Microsoft has already taken care of it. If it is a 32-bit program that is calling C:\Windows\System32, an emulator will redirect the path to C:\Windows\SysWOW64. That is, to run 32-bit programs in Windows 64-bit, an emulator is used, so that there is proper backward compatibility and to avoid errors when calling DLL files.
Read: What is the FOUND.000 folder?

There may be cases where a 32-bit program or application might need a 64-bit DLL. In that case, you will have to use the redirection folder Sysnative. You can consider the SysNative to be a virtual folder and an alias that points to the System32 folder. It doesn’t exist physically on your system, as such.
So if your 32-bit program needs to access a 64-bit DLL, do not use C:\Windows\System32 because the 32-bit program emulator will take it to the 32-bit DLL folder called SysWOW64. Instead, use C:\Windows\SysNative as the path to the DLL program. Using Sysnative in the path will redirect it to the System32 folder instead of the SysWOW64 folder.
If you open File Windows Explorer, you will not find the Sysnative folder in C:\Windows. Even if you set Folder Options to show hidden and system folders. This is because, Windows File Explorer is a 64-bit program when running in a 64-bit Windows, and the Sysnative folder is visible and accessible from 32-bit programs only.
To sum up:
Additional read: MSDN.
Want to know the difference between System32 and SysWOW64 folders?

Как известно в 64-ёх битных версиях Windows при попытке 32-ух битного приложения обратиться к %systemroot%system32 будет произведен редирект в папку SysWoW64. Несмотря на то, что редирект не работает для папки %systemroot%system32driversetc (и ещё ряда папок подробности тут) 32-ух разрядные приложения не видят папку etc в папке drivers, т.к. она не перечисляется с помощью функций Find…File.

В результате 32-ух битные файловые менеджеры могут попасть в папку etc только если прямо указать эту папку. Например, cd %systemroot%system32driversetc.

Но иногда из 32-ух битных приложений нужно попасть в саму папку system32, а как не указывай, система всё равно будет редиректить в SysWoW64. Для обхода этой проблемы Microsoft выпустила специальное обновление для Windows Server 2003 x64. После установки этого обновления для 32-ух разрядных приложений становится доступна виртуальная папка %systemroot%sysnative (правда она тоже не видна через функции Find…File).

В Windows Vista x64 и Windows Server 2008 x64 виртуальная папка sysnative доступна без дополнительных обновлений.

  • System sav что это за папка windows 10
  • Sysprep windows server 2012 r2
  • Sysmain что это за служба windows 10 можно ли отключить
  • Sysmain что это за служба windows 10 грузит память
  • Syslog сервер для windows бесплатный