मेरे पास एक ड्राइव (एसडी कार्ड) है जिसमें कुछ अतिरिक्त 4 विभाजन हैं, लेकिन कुछ असंबद्ध स्थान भी हैं। fstrim
उपयोगिता केवल एक फाइल सिस्टम के भीतर काम कर सकते हैं। इससे पहले कि मैं पहिए को फिर से लगाऊं और एक लिखूं, क्या कोई और उपयोगिता है जो असंबद्ध स्थान को TRIM कर सकती है (या जो TRIM को स्पष्ट रूप से निर्दिष्ट सीमा दे सकती है)?
मैं यह सत्यापित कर सकता हूं कि डिवाइस पर मौजूद अधिकांश असंबद्ध स्थान को वर्तमान में नियंत्रक द्वारा मुक्त होने के लिए नहीं जाना जाता है, जैसा कि मैंने देखा है कि इस विशेष कार्ड पर, छंटनी की गई स्पेस रिटर्न 0 की पढ़ता है, लेकिन डिवाइस का एक स्कैन दिखाता है बहुत सारा कचरा डेटा बचा है।
संपादित करें: मैं एक समस्या का उपयोग कर रहा हूं hdparm
। नीचे दिए गए उदाहरण में पहले क्षेत्र को शामिल किया गया है, लेकिन मैं उसी सीमा के परिणाम के बारे में देख रहा हूं जो मेरे द्वारा निर्दिष्ट की गई है। fstrim
डिवाइस पर कोई समस्या नहीं है:
root@ubuntu:~# hdparm --please-destroy-my-drive --trim-sector-ranges 0:1 --verbose /dev/mmcblk0
/dev/mmcblk0:
trimming 1 sectors from 1 ranges
outgoing cdb: 85 0d 06 00 01 00 01 00 00 00 00 00 00 40 06 00
outgoing_data:
00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ioctl(fd,SG_IO): Invalid argument
FAILED: Invalid argument
मैं आगे की जांच कर रहा हूं, लेकिन क्या किसी के पास कोई अंतर्दृष्टि है?
blkdiscard
मेरे मानक पैकेज रिपॉजिटरी (Ubuntu 12.04 में मौजूद नहीं है, ऐसा प्रतीत नहीं होता है util-linux
)।
hdparm
किसी कारण से मेरे लिए काम करने में सक्षम नहीं था , लेकिन मैंने github.com/karelzak/util-linux/tree/stable/v2.23 से उपयोग- लिनेक्स स्रोत पकड़ा , इसे बनाया ( ./autogen.sh ; ./configure ; make blkdiscard
) और यह बहुत अच्छा काम कर रहा था। इसके बारे में अभी भी रहस्यमय है, hdparm
लेकिन blkdiscard
जैसा मैं चाहता हूं वैसा ही करता है। बोनस: पहले एक अस्थायी फाइल सिस्टम बनाने की कोई आवश्यकता नहीं है, आप sfdisk -l
विभाजन के बीच की जगह का पता लगाने और इसे blkdiscard
ट्रिम करने के लिए उपयोग कर सकते हैं ।
blkdiscard
ऑफसेट / लंबाई विकल्पों के साथ काम करने में सक्षम होने के बारे में भी नहीं जानता था । इसलिए मेरे द्वारा सुझाए गए अस्थायी विभाजन भी आवश्यक नहीं हैं। अच्छा!
blkdiscard
उन पर उपयोग कर सकते हैं जो पूरे डिवाइस को ट्रिम करता है।