I want to make Windows 7 case-sensitive when it reads/writes anything on the hard drive (the C drive, or any other NTFS drive).

I found a video via google that says to change the registry key

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\DontPrettyPath

to a value of 1 (source).

I also found a Windows support item that says something about modifying the registry key

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\obcaseinsensitive

that leads me to assume putting a value of 0 will make Windows case-sensitive with NTFS filesystems (source).

I have a feeling the second solution is the answer, but I'm not sure and I don't want to try it without being sure.

Does anyone know for sure what is the correct way to make Windows 7 case-sensitive when it reads/writes to the C drive (and any other NTFS drive)?

link|improve this question

71% accept rate
feedback

3 Answers

I think this is what you're looking for:

http://www.chilkatsoft.com/p/p_454.asp

This page recommends setting HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive to 0 to make it case-sensitive. I think you found this already though, and this looks like the standard way to do it (even the Microsoft KB you found suggests it).

It looks like you have to change kernel settings. Beware of updates though.

EDIT: Watch out though, some programs might depend on case insensitivity.

EDIT: You could probably use a UDF partition. This filesystem is case-sensitive and I think it works on both Windows and Linux.

See this and this.

link|improve this answer
Can you post more information from the page you link to please. Don't copy the whole thing but you can copy the relevant paragraph and summarise the rest. – ChrisF Apr 3 '11 at 18:23
Well, the whole page only is a paragraph. I'll make a quick edit though. – tjameson Apr 3 '11 at 18:24
Thanks tjameson. Regarding programs that might depend on case insensitivity, this is indeed a big problem. A program might look for "WINDOWS" and not find it because it is really "Windows" now, right? Shoot, I'm at a loss trying to figure out how to copy things over from Linux to Windows, and I've found myself in a situation where folders of the same spelling with different caps exist in one location. – trusktr Apr 3 '11 at 18:36
Well, the only thing I can think of is to conflicts manually. If you copy files over, Windows should ask you if you want to merge or make a copy or something. I can't remember (I'm a linux man myself). – tjameson Apr 3 '11 at 18:40
According to this article this only works for non-Win32 subsystems, so doesn't apply to NTFS. – harrymc Apr 3 '11 at 18:42
show 4 more comments
feedback

What Microsoft has to say about NTFS and changing case sensitivity.

Looks like you do not have to change the kernel to allow case sensitive lookups on the network.

http://technet.microsoft.com/en-us/library/cc783185(WS.10).aspx

.

Configuring case sensitivity for file and folder names

Applies To: Windows Server 2003 R2

To configure case sensitivity for file and folder names using the Windows interface Open Microsoft Services for Network File System: click Start, point to Programs, point to Administrative Tools, and then click Microsoft Services for Network File System.

If necessary, connect to the computer you want to manage.

Right-click Server for NFS, and then click Properties.

Click the Filename Handling tab.

Do one of the following:

To enable case-sensitive file and directory name lookups, select the Enable case sensitive lookups check box.

To disable case-sensitive file and directory name lookups, clear the Enable case sensitive lookups check box.

Click Apply.

Important These changes will not take effect until Server for NFS is restarted. For information about how to stop and start Server for NFS, see Starting and stopping Server for NFS. You also need to disable Windows kernel case-insensitivity in order for Server for NFS to support case-sensitive file names. You can disable Windows kernel case-insensitivity by clearing the following registry key to 0: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel DWORD “obcaseinsensitive”

To configure case sensitivity for file and folder names using the command line Open the command prompt.

To enable case sensitivity, type the following:

nfsadmin server [ ComputerName ] config casesensitivelookups=yes

To disable case sensitivity and optionally specify the case of file names returned by Server for NFS, at a command prompt, type the following:

nfsadmin server [ ComputerName ] config casesensitivelookups=no [ntfscase={upper | lower | preserve}]

Argument > Computer Name = The name of the computer you want to configure.

Important These changes will not take effect until Server for NFS is restarted. For information about how to stop and start Server for NFS, see Starting and stopping Server for NFS.

Note The ntfscase option sets the case sensitivity for the NTFS file system. The default case sensitivity is preserve (preserve case). To view the complete syntax for this command, at a command prompt, type: nfsadmin server /?

.

link|improve this answer
1  
I dan't think this allows for having multiple files with the same name, which is what he wants to do. – tjameson Apr 3 '11 at 21:10
1  
Then he will have to do the registry hack. – Moab Apr 3 '11 at 21:32
feedback

Microsoft states ;

In NTFS, names preserve case, but are not case sensitive.
NTFS makes no distinction of filenames based on case.

Allowing case-sensitivity under Windows would allow malware to create files that the user can't access or delete, so it is not allowed for a good reason.

In any case, I am quite sure that if you managed to make NTFS case-sensitive, Windows will crash and re-installation will be the only solution.

link|improve this answer
You are also correct that it presents a security issue if you do. "For example, a version of edit.exe infected with a Trojan horse-type malicious program, and named EDIT.EXE, could be stored in the same directory as edit.exe. If a user were to type edit at a Windows command prompt, the Trojan horse version (EDIT.EXE) could be executed instead of the standard version"..technet.microsoft.com/en-us/library/cc732389.aspx – Moab Apr 3 '11 at 20:21
It probably won't crash Windows unless you rename key files/folders. I'm pretty sure that Windows makes sure to use the correct case, in fact, they even recommend it. – tjameson Apr 3 '11 at 21:12
Hmm, that's interesting tjameson. Can you provide a link to that recommendation? – trusktr Nov 1 '11 at 23:55
1  
If malware gets write access to your disk, you have big problems whether your filesystem is case sensitive or not. #redherring – Leopd Jan 11 at 0:43
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.