लिनक्स के लिए विंडोज सबसिस्टम में उबंटू फाइल सिस्टम रूट डायरेक्टरी कहां है और इसके विपरीत?

मैंने विंडोज 10 पर उबंटू सबसिस्टम स्थापित किया है (सेटिंग्स में सुविधा को सक्षम करने के बाद), लेकिन ड्राइव में उबंटू फाइल सिस्टम रूट डायरेक्टरी कहां स्थित है?

विंडोज स्टोर से स्थापित उबंटू के लिए:

स्टोर के माध्यम से आपके द्वारा इंस्टॉल किया गया प्रत्येक वितरण उस एप्लिकेशन की ऐपडाटा निर्देशिका में स्थापित है । उदाहरण के लिए: C:\Users\<username>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState - बेनहिलिस

डब्लूएसएल 2 के लिए आप विंडोज (विंडोज 10 बिल्ड 18342) से होम डायरेक्टरी तक पहुंच सकते हैं :

\\wsl$

लिनक्स के लिए विंडोज सबसिस्टम के पहले पुनरावृत्तियों में, उबंटू फाइल सिस्टम था %localappdata%\Lxss (उदा., C:\Users\Username\AppData\Local\Lxss - बदलें उपयोगकर्ता नाम विंडोज पर अपने उपयोगकर्ता नाम के साथ) । देखें फ़ाइल सिस्टम समर्थन पर डब्लूएसएल ब्लॉग पोस्ट:

डब्लूएसएल द्वारा उपयोग की जाने वाली प्राथमिक फाइल सिस्टम वीओएलएफएस है । यह लिनक्स सिस्टम फ़ाइलों, साथ ही अपने लिनक्स घर निर्देशिका की सामग्री की दुकान के लिए प्रयोग किया जाता है । जैसे, वोल्फ लिनक्स वीएफएस द्वारा प्रदान की जाने वाली अधिकांश सुविधाओं का समर्थन करता है, जिसमें लिनक्स अनुमतियां, प्रतीकात्मक लिंक, फीफोस, सॉकेट और डिवाइस फाइलें शामिल हैं ।

वीएफएस का उपयोग वीएफएस रूट निर्देशिका को माउंट करने के लिए किया जाता है %LocalAppData%\lxss\rootfs समर्थन भंडारण के रूप में । इसके अलावा, कुछ अतिरिक्त वोल्फ माउंट पॉइंट मौजूद हैं, विशेष रूप से /root और /home जो उपयोग कर घुड़सवार हैं %LocalAppData%\lxss\root और %LocalAppData%\lxss\home क्रमशः। इन अलग-अलग माउंट का कारण यह है कि जब आप डब्लूएसएल की स्थापना रद्द करते हैं, तो होम निर्देशिकाएं डिफ़ॉल्ट रूप से नहीं हटाई जाती हैं, इसलिए वहां संग्रहीत किसी भी व्यक्तिगत फाइल को संरक्षित किया जाएगा ।

सावधानी

विंडोज ऐप्स और टूल्स का उपयोग करके लिनक्स सबसिस्टम के भीतर किसी भी फाइल को बनाना/संशोधित करना उबंटू सबसिस्टम में डेटा भ्रष्टाचार और डेटा हानि का कारण बन सकता है! (धन्यवाद रिच टर्नर सावधानी के इन शब्दों का सुझाव देने के लिए!) यह बिल्कुल है नहीं समर्थित। उसी ब्लॉग पोस्ट से:

विंडोज के साथ इंटरऑपरेबिलिटी

जबकि ऊपर उल्लिखित निर्देशिकाओं में विंडोज पर नियमित फाइलों में वोल्फ फाइलें संग्रहीत की जाती हैं, विंडोज के साथ इंटरऑपरेबिलिटी समर्थित नहीं है । यदि विंडोज से इन निर्देशिकाओं में से एक में एक नई फ़ाइल जोड़ी जाती है, तो इसमें वीओएलएफएस द्वारा आवश्यक ईएएस की कमी होती है, इसलिए वीओएलएफएस को नहीं पता कि फ़ाइल के साथ क्या करना है और बस इसे अनदेखा करता है । कई संपादक मौजूदा फ़ाइल को सहेजते समय ईएएस को भी छीन लेंगे, फिर से फ़ाइल को डब्ल्यूएसएल में अनुपयोगी बना देंगे ।


आपका विंडोज फाइल सिस्टम यहां स्थित है /mnt/c बैश शेल वातावरण में ।

enter image description here

स्रोत: डस्टिन किर्कलैंड का ब्लॉग, हाउटोगीक

ऐसा लगता है कि बैश मूल रूप से पेश किए जाने के बाद से बदल गया है, और विंडोज स्टोर से वितरण पर लागू नहीं होता है, या शायद यह सभी प्रणालियों के अनुरूप नहीं है क्योंकि मेरी होम निर्देशिका किसी अन्य स्थान पर स्थित है:

%localappdata%\lxss\home\{username}

या:

C:\Users\{user}\AppData\Local\lxss\{username}

जहां {user} क्या आपका विंडोज यूजरनेम है और {username} क्या आपका यूनिक्स उपयोगकर्ता नाम इंस्टॉल के दौरान सेट है ।

तो रूट निर्देशिका होगी:

%localappdata%\lxss

ध्यान दें कि रूट निर्देशिका विंडोज एक्सप्लोरर में दिखाई नहीं दे सकती है %localappdata% निर्देशिका । आपको एक्सप्लोरर के 'एड्रेस बार' में टाइप करके इसे वैसे भी एक्सेस करने में सक्षम होना चाहिए ।

यदि आप एमएस मार्केट से लिनक्स स्थापित करते हैं:

उन्होंने डिस्ट्रोस को नीचे रखा:

$ cat /proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Lxss/\{861c29b4-ebe2-49a5-8a22-7e53a27934a0\}/BasePathC:\Users\user\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState

डिफ़ॉल्ट डिस्ट्रो द्वारा परिभाषित:

bash# cat /proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Lxss/DefaultDistribution{861c29b4-ebe2-49a5-8a22-7e53a27934a0}

लिनक्स रूट गहरा है:

c:/Users/user/AppData/Local/Packages/46932SUSE.openSUSELeap42.2_022rs5jcyhyac/LocalState/rootfs

पुनश्च. मैंने रजिस्ट्री कुंजियों का पता लगाने के लिए साइगविन का उपयोग किया ।

यदि एक ही लक्ष्य के लिए पावरशेल का उपयोग कर रहे हैं, तो आदेश होंगे:

# obtain the value of the ID of the default Linux distribution (and store it in a variable to avoid escaping characters issues):$DEFAULT_LXSS_ID = (Get-ItemPropertyValue -Path REGISTRY::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\ -name DefaultDistribution)# which will have a value like:echo  $DEFAULT_LXSS_ID{bde539d6-0c87-4e12-9599-1dcd623fbf07}# display the directory containing the rootfs Windows directory (mapped to the / Linux directory)Get-ItemPropertyValue -Path REGISTRY::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\$DEFAULT_LXSS_ID -name BasePath | Format-List -property "BasePath"%LocalAppData%\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState

पीपीएस। https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/

आप टाइप करके खोले गए फ़ोल्डर की फ़ाइल एक्सप्लोरर विंडो से जल्दी से बैश खोल सकते हैं bash स्थान पट्टी में ।

यह काफी है ।

इसके अलावा आप एक संदर्भ मेनू आइटम जोड़ सकते हैं । यदि आवश्यक न हो तो मैं व्यक्तिगत रूप से इसकी अनुशंसा नहीं करता, क्योंकि संदर्भ मेनू में शॉर्टकट जोड़ने से अधिक रैम का उपयोग होता है ।

https://www.howtogeek.com/270810/how-to-quickly-launch-a-bash-shell-from-windows-10s-file-explorer/

मेरे लिए काम करने वाली एकमात्र चीज थी %localappdata%\lxss\home\{username}, जहां {username} क्या आपका बैश उपयोगकर्ता नाम आपने स्थापना के दौरान दिया था । किसी कारण से, छिपे हुए फ़ोल्डर के एलएक्सएसएस को दिखाने के बाद प्रकट होने से इंकार कर दिया C:\Users\WINDOWS-USER\AppData\Local\, और पूर्ण भी दे रहा है C:\ विंडोज और बैश उपयोगकर्ता नाम के साथ पथ भी काम नहीं करता है ।

और जो काम करता है उसके लिए कृपया एक डेस्कटॉप शॉर्टकट बनाएं ।

उन लोगों के लिए जो छवि स्थान की तलाश में हैं:सी:\उपयोगकर्ता\[उपयोगकर्ता नाम]\ऐपडाटा\स्थानीय\पैकेज\कैनोनिकलग्रुपलिमिटेड । उबंटुनविंडोज़_79आरएचकेपी1एफएनडीजीएससी \ लोकलस्टेट\एक्सटी4।वीएचडीएक्स

** कृपया ध्यान दें**

हम (डब्लूएसएल टीम) दृढ़ता से अनुशंसा करते हैं कि आप लिनक्स डिस्ट्रो डेटा में स्पेलंक न करें folders
). यदि आप करते हैं, तो डेटा हानि और / या भ्रष्टाचार की बहुत संभावना है

हम इस इंटरऑप परिदृश्य को बेहतर बनाने के लिए काम कर रहे हैं और हमारे ब्लॉग पर किसी भी प्रगति की घोषणा करेंगे: Windows Command Line

यदि आपको विंडोज़ से अपने लिनक्स डिस्ट्रो में फ़ाइलों/फ़ोल्डरों पर अनुमतियों को बदलने की आवश्यकता है, तो `डब्लूएसएल ’ का उपयोग करें । 'डब्ल्यूएसएल चामोड 600 ~ / ।एसएसएच / आईडी* ’ - विंडोज फाइल सिस्टम के माध्यम से इन फ़ोल्डरों में फ़ाइलों को कॉपी न करें ।

@ मेहरदाद डब्लूएसएल एक पी 9 फाइलसर्वर लागू करता है, जो किसी भी पी 9 फाइलसर्वर के रूप में डिस्ट्रो के फाइल सिस्टम से/से फाइलों को उजागर/मार्शलिंग करता है । इस तरह मार्शल के लिए कोई एनटीएफएस मेटाडेटा नहीं है । अधिक जानकारी के लिए कृपया बिल्ड 2919 में क्रेग लोवेन और बेन हिलिस का सत्र देखें

रिचटर्नर मैंने पाया है कि एक बहुत ही विशिष्ट (और कष्टप्रद) कारण है - कॉर्पोरेट नीतियां चिह्नित करती हैं । गलत अनुमतियों के साथ एसएसएच फ़ोल्डर बार-बार कॉर्पोरेट स्क्रिप्ट के लिए संरचना को “ऑफ लिमिट” के रूप में चिह्नित करने की आवश्यकता है । लेकिन आम तौर पर-मैं आपसे सहमत हूं ।

हालांकि यह हाल के अपडेट वाले बॉक्स पर दिखता है - यह अब नहीं होता है ।

रिचटर्नर: आप लोग लिनक्स मेटाडेटा को सुरंग क्यों नहीं बनाते हैं जैसे कि आप पहले से ही एनटीएफएस मेटाडेटा को कैसे सुरंग करते हैं?

@ मेहरदाद हम 1 9 03 में और बाद में नए पी 9 सर्वर के माध्यम से करते हैं ।

@ रिचटर्नर: उत्तर के लिए धन्यवाद! हालांकि मैं उलझन में हूं । … 1903 को इसे नेटवर्क संसाधन के रूप में एक्सेस करने की आवश्यकता है, है ना? यदि आपने विशेषताओं को उसी तरह से सुरंग बनाया है जैसे आपने एनटीएफएस मेटाडेटा को सुरंग बनाया है तो स्थानीय रूप से फ़ाइलों को संपादित करना संभव होगा । यह मुझे बताता है कि आप वास्तव में क्या नहीं कर रहे हैं?

रिचटर्नर: *"इस तरह मार्शल के लिए कोई एनटीएफएस मेटाडेटा नहीं है । "*हाँ । … तो एनटीएफएस टनलिंग *नहीं * है जो आप कर रहे हैं, जो आपने पहले कहा था उसके विरोधाभास में । इसलिए हम अपने पहले प्रश्न पर वापस जाते हैं: क्या आप लोग फाइलसर्वर का उपयोग करने के बजाय डब्ल्यूएसएल मेटाडेटा *सुरंग नहीं बनाते हैं, जैसे एनटीएफएस पहले से ही अन्य मेटाडेटा के साथ करता है?

मेहरदाद मैंने कहां कहा कि हम एनटीएफएस मेटाडेटा को मार्शल कर रहे थे? पी 9 मार्शल फ़ाइल मेटाडेटा (यानी टाइमस्टैम्प, अनुमतियां, फ़ाइल नाम, आदि । ), एनटीएफएस डेटा नहीं ।