Windows 10-ში საქაღალდეებისთვის რეგისტრის მგრძნობიარე რეჟიმის ჩართვა
როგორც უკვე იცით, Windows ფაილური სისტემა, NTFS, განიხილავს ფაილების და საქაღალდეების სახელებს, როგორც რეგისტრის უგრძნობი. მაგალითად, OS და აპებისთვის MyFile.txt და myfile.txt არის იგივე ფაილი. თუმცა, Linux-ში ყველაფერი განსხვავებულია. ამ OS-სთვის ეს ორი განსხვავებული ფაილია. ქცევის ამ განსხვავებამ შეიძლება შექმნას პრობლემები WSL მომხმარებლებისთვის. მათ გადასაჭრელად, Windows 10 მოიცავს საქაღალდეებისთვის ასოების მგრძნობიარე რეჟიმის ჩართვას.
რეკლამა
თუ თქვენ იყენებდით Windows ქვესისტემა Linux-ისთვის, ალბათ იცით, რომ ის საშუალებას გაძლევთ, თქვენი Windows ფაილური სისტემები (დამონტაჟებული /mnt/c, /mnt/d და ა.შ.) განიხილოთ, როგორც რეგისტრირებული. ეს ნიშნავს, სხვა საკითხებთან ერთად, რომ თქვენ შეგიძლიათ შექმნათ ფაილები, რომელთა სახელები განსხვავდება მხოლოდ შემთხვევის მიხედვით (მაგ. foo.txt და FOO.TXT).
თუმცა, Windows-ში ამ ფაილების გამოყენება ნამდვილად შეუძლებელი იყო. ვინაიდან Windows აპლიკაციები ფაილურ სისტემას განიხილავს, როგორც რეგისტრის უგრძნობი, მათ არ შეუძლიათ განასხვავონ ფაილები, რომელთა სახელები განსხვავდება მხოლოდ რეგისტრის მიხედვით. მიუხედავად იმისა, რომ File Explorer აჩვენებს ორივე ფაილს, მხოლოდ ერთი გაიხსნება, მიუხედავად იმისა, რომელზე დააწკაპუნეთ.
Windows Insider build 17093-ით დაწყებული, Windows-ში არსებობს ახალი ხერხი, რომ დამუშავდეს რეგისტრირებული ფაილები: თითო დირექტორიაში რეესტრის მგრძნობელობა. ეს შესაძლებლობა დაემატა მომხმარებლისთვის უკეთესი თავსებადობის მინიჭებას ქეისით მგრძნობიარე ფაილების გამოყენებისას. ასევე, შეგიძლიათ გამოიყენოთ ის რეგულარული Windows აპლიკაციებით. Windows 10 Build 17110-დან დაწყებული, ეს ქცევა ნაგულისხმევია.
Უფრო ვრცლად
ასოების მგრძნობელობა Windows-ში
Windows NT ოპერაციული სისტემების ოჯახს (მათ შორის Windows 10-ს) ყოველთვის ჰქონდა შესაძლებლობა შეესრულებინა ფაილური სისტემის ოპერაციები. აპლიკაციებს შეუძლიათ გაიარონ FILE_FLAG_POSIX_SEMANTICS
დროშას შექმენით ფაილი
API მიუთითებს, რომ მათ სურთ, რომ გზა განიხილებოდეს, როგორც რეგისტრირებული. თუმცა, თავსებადობის მიზეზების გამო, არსებობს გლობალური რეესტრის გასაღები, რომელიც არღვევს ამ ქცევას; როდესაც ეს კლავიატურა დაყენებულია, ფაილის ყველა ოპერაცია არ არის რეგისტრირებული, მაშინაც კი, როდესაც FILE_FLAG_POSIX_SEMANTICS
დროშა მითითებულია. Windows XP-ის შემდეგ, ეს ნაგულისხმევი იყო.
Windows ქვესისტემა Linux-ისთვის იყენებს სხვა მექანიზმს, რომელიც თავისთავად გვერდს უვლის ამ რეესტრის კლავიშს, რაც საშუალებას გვაძლევს შევასრულოთ რეგისტრირებული ფაილური სისტემის ოპერაციები. ეს არის ის, რაც WSL-ში გაშვებულ Linux-ის აპლიკაციებს საშუალებას აძლევს გამოიყენონ ფაილების სახელები, რომლებიც განსხვავდება მხოლოდ შემთხვევის მიხედვით, ისევე, როგორც რეალურ Linux-ზე, თუნდაც გლობალური რეესტრის გასაღებების ნაკრებით.
სამწუხაროდ, ეს გიტოვებთ ფაილებს, რომლებზეც წვდომა შეუძლებელია Windows აპლიკაციებით. მიუხედავად იმისა, რომ თქვენ შეგიძლიათ შეცვალოთ გლობალური რეესტრის გასაღები, ის მაინც იმუშავებს მხოლოდ იმ აპლიკაციებისთვის, რომლებიც იყენებენ FILE_FLAG_POSIX_SEMANTICS
, და ეს შეცვლის ყველა ფაილის ქცევას ყველა დისკზე, რომელიც შეიძლება არ იყოს განკუთვნილი და შეიძლება დაარღვიოს ზოგიერთი აპლიკაცია.
თითო დირექტორიაში რეესტრის მგრძნობელობა
ამ პრობლემის გადასაჭრელად, მაიკროსოფტმა დაამატა ახალი რეგისტრირებული დროშა, რომელიც შეიძლება გამოყენებულ იქნას დირექტორიებზე. კატალოგებისთვის, რომლებსაც აქვთ ეს დროშის ნაკრები, ამ დირექტორიაში არსებული ფაილების ყველა ოპერაცია არის რეგისტრის მგრძნობიარე, მიუხედავად იმისა FILE_FLAG_POSIX_SEMANTICS
დაზუსტდა. ეს ნიშნავს, რომ თუ თქვენ გაქვთ ორი ფაილი, რომლებიც განსხვავდებიან მხოლოდ ასოების მიხედვით, დირექტორიაში, რომელიც მონიშნულია, როგორც რეგისტრირებული, ყველა აპლიკაციას შეეძლება მათზე წვდომა.
ჩართეთ რეგისტრის მგრძნობიარე რეჟიმი საქაღალდეებისთვის
ამ ფუნქციის ჩასართავად ან გამორთვისთვის, თქვენ უნდა გამოიყენოთ ჩაშენებული fsutil.exe აპი.
საქაღალდეებისთვის რეგისტრის მგრძნობიარე რეჟიმის გასააქტიურებლად, გააკეთეთ შემდეგი.
- გახსენით ამაღლებული ბრძანების სტრიქონი.
- ჩაწერეთ შემდეგი ბრძანება:
fsutil.exe ფაილის setCaseSensitiveInfo "სრული გზა თქვენს საქაღალდეში" ჩართეთ
შეცვალეთ ბილიკის ნაწილი თქვენი კომპიუტერის შესაბამისი სწორი ბილიკით.
Მაგალითად,fsutil.exe ფაილის setCaseSensitiveInfo "C:\data\Winaero\Linux" ჩართვა
- თქვენ დაასრულეთ.
ახლა თქვენ შეგიძლიათ შექმნათ ორი ფაილი ერთი და იგივე სახელით და მხოლოდ ქეისის სხვაობით. Windows 10 სწორად დაამუშავებს მათ ამ კონკრეტულ საქაღალდეში.
საქაღალდის ფუნქციის სტატუსის სანახავად, გაუშვით ბრძანება
fsutil.exe ფაილი queryCaseSensitiveInfo "სრული გზა თქვენს საქაღალდეში"
Მაგალითად,
fsutil.exe ფაილის queryCaseSensitiveInfo "C:\data\Winaero\Linux"
თქვენ ნახავთ ასეთ რამეს:
ბოლოს და ბოლოს, საქაღალდეებისთვის რეგისტრის მგრძნობიარე რეჟიმის გამორთვა, გაუშვით შემდეგი ბრძანება ბრძანების სტრიქონში, რომელიც გახსნილია ადმინისტრატორის სახით:
fsutil.exe ფაილის setCaseSensitiveInfo "C:\data\Winaero\Linux" გამორთვა
გამოიყენეთ საქაღალდის სწორი გზა და დაასრულეთ.
Შენიშვნა: CaseSensitiveInfo ატრიბუტის გამორთვა ცარიელი საქაღალდეებისთვის არ არის მხარდაჭერილი. გამორთვამდე უნდა წაშალოთ ყველა ფაილი საქაღალდიდან.
Ის არის.