कुछ मामलों में विंडोज 10, 8.1 और 7 आंतरिक SSD या SATA ड्राइव को रिमूवेबल डिवाइस (मीडिया) के रूप में पहचान सकते हैं। नतीजतन, सिस्टम ट्रे में डिस्क के लिए सेफ रिमूवल आइकन दिखाई देता है (मानो यह एक सामान्य USB फ्लैश ड्राइव हो)।

बेशक, आप उस SATA ड्राइव को इजेक्ट नहीं कर पाएंगे जिस पर विंडोज इंस्टॉल है, लेकिन आप गलती से अतिरिक्त SATA डिस्क को हटा सकते हैं। ऐसे "रिमूवेबल" ड्राइव का एक और नुकसान यह है कि विंडोज 7 और 8.1 में आप इस पर मल्टीपल पार्टीशन नहीं बना सकते (यह केवल विंडोज 10 1703 या नए में संभव है)।
यह समस्या विंडोज में आंतरिक SATA और बाहरी eSATA हार्ड ड्राइव दोनों के लिए कॉमन ड्राइवर के उपयोग से संबंधित है - स्टैंडर्ड SATA AHCI कंट्रोलर। इन ड्राइव्स को कनेक्ट करते समय, ऑपरेटिंग सिस्टम जांचता है कि हॉटप्लग मोड (हॉट ड्राइव रिमूवल) समर्थित है या नहीं। यह फीचर हमेशा समर्थित होता है यदि कंट्रोलर AHCI मोड में काम करता है। सैद्धांतिक रूप से, इस मोड में काम करने वाले SATA ड्राइव को टास्कबार पर सेफली रिमूव हार्डवेयर आइकन में प्रदर्शित किया जाना चाहिए। हालांकि, अधिकांश चिपसेट विक्रेता अपने ड्राइवर्स या अतिरिक्त सॉफ्टवेयर में आंतरिक SATA ड्राइव को स्वचालित रूप से छिपाने की सुविधा को एकीकृत करते हैं।
SATA कंट्रोलर ड्राइवर इंस्टॉल करना
यदि आपका आंतरिक SATA/SSD सेफली रिमूव हार्डवेयर सूची में प्रदर्शित होता है, तो आपको अधिक उपयुक्त कंट्रोलर ड्राइवर इंस्टॉल करने का प्रयास करना चाहिए। अपने मदरबोर्ड या कंप्यूटर निर्माता की वेबसाइट पर हार्ड ड्राइव कंट्रोलर ड्राइवर का नवीनतम संस्करण खोजने का प्रयास करें। अपने मदरबोर्ड चिपसेट के लिए नेटिव ड्राइवर भी इंस्टॉल करें (इंटेल रैपिड, RST और AHCI ड्राइवर, इंटेल मैट्रिक्स स्टोरेज मैनेजर, आदि)।
BIOS में SATA कंट्रोलर सेटिंग्स
कुछ BIOS/UEFI संस्करणों की उन्नत सेटिंग्स में, आप कंट्रोलर के लिए हॉटस्वैप या हॉटप्लग मोड को अक्षम कर सकते हैं। जांचें कि क्या यह सुविधा आपके कंप्यूटर के लिए उपलब्ध है। साथ ही, आप कंट्रोलर मोड को AHCI से IDE में बदल सकते हैं, लेकिन तब आप AHCI के सभी फायदे खो देंगे।
TreatAsInternalPort: रजिस्ट्री के माध्यम से SATA मोड कैसे कॉन्फ़िगर करें?
आप रजिस्ट्री के माध्यम से NVidia कंट्रोलर्स पर आंतरिक ड्राइव के सेफ रिमूवल को अक्षम कर सकते हैं। regedit.exe चलाएं और रजिस्ट्री कुंजी HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvata पर जाएं। DisableRemovable नाम से एक DWORD पैरामीटर बनाएं और मान 1 दें (ध्यान दें कि nvata के बजाय nvatabus रजिस्ट्री कुंजी हो सकती है)।
इसके अलावा, रजिस्ट्री में विशिष्ट कंट्रोलर पोर्ट के लिए "इंटरनल पोर्ट" डिस्क एट्रिब्यूट सेट करने का एक यूनिवर्सल तरीका है।
सबसे पहले, आपको उस कंट्रोलर की बस संख्या का पता लगाना होगा जो आपकी हार्ड ड्राइव का उपयोग करता है। ऐसा करने के लिए, डिवाइस मैनेजर (devmgmt.msc) खोलें, डिस्क ड्राइव की सूची में अपनी ड्राइव ढूंढें और इसके गुण खोलें। अपनी डिस्क की बस संख्या और पोर्ट नंबर (टारगेट ID) याद रखें। मेरे उदाहरण में, बस और पोर्ट नंबर 0 है।

विंडोज 7 में, आप TreatAsInternalPort रजिस्ट्री पैरामीटर का उपयोग करके कंट्रोलर पोर्ट को आंतरिक के रूप में चिह्नित कर सकते हैं। ऐसा करने के लिए, regedit.exe चलाएं और रजिस्ट्री कुंजी HKLM\SYSTEM\CurrentControlSet\Services\msahci\Controller(n)\Channel(N) पर जाएं, जहां (n) उस कंट्रोलर की संख्या है जिसके माध्यम से ड्राइव जुड़ा हुआ है और (N) कंट्रोलर चैनल (पोर्ट) की संख्या है।
इस रजिस्ट्री कुंजी में, TreatAsInternalPort नाम से एक DWORD पैरामीटर बनाएं और मान 1 दें।
यह उन सभी SATA ड्राइव के लिए किया जाना चाहिए जिन्हें आप आंतरिक के रूप में चिह्नित करना चाहते हैं। उदाहरण के लिए, आपके कंप्यूटर में 2 ड्राइव कंट्रोलर हैं। पहले में दो SATA ड्राइव जुड़े हुए हैं, और एक और SATA ड्राइव दूसरे कंट्रोलर से जुड़ा हुआ है। उन्हें आंतरिक ड्राइव के रूप में चिह्नित करने के लिए, ये कमांड चलाएं:
reg add "HKLM\SYSTEM\CurrentControlSet\Services\msahci\Controller0\Channel0" /f /v TreatAsInternalPort /t REG_DWORD /d 0x00000001
reg add "HKLM\SYSTEM\CurrentControlSet\Services\msahci\Controller0\Channel1" /f /v TreatAsInternalPort /t REG_DWORD /d 0x00000001
reg add "HKLM\SYSTEM\CurrentControlSet\Services\msahci\Controller1\Channel0" /f /v TreatAsInternalPort /t REG_DWORD /d 0x00000001
परिवर्तन करने के बाद, आपको कंप्यूटर को पुनरारंभ करने की आवश्यकता है।
कृपया ध्यान दें कि डिस्क को असाइन किए गए नंबर (जो आप डिस्कपार्ट या diskmgmt.msc में देखते हैं) हमेशा SATA या RAID चैनल नंबर से मेल नहीं खाते।
विंडोज 10/8.1 में, MSAHCI के बजाय StorAHCI ड्राइवर का उपयोग किया जाता है, इसलिए रजिस्ट्री में TreatAsInternalPort पैरामीटर का स्थान अलग है। कुंजी HKLM\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device पर जाएं, एक मल्टी-स्ट्रिंग पैरामीटर (REG_MULTI_SZ) TreatAsInternalPort बनाएं और प्रत्येक स्ट्रिंग में अपने SATA कंट्रोलर का पोर्ट नंबर निर्दिष्ट करें जिसे आप आंतरिक के रूप में चिह्नित करना चाहते हैं। उदाहरण के लिए, 0 से 3 तक के सभी ड्राइव को आंतरिक के रूप में चिह्नित करने के लिए, TreatAsInternalPort पैरामीटर का निम्नलिखित मान सेट करें:
0
1
2
3

फिर अपने कंप्यूटर को पुनरारंभ करें और पोर्ट नंबर 0 से 3 वाले सभी SATA/SSD ड्राइव सेफ रिमूवल सूची से छिप जाएंगे और रिमूवेबल के रूप में प्रदर्शित नहीं होंगे।