দুটি সমাধান এখানে: একটি প্রয়োগ করা দ্রুত, যদিও সমস্যাটি কেবল আংশিকভাবে সমাধান করে, অন্যটি সম্পূর্ণরূপে তবে আপনার নিজের কার্নেলটি সঙ্কলন করতে হবে।
সঠিক উত্তরটি কার্নেল প্যাচ।
রবিন এইচ জনসন এসএটিএ কার্নেল ড্রাইভারের জন্য একটি প্যাচ লিখেছিলেন ( এটি ইউনিক্স / লিনাক্স স্ট্যাক এক্সচেঞ্জ সাইটে সন্ধান করুন ) যা পুরোপুরি ড্রাইভটি আড়াল করে।
আপডেট প্যাচটি এখন আপস্ট্রিমে রয়েছে (কমপক্ষে 3.12.7 স্থিতিশীল কার্নেলের মধ্যে), গিট সংগ্রহস্থলটি দেখুন । আমি উবুন্টু লঞ্চপ্যাডে ব্যাকপোর্টের জন্য জিজ্ঞাসা করেছি ।
একবার প্যাচ ইনস্টল করা হয়, যোগ
libata.force=2.00:disable
কার্নেলের বুট পরামিতিগুলি লিনাক্স কার্নেল থেকে ডিস্কটি আড়াল করবে। নম্বরটি সঠিক কিনা তা ডাবল পরীক্ষা করে দেখুন; ডিভাইসের নাম অনুসন্ধান করতে সহায়তা করতে পারে:
(0)samsung-romano:~% dmesg | grep iSSD
[ 1.493279] ata2.00: ATA-8: SanDisk iSSD P4 8GB, SSD 9.14, max UDMA/133
[ 1.494236] scsi 1:0:0:0: Direct-Access ATA SanDisk iSSD P4 SSD PQ: 0 ANSI: 5
কার্যসংক্রান্ত
ইউনিক্স স্ট্যাকএক্সচেঞ্জ ব্যবহারকারী ইমমানুয়েল https://unix.stackexchange.com/a/103742/52205 এ উত্তর দিয়েছেন
কম্যান্ড জারি করে আপনি কমপক্ষে সাসপেন্ড সমস্যাটি সমাধান করতে পারেন
echo 1 > /sys/block/sdb/device/delete
স্থগিত করার আগে।
এটি স্বয়ংক্রিয় করতে, আমি নিম্নলিখিত ফাইলটি যুক্ত করেছি: (পতাকাগুলি নোট করুন, এটি অবশ্যই কার্যকর হতে হবে)
-rwxr-xr-x 1 root root 204 Dec 6 16:03 99_delete_sdb
ডিরেক্টরিতে /etc/pm/sleep.d/
#!/bin/sh
# Tell grub that resume was successful
case "$1" in
suspend|hibernate)
if [ -d /sys/block/sdb ]; then
echo Deleting device sdb
echo 1 > /sys/block/sdb/device/delete
fi
;;
esac
... এবং এখন সিস্টেমটি সঠিকভাবে স্থগিত করেছে (এবং পুনরায় শুরু করুন)। আমি স্নিপেট যোগ
if [ -d /sys/block/sdb ]; then
echo Deleting device sdb
echo 1 > /sys/block/sdb/device/delete
fi
থেকে /etc/rc.localখুব, ভাল পরিমাপ জন্য।
99_delete_sdbএক্সিকিউটেবল ফাইলটি কোথায় রাখব ? ইন/etc/rc0.d/হয়তো?