10/4/2019 Windows 10 Host File Location
Windows refers to the hosts file each time it connects over a network using a hostname. If it finds an entry for the hostname in the hosts file, it will contact the server specified in the file.
A German translation of this article is available at.The subtle differences between 32-bit and 64-bit Windows present so many intricacies and pitfalls that even Microsoft employees seem to have trouble getting it right. I just stumbled upon a KB article that describes. The topic alone is funny enough – it is not as if the default hosts file contained great amounts of data. An entry for localhost (IPv4 and IPv6) is all you need, and on Windows 7 / Server 2008 R2 not even that. But anyhow, there seem to be enough people asking MS support for this or they would not have troubled with creating a package (ResetHOSTSFileBackToDefaults.MSI) that basically empties the hosts file. Is Hosts 64-bit or 32-bit?As always, I am more interested in what the package does, and Microsoft is kind enough to explain that in most “Fix it for me” articles. As you probably know, the hosts file was, is and probably will always be located in%systemroot%system32driversetc.
Simple enough. But wait: 64-bit systems have two system32 directories: one for 64-bit processes and the other for 32-bit processes. Now, where would the hosts file be located – or are there even two (potentially different) files?The answer is: no, the hosts file exists only once on x64 Windows. And it is right where it belongs, in the 64-bit system32 directory. But where is that directory located on disk?
Is it the one natively called system32, or is it SysWOW64? Redirection ConfusionThis is where confusion kicks in. Many people, including the person writing MS KB article 972034, see the number “64” in the name of the folder SysWOW64 and think: yes, that must be the 64-bit version of system32. Nice thinking, but wrong. It is exactly the other way round. For compatibility reasons, the name of the system32 folder did not change in Windows x64, although on 64-bit platforms the folder does not contain 32-bit but 64-bit executables! That leaves the question of where to put the 32-bit files that 32-bit processes need – and also expect to find in system32?
![]()
Obviously, the same DLL cannot be present twice in the same folder.The requirement of two different system32 directories was solved. Actually there are two independent folders in any x64 installation: system32 and SysWOW64. The latter is shown to 32-bit processes under the name system32. 64-bit processes do not use SysWOW64.
How to Get to and Edit the Hosts FileIf you want to edit the hosts file, you first need to locate and open it – on Vista and newer with UAC enabled from an elevated process (with admin rights). The procedure is a little tedious. Here is how to do it with 64-bit Notepad:. Click on the Start button, type “notepad” and press CTRL+SHIFT+ENTER. Acknowledge the UAC dialog. Type CTRL+O. Navigate to C:WindowsSystem32driversetc.
Select “All Files” in the bottom right corner. Now you see the hosts file. Select and open it. Make your changes and save it.If you want to access hosts from a 32-bit process, use one of the following paths. Please note that in both cases the full path must be used. Navigating to “etc” from the root does not work (because System32 is redirected and Sysnative is not shown in directory listings).%Windir%System32driversetc. This works because file system redirection is disabled for the “etc” directory and thus accessing the 64-bit System32 works from a 32-bit process.%Windir%Sysnativedriversetc.
Sysnative is an alias that can only be used from 32-bit processes to access the 64-bit System32 directory. Helge Klein (ex CTP, MVP and vExpert) worked as a consultant and developer before founding vast limits, the company. Helge applied his extensive knowledge in IT infrastructure projects and architected the user profile management product whose successor is now available as Citrix Profile Management. Helge is the author of the popular tools Delprof2 and SetACL. He has presented at Citrix Synergy, BriForum, E2EVC, Splunk.conf and many other events.
Helge is very active in the IT community and has co-founded. I suggest putting a shortcut on the desktop for quick updates to the ‘hosts’ file.I find it to be one of the MOST useful files for blocking garbage URLs being accessed by otherwise useful sites for commercial or information gathering purposes. Keeping an eye on your status bar can be a very basic but often useful aid to alert you to some of this activity.Hovering your mouse over junk ads can also give you additional info.Also: If you can still find them, there are very good (reputable) ‘host’ files on the internet for legacy versions of windows (’95, ’98, etc.) that you can copy or cut-and-paste into the win7 hosts file. These have hundreds of bothersome and downright nasty site addresses blocked in them, and are written in exactly the same format as the win7 file uses.Please note the usage of the number sign (#) for adding your own comments to the host file. This comes in very handy for adding your own dates and notes if you find that you need to delete a particular blockage because it closes an entire site that you often use.
I'm using Windows 10. I'm trying to map 127.0.0.1 to a hypothetical domain: en.mylocalhost.tldWhen I opened C:WindowsSystem32driversetchosts as Administrator, it was empty.I added following line to it:127.0.0.1 en.mylocalhost.tldRestarted the PC.I have an Angular application which is served on localhost:4200. It works on localhost.But when I enter en.mylocalhost.tld:4200, I getDNS error (the host name of the page you are looking for does notexist)Also, there is no entry for localhost in the hosts file. Then why is localhost working?How can I solve this? The HOSTS file of my fully updated (as of August 2019) Windows 10 Pro system seemed to be being ignored. A search found many similar complaints but nothing useful.
Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |