जवाबों:
नोट: ब्लैक लिस्ट करना उन मॉड्यूल्स के लिए काम नहीं करेगा, जो कर्नेल इमेज में बने होते हैं (अर्थात एक अलग
.koफाइल के माध्यम से लोड नहीं किए जाते हैं। ऐसे मॉड्यूल्स को डिसेबल करने का एकमात्र तरीका कर्नेल पैरामीटर (यदि उपलब्ध हो) या कर्नेल को फिर से जमा करके होता है।
/etc/modprobe.d/blacklistसिंटैक्स का उपयोग करके अपनी फ़ाइल खोलें और ड्राइवर नाम जोड़ें:
blacklist driver-name
संपादित करें: 12.10 (12.04?) के बाद के संस्करणों में फ़ाइल है /etc/modprobe.d/blacklist.conf
अपने बॉक्स को रिबूट करें और लिनक्स कर्नेल में मॉड्यूल की स्थिति दिखाने के लिए lsmod कमांड का उपयोग करें
नोट : यहाँ driver-nameआपके इच्छित ब्लैकलिस्ट ड्राइवर का नाम है। उदाहरण के लिए, यदि आप एनआईसी कार्ड ड्राइवर को निष्क्रिय करना चाहते हैं, तो आप lspci -vटर्मिनल में कमांड कमांड का उपयोग करके अपने लैन कार्ड के लिए कर्नेल ड्राइवर का नाम पा सकते हैं ।
उदाहरण के लिए मेरा आउटपुट था:
........
........
6: 00.0 ईथरनेट कंट्रोलर: ब्रॉडकॉम कॉरपोरेशन नेटलिंक BCM5906M फास्ट ईथरनेट पीसीआई एक्सप्रेस (संशोधित 02)
सबसिस्टम: लेनोवो डिवाइस 3861
झंडे: बस मास्टर, तेजी से devsel, विलंबता 0, IRQ 46
B8000000 पर मेमोरी (64-बिट, नॉन-प्रीफेटेबल) [आकार = 64K]
[अक्षम] पर विस्तार रोम
क्षमताओं:
उपयोग में कर्नेल चालक: tg3
कर्नेल मॉड्यूल: tg3
........
........
यहाँ, मैं देख रहा हूँ कि ड्राइवर है tg3। इसलिए आपको tg3इसके स्थान पर (या आपके ड्राइवर को) लिखना होगा driver-name।
Lubuntu 12.10), कोई /etc/modprobe.d/blacklistफ़ाइल नहीं है । एक /etc/modprobe.d/blacklist.confफाइल है
blacklist.confफ़ाइल मौजूद की जरूरत नहीं है। आप एक फ़ाइल my-mom-is-awesomeवहाँ रख सकते हैं और यह काम करेगा। यदि आपको कोई विशिष्ट नाम बनाना है, तो किसी विशिष्ट चीज़ को ब्लैकलिस्ट करने के लिए, जैसे blacklist-nouveauभी हो , जो भी हो , उसे पसंद करें ।
जब आप सिंटैक्स के साथ बूट करते हैं तो आप उन्हें ग्रब कमांड लाइन (लिनक्स लाइन) पर अस्थायी रूप से ब्लैकलिस्ट कर सकते हैं
module_to_blacklist.blacklist=yes
i915: unknown parameter 'blacklist' ignored:।
modprobe.blacklist=module_to_blacklist?
modprobe.blacklist=module_to_blacklist( man modprobeविवरण के लिए देखें)
कम से कम Ubuntu 16.04 LTS में मॉड्यूल को ब्लैकलिस्ट करने का दूसरा तरीका कर्नेल कमांड लाइन में निम्न पंक्ति जोड़कर है:
modprobe.blacklist=MODULE_NAME
/ Etc / modprobe सिस्टम का उपयोग करना सबसे अच्छा तरीका है, लेकिन यह एक विकल्प है जिसका उपयोग चुटकी में अपनी GRUB कमांड लाइन को बूट में संपादित करके किया जा सकता है।
इसे संपादन / आदि / डिफ़ॉल्ट / ग्रब द्वारा और GRUB_CMDLINE_LINUX_DEFAULTवैरिएबल में जोड़कर भी स्थायी बनाया जा सकता है । उदाहरण के लिए, मेरे / etc / default / grub में मेरे पास है:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash modprobe.blacklist=nouveau"
फिर मैं दौड़ता हूं update-grub2, फिर update-initramfs -u। रिबूट के बाद, आप मॉड्यूल से मुक्त हो जाएंगे, जब तक कि बूट के बाद कुछ भी इसे लोड न करे।
यह विधि ईएल वेरिएंट (RHEL, CentOS, SciLinux) में भी काम करती है, लेकिन आपको उस डिस्ट्रो के तरीकों का उपयोग ग्रब और इनिटर्ड को अपडेट करने के लिए करना होगा।
(नोव्यू को ब्लैकलिस्ट करने की कोशिश करने वालों पर ध्यान दें: सुनिश्चित करें कि एक्स को चालू करके लोड न करें systemctl set-default multi-user.target, अन्यथा जब एक्स शुरू होता है तो यह फिर से नोव्यू लोड करेगा!)
हाल के रिलीज में, आपको अपनी ब्लैक लिस्ट फ़ाइल में इंस्टॉलेशन निर्देश का उपयोग करने की आवश्यकता है
install modulename /bin/false
मॉड्यूल के नाम के साथ ऊपर "modulename" बदलें। यह जबरन इसकी लोडिंग को रोकेगा।
आप modprobe.conf के लिए मैनुअल में स्थापित निर्देश के बारे में अधिक जानकारी प्राप्त कर सकते हैं
man modprobe.conf
/etc/modprobe/blacklist.conf, मॉड्यूल को अभी भी मैन्युअल रूप से लोड किया जा सकता है modprobe <module_name>। install <module_name> /bin/falseविधि का उपयोग करना इस विफलता को वांछित बनाता है।
इनमें से कोई भी समाधान 16.04 LTS पर i915.ko के लिए काम नहीं किया।
मेरे द्वारा पाया गया (गंदा) समाधान नाम बदलने का था
/lib/modules/4.4.0-22-generic/kernel/drivers/gpu/drm/i915/i915.ko
/usr/lib/xorg/modules/drivers/modesetting_drv.so
/usr/lib/xorg/modules/drivers/intel_drv.so
दुर्भाग्य से, बाहरी वीजीए स्क्रीन को अब मान्यता नहीं मिली है: {
sudo update-initramfs -u/etc/modeprobe.d/ फ़ाइलों को संशोधित करने के बाद है