उबंटू में लिखने की अनुमति के साथ एक विंडोज फ़ोल्डर माउंट करना


17

जाहिरा तौर पर इसका जवाब यहाँ है: /superuser/251537/mount-specific-ntfs-directory-on-linux हालांकि यह अपेक्षा के अनुरूप काम नहीं कर रहा है।

मेरे पास विंडोज 7 और उबंटू 13.04 (12.10 से उन्नत) के साथ एक दोहरी बूट सिस्टम है, और मैं पढ़ना और लिखना दोनों के लिए अपने विंडोज 7 व्यक्तिगत फ़ोल्डरों का उपयोग करना चाहता हूं। मैंने दिए गए लिंक के अनुसार निर्देशों का पालन किया और मेरी /etc/fstabफ़ाइल इस तरह दिखाई देती है:

/dev/sda1 /media/windows ntfs ro,umask=0222,defaults 0 0
/media/windows/Users/MyUser/    /home/myuser/Windows    ntfs-3g rbind,user,umask=0222,defaults 0 0
/media/windows/Users/OtherUser/ /home/otheruser/Windows ntfs-3g rbind,user,umask=0222,defaults 0 0

यह लगभग उम्मीद के मुताबिक काम करता है। मेरा Windows विभाजन /media/windows/केवल-पढ़ने की अनुमति के साथ है और मेरा Windows व्यक्तिगत फ़ोल्डर है ~/Windows। हालाँकि यह व्यक्तिगत फ़ोल्डर भी केवल पढ़ने के लिए है।

ध्यान दें कि मैं इसे एक बहु-सत्र वातावरण में कॉन्फ़िगर कर रहा हूं, इसलिए मुझे अपने सत्र के लिए और अन्य उपयोगकर्ता के सत्र के लिए काम करने की आवश्यकता है। मुझे यह चाहिए कि प्रत्येक उपयोगकर्ता लिनक्स से अपने विंडोज फोल्डर को लिखने और पढ़ने में सक्षम हो सकता है।


क्या कोई तरीका है जिससे मैं पूरे सिस्टम को पुनरारंभ किए बिना कॉन्फ़िगरेशन को बदल और परीक्षण कर सकता हूं। अब तक मैंने umask बदलने की कोशिश की है (0002 तक), बिना किसी सकारात्मक परिणाम के साथ uid और gid पैरामीटर आदि को जोड़ना, लेकिन प्रत्येक परिवर्तन के लिए सिस्टम शटडाउन की आवश्यकता होती है।
कार्लोस यूजेनियो थॉम्पसन पिनज़ोन

मैंने विचार या विभाजन के तहत बढ़ते हुए /root/(जो काम कर रहा है) के लिए 100 बाउंटी को पुरस्कृत किया था । मेरा वर्तमान समाधान फाल्कनर, अज़पा, टोट्टी और यिल्मी द्वारा प्रदान किए गए संकेतों का उपयोग करता है, उनमें से कोई भी मूल प्रश्न में अपेक्षित रूप से काम नहीं कर रहा है (सुरक्षा पर्याप्त नहीं है), लेकिन यह काम कर रहा है (उपयोगकर्ताओं के पास उनके डेटा तक पहुंच है)। इन सभी उल्लिखित उत्तरों को उत्कीर्ण किया गया था।
कार्लोस यूजेनियो थॉम्पसन पिनज़ोन

जवाबों:


6

उपरोक्त लिंक किया गया सुपर यूजर प्रश्न केवल रीडिंग मोड में बढ़ते विभाजन और उप निर्देशिका के लिए है। पढ़ने-लिखने के लिए आपको केवल उप-निर्देशिका (व्यक्तिगत फ़ोल्डर) की आवश्यकता होती है।

पहले चेक करें कि आपका सिस्टम रीड-राइट मोड में ntfs पार्टीशन को माउंट कर सकता है

mount -t ntfs-3g  -o rw /dev/sda1 /media/windows

अब परीक्षण करें कि आरोहित एफएस क्या है? यदि यहां नहीं रुकते हैं और इस साइट में एक और सवाल पूछते हैं।

समस्या यह है कि आरओ माउंटेड विभाजन की उप-निर्देशिका आरडब्ल्यू में नहीं हो सकती है। तो समाधान आरडब्ल्यू में एक छिपे हुए और दुर्गम स्थान पर खिड़कियों के विभाजन को माउंट है। तो चलिए इसे माउंट / रूट / जीतते हैं जो गैर-रूट उपयोगकर्ताओं (बिना sudo) के दुर्गम है

एक रूट उपयोगकर्ता के रूप में निम्न
चरणों का पालन ​​करते हैं
। आरडब्ल्यू में विंडो विभाजन को माउंट करें

mount -t ntfs-3g -o rw /dev/sda1 /root/win  

2. बाँधो

mount --bind /root/win/Users/MyUser/  /home/myuser/Windows  

3. विंडो विभाजन के केवल पढ़ने के एक उदाहरण को बांधें

mount --bind /root/win /media/windows  
mount -o remount,ro /media/windows

अब सब कुछ ठीक होना चाहिए। इसके अतिरिक्त आप विंडो विभाजन को अनमाउंट कर सकते हैं लेकिन मैं आपको कुछ सिस्टम में चेतावनी देता हूं कि यह बाइंडेड (@home) को दुर्गम बना देगा। कोड हैumount /root/win

वैकल्पिक रूप से आप RW / / windows (/ रूट / जीत के बजाय) पर RW में विंडो विभाजन को माउंट कर सकते हैं और इसे तुरंत उसी माउंट पॉइंट (/ मीडिया / विंडो) पर माउंट कर सकते हैं ताकि कोई (यहां तक ​​कि रूट) पर न लिख सके विभाजन (लेकिन उपयोगकर्ता फ़ोल्डर पर)।


क्या यह काम करता है ? क्या समस्या है?
टोटी

पहला भाग, बढ़ते rw in / media / windows काम करने लगता है, हालांकि यह w अनुमतियों की सूचना नहीं देता है जो मैं वास्तव में फ़ाइलों को छू और संपादित कर सकता हूं।
कार्लोस यूजेनियो थॉम्पसन पिनज़ोन

जब रिमाउंटिंग में मुझे निम्नलिखित त्रुटि मिलती है:Remounting is not supported at present. You have to umount volume and then mount it once again.
कार्लोस यूजेनियो थॉम्पसन पिनज़ोन

मुझे लगता है कि यह आपके सिस्टम की समस्या है। मैंने इसे ubuntu 12.10 में सफलतापूर्वक परीक्षण किया है। मैं ubuntu 10.04 में भी ऐसी त्रुटि नहीं देखता। आप इसे लाइव सिस्टम में आज़मा सकते हैं (जैसा कि आपको लगता था कि OS अपडेट किया गया है)।
totti

धन्यवाद +1, मेरे लिए भी, एक सुंदर समाधान और एक बहुत स्पष्ट स्पष्टीकरण के लिए। मैं विशेष रूप से उपयोगकर्ता फ़ोल्डर को माउंट करने के लिए चाल पसंद करता हूं ताकि एक (यहां तक ​​कि रूट) उपयोगकर्ता फ़ोल्डर के अलावा अन्य पर लिख सके। यह वास्तव में विंडोज 8.1 उदाहरण के अलावा कोई ओएस उदाहरण नहीं है, जो सिस्टम फ़ाइलों से संबंधित है, उन सिस्टम फाइलों तक पहुंचने वाले किसी भी व्यवसाय का सबसे अच्छा समाधान है। साझा डेटा, हालांकि, एक अलग कहानी है।
बिल द एप

5

मुझे संदेह है कि जुड़ा हुआ सुपरसुअर उत्तर एक काम कर रहा है। (हालांकि मैं इसे आज़मा नहीं सकता।) इससे man mount:

ध्यान दें कि फाइलसिस्टम माउंट विकल्प मूल आरोह बिंदु पर ही बने रहेंगे, और -bind / - rbind के साथ -o विकल्प पास करके नहीं बदले जा सकते हैं। उदाहरण के लिए, माउंट विकल्पों को एक अलग रिमाउंट कमांड द्वारा बदला जा सकता है:

mount --bind olddir newdir
mount -o remount,ro newdir

मुझे यह भी संदेह है कि यह --rbindएक अलग फ़ाइल सिस्टम ड्राइवर (ntfs बनाम ntfs-3G) के साथ फ़ाइल सिस्टम के एक भाग के लिए संभव है ।

जब आप rbindमाउंट कमांड हर विकल्प को नजरअंदाज कर देते हैं, तो कुछ भी पढ़ा-लिखा नहीं होगा। और क्योंकि कर्नेल एनटीएफएस ड्राइवर लिखने का समर्थन नहीं करता है, जाहिर है कि rwविकल्प उस एक के साथ भी मदद नहीं करेगा। Ntfs-3G ड्राइवर का उपयोग करें।

मूल रूप से आपको क्या करना चाहिए (एक टर्मिनल में):

mount -t ntfs-3g -o ro /dev/sda1 /media/windows
mount --bind /media/windows/Users/MyUser/    /home/myuser/Windows
mount -o remount,rw /home/myuser/Windows

(मुझे लगता है कि --rbindयह भी अनावश्यक है, --bindपर्याप्त होना चाहिए।)

और प्रश्न के तहत टिप्पणी के बारे में: बेशक आपको परीक्षण के लिए सिस्टम को पुनरारंभ करने की आवश्यकता नहीं है, बस mountकमांड का उपयोग करें जैसा कि मैंने ऊपर किया था। (और umountकमांड के साथ अनमाउंट करें ।)

आपके द्वारा पुष्टि किए जाने के बाद कि यह उद्देश्य के अनुसार काम करता है, आप बस माउंट को संशोधित करते हैं और अपने इच्छित विकल्प जोड़ते हैं: uid, gid, umask, आदि।


ठीक है, मैं परीक्षण का उपयोग कर सकता हूं mount, हालांकि जब मैं काम करने वाला कॉन्फ़िगरेशन ढूंढता हूं, तो मैं इसे स्वचालित रूप से /etc/fstabया किसी अन्य माध्यम से करना चाहूंगा। (ओबी क्वेश्चन के साथ: मैं mountकमांड्स को fstabपैरामीटर्स में कैसे ट्रांसलेट करूं ?)
कार्लोस यूजेनियो थॉम्पसन पिनज़ोन

@ CarlosEugenioThompsonPinzón fstabकेवल एक फाइल है जिसे mountस्टार्टअप पर कमांड द्वारा क्रमिक रूप से पार्स किया जाता है । लेकिन मुझे लगता है कि उबंटू उपयोग नहीं करता है , mountलेकिन mountallस्टार्टअप पर, जो क्रमिक रूप से fstab में कमांड नहीं चला सकता है। तो हाँ, ये कमांड पैरामीटर बस fstabकाम नहीं कर सकते हैं। लेकिन आप हमेशा एक स्टार्टअप स्क्रिप्ट (जैसे /etc/rc.local) में काम कर रहे माउंट कमांड को बस डाल सकते हैं या उन लोगों से ऊपर का काम कर सकते हैं। आपके मामले में अधिक महत्वपूर्ण बात यह है कि एक कार्य माउंट योजना का पता लगाना, यह स्टार्टअप पर स्वचालित बनाना एक आसान काम है।
बाज़

@ CarlosEugenioThompsonPinzón उफ़ मैं आखिरी टिप्पणी करने से चूक गया। तो माउंट कमांड fstab में कैसे अनुवाद करता है? आप इसे यहाँman mount या यहाँ देख सकते हैं । लघु कहानी: पहला फ़ील्ड: डिवाइस टू माउंट, दूसरा फ़ील्ड: माउंट पॉइंट, तीसरा फ़ील्ड: एफएस-टाइप (अधिक सटीक रूप से एफएस ड्राइवर), चौथा फ़ील्ड: माउंट विकल्प, दूसरा फ़ील्ड अब कम आयात है। तो माउंट कमांड को लिखें जो स्ट्रिंग हमने लिखा -tथा वह तीसरे फ़ील्ड में जाता है, हमने जो स्ट्रिंग लिखा था -oवह चौथे फ़ील्ड में जाता है।
बाज़

3

देखें कि क्या इससे मदद मिलती है ...

यदि sda1यह पहले से ही माउंट है /media/windows, तो आप इसे अनमाउंट कर सकते हैं:

sudo umount /media/windows

अगला निर्देशिका बनाने windowsमें /media/:

sudo mkdir /media/windows

/etc/fstabनीचे संपादित करें :

/dev/sda1  /media/windows ntfs-3g  rw,nodev,noexec,auto,nouser,async,locale=en_US.utf8,uid=1000,gid=1000,umask=0002 0 0

/media/windows/Users/MyUser/  /home/myuser/Windows  ntfs-3g rbind,user,rw,nodev,noexec,auto,async,uid=1000,gid=1000,umask=0002 0 0

/media/windows/Users/OtherUser/  /home/otheruser/Windows  rbind,user,rw,nodev,noexec,auto,async,uid=1001,gid=1001,umask=0002 0 0

( नोट : उपयोगकर्ता के लिए यूआईडी और जीआईडी मान बदलें । उपयोगकर्ता के यूआईडी और जीआईडी ​​प्राप्त करने के लिए आप कमांड id -u usernameऔर id -g usernameसम्मान का उपयोग कर सकते हैं ।)

अब आप इन्हें कमांड के साथ माउंट कर सकते हैं:

sudo mount -a

अब विद्रोही निर्देशिकाओं पर जाएं और देखें कि क्या आप फ़ाइल को संपादित कर सकते हैं। और आपको किया जाना चाहिए।


ठीक है, मेरे पास rw अनुमतियाँ हैं /media/windows(रिपोर्ट नहीं की गई है ls, लेकिन मैं फ़ाइलों को संपादित कर सकता हूं) रूट के रूप में, हालांकि स्थानीय निर्देशिकाओं में मुझे sudoफ़ाइलों को संशोधित करने की आवश्यकता है।
कार्लोस यूजेनियो थॉम्पसन पिनज़ोन

... और अब सभी के लिए माउंट निर्देशिका मेरे लिए (1000 उपयोगकर्ता), से संबंधित हैं /media/windowsकरने के लिए /home/someotheruser/Windows
कार्लोस यूजेनियो थॉम्पसन पिनज़ोन

मुझे लगता है कि अब आप और अन्य उपयोगकर्ता सम्मान में काम कर सकते हैं और बचा सकते हैं। उपयोगकर्ताओं के $ HOME में माउंट-पॉइंट ... यदि बाकी उपयोगकर्ताओं के पास अभी भी RW एक्सेस नहीं हो पा रहा है, तो उन्हें अपने समूह में जोड़ें (संभवतः gid 1000 के साथ)
सटीक

वर्तमान में मेरे पास एक समूह है जिसमें सभी स्थानीय उपयोगकर्ता जुड़े हुए हैं, और मैं उस समूह को लेखन अनुमति प्रदान कर रहा हूं। यह "प्रत्येक उपयोगकर्ता के पास अपने स्वयं के डेटा तक पहुंच है" लेकिन पूरे विभाजन और अन्य उपयोगकर्ता के डेटा की सुरक्षा नहीं है।
कार्लोस यूजेनियो थॉम्पसन पिनज़ोन

3

अपने fstab कॉन्फ़िगरेशन फ़ाइल को संपादित करने से पहले अपने सभी परीक्षण करें।

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

इसके अलावा, यदि आरडब्ल्यू में बढ़ते हुए अभी भी विफल हो रहे हैं, तो आपको अलग-अलग माउंट प्रकार के विकल्प जैसे कि sudo mount -t ntfsया के साथ माउंट करने का प्रयास करना चाहिएsudo mount -t ntfs-3g

एक बार आरएस में आरडब्ल्यू लगाए जाने के बाद आप निम्नलिखित कार्य कर सकते हैं:

mount --bind /media/MOUNTPOINT/TARGETFOLDER /home/SHAREDDIRECTORY/ mount -o remount,ro /home/SHAREDDIRECTORY/

या

sudo gksu nautilusया sudo gksu dolphinsu अधिकारों के साथ एक एक्सप्लोरर खोलने के लिए


के लिए धन्यवाद chkdsk। NTFS विभाजन में वास्तव में कुछ भ्रष्टाचार थे, और अब मैं माउंटेड ड्राइव के साथ लिख सकता हूं sudo
कार्लोस यूजेनियो थॉम्पसन पिनज़ोन

2

इसे पढ़ने और लिखने की विशेषता के साथ माउंट करने की कोशिश क्यों नहीं की जा रही है rw :?

/ dev / sda1 / media / windows ntfs rw , umask = 0222, चूक 0 0


मैं जाँच करूँगा, हालाँकि मेरा पूरा विभाजन केवल पढ़ने-लिखने के लिए केवल और केवल कुछ विशिष्ट फ़ोल्डर में होगा।
कार्लोस यूजेनियो थॉम्पसन पिनज़ोन

काम नहीं किया। विभाजन और फ़ोल्डर दोनों अभी भी केवल-पढ़ने के लिए हैं। अंतर केवल इतना है कि चामॉड और चाउन केवल पढ़ने में त्रुटि की रिपोर्ट करने में विफल नहीं होते हैं: वे सिर्फ काम नहीं करते हैं।
कार्लोस यूजेनियो थॉम्पसन पिनज़ोन

2

हालाँकि, मुझे यकीन नहीं है, क्या आप इसे आज़मा सकते हैं। ड्राइव माउंट होने के बाद, टर्मिनल पर निम्न कमांड दें

sudo gksu nautilus

अपना प्रशासनिक पासवर्ड दर्ज करें और खुलने वाली चित्रमय विंडो में, आपको ड्राइव पर क्लिक करने और पढ़ने / लिखने की अनुमति बदलने में सक्षम होना चाहिए।

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


यह फ़ाइलों तक पहुंच की अनुमति देगा और उन्हें भी कॉपी किया जा सकता है, लेकिन रीड-ओनली परमिशन में बदलाव नहीं किया जा सकता है, क्योंकि नॉन-यूनिक्स फाइल सिस्टम केवल पढ़ने के लिए मुहिम शुरू की जाती है ...
Wilf

1

मैं sudo chmod.666 ~ / Windows का उपयोग करने की सलाह दूंगा

https://help.ubuntu.com/community/FilePermissions


1
मैं न तो अनुमति या मालिक (यहां तक ​​कि sudo) को बदल सकता हूं । यह यह कहते हुए आदेश को अस्वीकार करता है कि सिस्टम केवल-पढ़ने के लिए है। वह भी नहीं /media/windows/जिसमें पूरा विभाजन है (और जो अपेक्षित व्यवहार नहीं होगा)
कार्लोस यूजेनियो थॉम्पसन पिनज़ोन

मैं शायद गलत हूं, लेकिन कभी-कभी sudo के पास रूट नहीं होने की अनुमति नहीं होती है।
सूडो

0

विंडोज़ को पढ़ने-लिखने के रूप में माउंट करने का सबसे आसान तरीका यह है कि इसे केवल रिबूट करें या पूर्ण शट डाउन करें। NTFS विभाजन हाइबरनेट करता है जब "फास्ट शट डाउन" का उपयोग किया जाता है। यह सिद्धांत इस लिंक पर अधिक विवरण में कवर किया गया है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.