USB अंगूठे ड्राइव का वास्तविक आकार जांचें


28

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

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

अद्यतन: बस स्पष्ट होने के लिए, विचार यह सत्यापित करने के लिए है कि नियंत्रक द्वारा बताया गया आकार लाइनक्स सिस्टम सही है ( इसलिए कोई डेटा नहीं खो जाएगा )। ऐसा नहीं है कि मैं यह देखना चाहता हूं कि क्या मुझे 127.3 जीबी के बजाय 128 जीबी मिलेगा। मैं परीक्षण करना चाहता हूं कि क्या मेरे द्वारा लिखे गए सभी डेटा फिर से पढ़ने योग्य होंगे। दुर्भाग्य से मैं अंग्रेजी तकनीक साइटों पर इसके बारे में कुछ ही जानकारी पा सकता हूं। हालांकि, जर्मन के अच्छे स्रोत हैं। मैं वास्तव में उन जैसे किसी एप्लिकेशन को खोज रहा हूं, लेकिन उबंटू / लिनक्स के लिए: https://www.raymond.cc/blog/test-and-detect-fake-or-counterfeit-usb-flash-drives-bought-from -ebay-साथ-H2testw /

अपडेट 2: मैंने अंग्रेजी के कुछ स्रोतों को एक साथ लाने की कोशिश की। गुम समय होने के कारण मैंने उन सभी को विस्तार से नहीं पढ़ा।

अपडेट 3: स्पष्टीकरण

नीचे अजीब आलोचकों के कारण, कुछ स्पष्टीकरण।

समस्या क्या है और अकेले dd इसे हल क्यों नहीं करता है?

यह एक प्रतिक्रिया है

"स्पष्ट रूप से पता करें कि आप किस समस्या को हल करने की कोशिश कर रहे हैं और" नकली ड्राइव "की परिभाषा क्या है।"

ऐसा लगता है कि कुछ लोग समस्या को नहीं समझते हैं। इसलिए मैं इसे संक्षेप में समझाने की कोशिश करता हूं जितना मैं विवरण में कर सकता हूं, हालांकि मुझे लगता है कि यह मेरे प्रश्न का विस्तार करने के लिए बहुत है।

आपके ऑपरेटिंग सिस्टम या यूनिक्स टूल्स की usb डिवाइसेस की क्षमता आपको गलत साबित कर सकती है। यह घातक है, क्योंकि आपका ओएस नियंत्रित करता है कि आप उसे कितना डेटा भेज सकते हैं। इससे अधिक डेटा भेजें, यह वास्तव में धारण कर सकता है, आपको डेटा हानि होगी। यह एक समस्या है। तो, ऐसा क्यों हो सकता है?

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

इसका क्या मतलब है? आपके यूनिक्स उपकरण जो भी आपको ड्राइव की क्षमता के बारे में बताते हैं: यह वही है जो उपकरण ने ड्राइव से पूछा है, इससे ज्यादा कुछ नहीं। यह वही है जो h2testw के लिए आविष्कार किया गया था: यह बाद में बताई गई विधि के साथ वास्तविक आकार का परीक्षण करता है, और इसकी तुलना ड्राइव से कहता है। यदि यह समान नहीं है, तो आपको डेटा हानि हो सकती है, क्योंकि डेटा को संग्रहीत करने के लिए आपके सभी सामान्य ऑपरेशन, आपके ऑपरेटिंग सिस्टम की जानकारी पर भरोसा करते हैं, जो बस नियंत्रक से पूछता है। सिर्फ पूछते क्यों हो? परीक्षण के लिए समय चाहिए और ड्राइव के सभी डेटा को अधिलेखित करें। इसलिए यह स्वाभाविक है कि एक ऑपरेटिंग सिस्टम को इस जानकारी पर भरोसा करने की आवश्यकता है।

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

लेकिन क्यों, जब आप चीजों को स्वचालित कर सकते हैं? काम करने के लिए क्यों? f3 जैसा कि मेरे जवाब में नीचे प्रस्तावित है, कई योगदानकर्ताओं के विचारों के टन को लागू करता है (विचार करें कि यह विस्तारित h2testw है) और यह अलग-अलग ट्रेड-ऑफ के साथ कई तरीकों को भी लागू करता है। डेवलपर पता लगा विभिन्न नकली ड्राइव की चाल (उर्फ नकली ड्राइव) वे था हाथ में । इसलिए, जब मैं सिद्धांत और समस्या को समझता हूं (प्रतीत होता है कि चूंकि समस्याओं को अच्छी तरह से जर्मन तकनीक मीडिया में समझाया गया है, लेकिन अंग्रेजी बोलने वाले मीडिया में नहीं), तो मैं सब कुछ समझने का नाटक नहीं करता, यही कारण है कि मैंने इसे ऊपर उल्लेख किया है। यह सिर्फ वह सिद्धांत है जिसे मैं समझता हूं, और मैं एक सॉफ्टवेयर आदमी के अधिक हूं। लेकिन सूचना विज्ञान के एक छात्र के रूप में मैं इस समस्या को देखने के लिए पर्याप्त रूप से समझता हूं।

"बुनियादी यूनिक्स उपयोगिताओं को समझने की कोशिश करें"

वास्तव में मैंने इसका उत्तर पहले ही दे दिया था, लेकिन यह स्पष्ट करने के लिए: यूनिक्स उपकरण केवल जानकारी जुटाने के लिए यूएसबी-प्रोटोकॉल (केवल यूएसबी-डिवाइस के लिए) का उपयोग करते हैं। इससे ज्यादा करने का कोई मतलब नहीं है।

क्या यह केवल भरोसेमंद आपूर्तिकर्ताओं से खरीदने में मदद करता है?

tl; dr: यह नहीं है।

"जब सामान खरीदने की बात आती है, तो जैसे वह सुरक्षा के किसी भी रूप में आता है, एक विश्वसनीय विक्रेता खोजने पर विचार करें और उनसे केवल ड्राइव खरीदें।"

सुरक्षा (और सुरक्षा) विश्वास के बारे में नहीं है! यह सत्यापन और सत्यापन के बारे में है! क्षमा करें लेकिन यह इतने तरीकों से गलत है।

आप एक विश्वसनीय विक्रेता के माध्यम से खरीदते हैं। कुछ प्रश्न:

  1. क्या आपूर्तिकर्ता ने हार्डवेयर का परीक्षण यह सुनिश्चित करने के लिए किया है कि कोई डेटा हानि न हो? क्या वह पहचानता है जब वह नकली ड्राइव खरीदता है और उन्हें बेचता है? जरुरी नहीं।

  2. क्या यह संभव है कि वह सामान खरीदता है जिसे वह नहीं जानता कि वह नकली है? पूरी तरह से, हाल के ryzen फेक को देखें : https://www.pcgamer.com/beware-of-fake-ryzen-processors-selling-on-amazon/ , https://www.heise.de/newsticker/mungung/ Direkt-वॉन-अमेज़न-Faelschungen-वॉन-AMDs-Ryzen-Prozessoren-im-Umlauf-3772757.html

  3. यदि मैं ड्राइव में अपनी प्रस्तुति को ढीला कर देता हूं और प्रस्तुति को खराब कर देता हूं, तो क्या मेरा विश्वसनीय आपूर्तिकर्ता समय पर वापस जाएगा और मुझे बचाएगा? यह संभवतः ड्राइव की जगह लेगा, क्योंकि 1885 में अंतिम बार यात्रा करने वाले डैलोरियन को नष्ट कर दिया गया था।

अन्य सामान

"यह प्रश्न वास्तव में ओपी के लिए" प्रोमो "जैसा प्रतीत होता है, और ऐसा लगता है कि ओपी वास्तव में ड्राइव का परीक्षण करने में बहुत कम रुचि रखते हैं।"

यह मज़ाकीय है। मैं विशेष रूप से h2testw के समान टूल की खोज कर रहा था जो कि linux पर भी चलता है। और हाँ, यह वही है जो मुझे "पसंद है", सहायक उत्तर, इसलिए क्षमा करें। मुझे नहीं पता था कि अंग्रेजी बोलने वाले प्रेस को इस तरह के मुद्दों के बारे में पता नहीं है और बाद में ऐसा कुछ पाने के लिए भाग्यशाली था। यह प्रोमो नहीं है, लेकिन वास्तव में ऐसा लगता है कि आप एक का उपयोग कर सकते हैं।


2
इसका परीक्षण करने के लिए बहुत कुछ नहीं है, जो कंप्यूटर उपलब्ध है, उसके द्वारा जाना या df --block-size=M। 4GB सीमा का सुझाव है कि FAT32 फ़ाइल आकार सीमा, ड्राइव क्षमता नहीं है। आपको बताई गई पूरी क्षमता कभी नहीं मिलेगी, यह इसे वर्गीकृत करने के लिए औसत है।
सर_सोफ़रफ़ॉफ़

6
कंप्यूटर जो कहता है, वह उपलब्ध है, जो कि usb ड्राइव के कंट्रोलर द्वारा बताया गया है। नकली ड्राइव पड़े हैं। अगर इसमें 4GB की क्षमता है लेकिन 512GB होने का दावा करता है, तो जो मैं लिखता हूं उसे फेंक दिया जाएगा या पुराने स्थान को अधिलेखित कर दिया जाएगा, जो कि नियंत्रक पर निर्भर करता है। इसलिए वास्तव में इसका परीक्षण करने का एक बिंदु है।
verpfeilt

यह दिलचस्प है। विचार कभी भी मेरे लिए SSD के आकार को जालसाजी के बारे में नहीं हुआ, लेकिन मुझे यह विचार पसंद है कि कैसे वे डेटा लिखते हैं और स्थिरता के लिए जाँच करने के लिए इसे बाइट द्वारा वापस पढ़ते हैं। मैं देख सकता हूं कि यह एक मुद्दा कैसे हो सकता है और इस तरह का एक उपकरण उपयोगी हो सकता है।

1
FakeFlashCheck में क्विक स्कैन भी है क्या इसके लिए कोई OSALT है?
neverMind9

पुनश्च: मैं पहले से ही f3probe मिल गया है। मेरी टिप्पणी नीचे देखें।
neverMind9

जवाबों:


33

f3 - फाइट फ्लैश फ्रॉड

केवल एक ही विकल्प मुझे मिला है, लेकिन मुझे लगता है कि यह h2testwएमएस विंडोज के लिए मूल उपकरण से भी बेहतर है । सौभाग्य से, कमांड लाइन से भी, इसका उपयोग करना वास्तव में आसान है। हालांकि, GUI उपलब्ध हैं। उपकरण वेबसाइट पर नकली ड्राइव के कार्यान्वयन और समस्या के बारे में बहुत सारी जानकारी है।

f3 प्रस्ताव दो तरीके:

  • f3probe विधि: बहुत तेज
  • h2testw विधि: धीमी। आर / डब्ल्यू प्रदर्शन का भी परीक्षण करें। शायद अधिक विश्वसनीय।

F3probe विधि (पुनः शामिल)

f3probeड्राइव का परीक्षण करने का एक तरीका है, उतने सटीक नहीं, लेकिन तेज़ हैं क्योंकि यह पूरी ड्राइव पर नहीं लिखता है। आप टूल वेबसाइट पर इसके बारे में अधिक पढ़ सकते हैं। यदि आप 100% सुनिश्चित होना चाहते हैं, तो h2testw विधि का बेहतर उपयोग करें। जैसा कि डेवलपर वेबसाइट पर वर्णन करता है:

f3probe नकली ड्राइव और उनके वास्तविक आकार की पहचान करने का सबसे तेज़ तरीका है।

तथा:

अंत में, f3probe को मुफ्त सॉफ्टवेयर होने के लिए धन्यवाद, और एक बार f3probe लड़ाई साबित हो जाने के बाद, f3probe को स्मार्टफोन, कैमरा, एमपी 3 प्लेयर और अन्य उपकरणों पर एक बार और नकली फ्लैश के प्रसार के लिए रोक दिया जा सकता है।

वेबसाइट पर एक उपयोग उदाहरण भी है:

चेतावनी : यह आपकी डिस्क पर किसी भी पहले संग्रहीत डेटा को नष्ट कर देगा!

$ sudo f3probe --destructive --time-ops /dev/sdb
[sudo] password for michel: 
F3 probe 6.0
Copyright (C) 2010 Digirati Internet LTDA.
This is free software; see the source for copying conditions.

WARNING: Probing may **demolish data,** so it is more suitable for flash drives out of the box, without files being stored yet. The process normally takes from a few seconds to 15 minutes, but
         it can take longer. Please be patient. 

Bad news: The device `/dev/sdb' is a counterfeit of type limbo

You can "fix" this device using the following command:
f3fix --last-sec=16477878 /dev/sdb

Device geometry:
             *Usable* size: 7.86 GB (16477879 blocks)
            Announced size: 15.33 GB (32155648 blocks)
                    Module: 16.00 GB (2^34 Bytes)
    Approximate cache size: 0.00 Byte (0 blocks), need-reset=yes
       Physical block size: 512.00 Byte (2^9 Bytes)

Probe time: 1'13"
 Operation: total time / count = avg time
      Read: 472.1ms / 4198 = 112us
     Write: 55.48s / 2158 = 25.7ms
     Reset: 17.88s / 14 = 1.27s

ध्यान दें कि यह एक कमांड भी देता है जो आपको ड्राइव को वास्तविक आकार के साथ उपयोग करने में सक्षम बनाता है f3fix

F3fix उपकरण

f3fix एक विभाजन बनाता है जो नकली ड्राइव के वास्तविक आकार को फिट करता है। f3probeI3fix के मापदंडों को निर्धारित करने के लिए आउटपुट का उपयोग करें

sudo f3fix --last-sec=16477878 /dev/sdb

H3testw विधि / परीक्षण प्रदर्शन f3read / f3write के साथ

F3 टूल का एक संग्रह है जो नकली फ्लैश ड्राइव से निपटता है। उनमें से दो एक साथ लागू h2testw-Method:

f3write [--start-at=NUM] [--end-at=NUM] <PATH>
f3read  [--start-at=NUM] [--end-at=NUM] <PATH>

f3writeदावा किए गए उपकरणों के लिए पूछेंगे और प्रत्येक 1gb के आकार के साथ उत्पन्न फ़ाइलों के साथ भरें। f3readउन सभी फ़ाइलों को पढ़ेंगे और देखेंगे कि वे पूर्ण हैं और टूटी नहीं हैं। एक उदाहरण के रूप में मैं अपने ~ 128gb अंगूठे ड्राइव का परीक्षण करने के लिए इस्तेमाल किया आदेश:

$ f3write /media/username/1EB8021AB801F0D7/
Free space: 117.94 GB
Creating file 1.h2w ... OK!                           
...
Creating file 118.h2w ... OK!                         
Free space: 0.00 Byte
Average writing speed: 11.67 MB/s

अब परीक्षण करने के लिए कि क्या फ़ाइलें सही तरीके से संग्रहीत हैं:

$ f3read /media/username/1EB8021AB801F0D7/
                  SECTORS      ok/corrupted/changed/overwritten
Validating file 1.h2w ... 2097152/        0/      0/      0
...
Validating file 118.h2w ... 1979488/        0/      0/      0

  Data OK: 117.94 GB (247346272 sectors)
Data LOST: 0.00 Byte (0 sectors)
           Corrupted: 0.00 Byte (0 sectors)
    Slightly changed: 0.00 Byte (0 sectors)
         Overwritten: 0.00 Byte (0 sectors)
Average reading speed: 32.38 MB/s

इस आकार की एक ड्राइव के परीक्षण में इस विधि के साथ लगभग तीन घंटे लगे और कभी-कभी मेरे कंप्यूटर पर भारी डिस्क लोड होता है, लेकिन यह मुझे सबसे सटीक कहा गया है।

उबंटू में स्थापित करें

टर्मिनल पर:

sudo apt install f3

इस पर ले जायेगा: f3brew, f3fix, f3probe, f3read, f3writeउनके आदमी पृष्ठों के साथ।

यह उपकरण f3पैकेज का हिस्सा हैं , जो कि Ubuntu 15.10 पर कम से कम उपलब्ध है। वेबसाइट के अनुसार, कुछ और उपकरण हैं जो उपलब्ध हैं। उन्हें प्राप्त करने के लिए वेबसाइट पर एक नज़र डालें।
पैकेज कम लेकिन उपयोगी मैनपेज के साथ आता है, हालांकि मुझे लगता है कि वे उदाहरण के लिए f3read / लिखने और f3probe के अंतर के बारे में वेबसाइट से कुछ जानकारी को याद करते हैं, यही वजह है कि यह उत्तर थोड़ा लंबा हो गया।


2
इस महान उपकरण को शुरू करने के लिए धन्यवाद। बस जोड़ना चाहते हैं कि स्थापित करने का उपयोग apt-getकर स्थापित करेगा f3readऔर fwrite केवल के रूप में f3probeऔर f3fixप्रयोगात्मक माना जाता है। यदि आप उनका उपयोग करना चाहते हैं, तो आपको make experimentalउनकी निर्भरता स्थापित करने के बाद स्रोत से उनका निर्माण करना होगा sudo apt-get install libudev1 libudev-dev libparted0-dev। देखें github.com/AltraMayor/f3#the-extra-applications-for-linux
अहमद Essam

"[f3probe] अब प्रयोगात्मक नहीं है, लेकिन केवल लिनक्स पर उपलब्ध है।" github.com/AltraMayor/f3/issues/78#issuecomment-378599141
verpfeilt

4

मैंने इसके लिए एक सरल टूल लिखा है, इसे CapacityTester (स्क्रीनशॉट) कहा जाता है और इसमें GUI के साथ-साथ CLI भी होता है।

डाउनलोड के लिए उपलब्ध डेबियन 7 के लिए एक पूर्वनिर्मित बाइनरी है , जो आधुनिक उबंटू प्रणाली पर बॉक्स से बाहर काम करने की बहुत संभावना है।

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

फिर से, यह बहुत आसान है क्योंकि यह केवल एक मौजूदा फाइल सिस्टम के ऊपर की फाइलों के साथ काम करता है। इसलिए कुछ KB (+ 1M बफर) हैं जिनका परीक्षण नहीं किया जा सकता है। और यह बहुत धीमा है क्योंकि यह वास्तव में पूरे फाइलसिस्टम को भरता है। F3 निश्चित रूप से बहुत अधिक परिष्कृत और तेज है, लेकिन इसका कोई GUI नहीं है। एकमात्र कारण CapacityTester मौजूद है क्योंकि इसमें एक GUI है ताकि इसका उपयोग उन उपयोगकर्ताओं द्वारा किया जा सके जो कमांड लाइन से परिचित नहीं हैं या जो केवल GUI पसंद करते हैं।

प्रतिक्रिया की सराहना की है।


डेवलपर्स वेबसाइट पर कहा गया है, OSX के लिए एक क्यूटी जीयूआई और एक जीयूआई उपलब्ध है (मैंने उन्हें कोशिश नहीं की)। मुझे लगता है कि यह क्यूटी 4 पर आधारित है, हालांकि। F3 का उपयोग बैकएंड के रूप में भी क्यों नहीं किया जाता है? यह आपके उपकरण को अधिक जटिल नहीं बनायेगा और यह संभवतः अधिक कार्यात्मक / प्रभावी बना देगा, F3 पर खर्च किए गए ज्ञान का उपयोग करके।
verpfeilt

-6

ओपी के व्यवहार और "नकली ड्राइव" को संबोधित करते हुए

मैं कुछ बिंदुओं को ठीक से संबोधित करने के लिए उत्तर का संपादन कर रहा हूं, क्योंकि ओपी बहुत ही सशस्त्र रहा है (और मेरी राय में, अधिकांश टिप्पणियों और उत्तरों का विरोध उनके खुद के अलावा, जो मुझे संदिग्ध लगता है)। विशेष रूप से, "नकली ड्राइव" मौजूद होने का बहुत दावा है, लेकिन पृथ्वी पर इसका कोई स्पष्ट परिभाषा नहीं है कि वास्तव में इसका क्या मतलब है। ओपी ने कहा:

मैं बस उस पर सामान कॉपी कर सकता हूं, इसे वापस कॉपी कर सकता हूं और देख सकता हूं कि फाइलें ठीक हैं या नहीं। मैं भी इसे Hashes और सामान के साथ स्वचालित कर सकता है। लेकिन मुझे उम्मीद थी कि एक अधिक सटीक समाधान है।

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

जब एक ड्राइव वास्तव में नकली ड्राइव है

प्रश्न में, ओपी की स्पष्ट परिभाषा है

".. यह दावा करता है कि बहुत सी जगह (अक्सर 128 जीबी की तरह, बहुत कम), जबकि शारीरिक रूप से केवल 4 जीबी की पेशकश की जाती है।"

दूसरे शब्दों में, ओपी के अनुसार, नियंत्रक का दावा है डेटा की एक्स राशि है, लेकिन यूएसबी केवल कर सकते हैं शामिल क्या दावा किया है की कम 80-90% की तरह कुछ।

उपयोगकर्ता sudodus ने टिप्पणी में प्रस्तावित किया (जोर दिया): "मैंने पाया है कि कई USB पेंड्राइव नाममात्र आकार से थोड़े छोटे हैं। मैं उन्हें अधोमानक कहता हूं । मुझे लगता है कि नकली ड्राइव 'काफी हद तक अंडरस्क्राइज्ड' हैं (आमतौर पर नाममात्र के आकार का आधा है।) या कम ) "। यह परिभाषा बहुत अच्छी है, हालांकि अगर हम इसे लेते हैं, तो नकली ड्राइव को 50% पर परिभाषित किया गया है। एक ड्राइव जो 64 जीबी का दावा करता है, लेकिन केवल 32 जीबी को पकड़ सकता है, तकनीकी रूप से इसके मूल्य का आधा हिस्सा मालिक को देता है और मालिक केवल उस चीज का आधा हिस्सा रख सकता है जो वे ड्राइव पर चाहते थे।

मैं एक सरल परिभाषा का प्रस्ताव करता हूं: नकली भंडारण उपकरण वह है जो दावा करता है Claimed Sizeलेकिन 15% सहिष्णुता (और सहिष्णुता Claimed Size ± 15 %) से नीचे है ।

± 15 %बहुत ही उचित है। यह भी विचार करें कि उपयोगकर्ता आमतौर पर यूनिक्स, IEEE और IEC संगठनों के बीच भ्रमित हैं, जो कि स्टोरेज आकार के लिए 10 उपसर्ग की शक्ति के बजाय द्विआधारी उपसर्ग का उपयोग करते हैं। यह अंतर 20% में आता है, लेकिन उपसर्ग के स्तर पर अभी भी यूएसबी ड्राइव नहीं है, इसलिए अगले 20 वर्षों के लिए 15 प्रतिशत उचित है। (पूछे जाने वाले प्रश्न पूछें "MiB 'में' i 'का अर्थ" और बाइनरी प्रीफ़िक्स )

ड्राइव का परीक्षण

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

यदि हम ड्राइव करने के लिए डेटा की मात्रा नहीं लिख सकते हैं और हम जो लिखते हैं वह 15% सहनशीलता के भीतर है, तो ड्राइव ठीक है

वह यह करने के लिए सरल तरीका है dd, बस शून्य के साथ डिवाइस को ओवरराइट करें (और इससे पहले कि आप अपनी फ़ाइलों को बचाने के लिए याद रखें)।

sudo dd if=/dev/zero of=/dev/sdb1 iflag=nocache oflag=direct bs=1                        

bs=11 बाइट के ब्लॉक आकार के लिए ध्यान दें । ddआदेश आम तौर पर कितना लिखा है के रूप में एक रिपोर्ट देता है।

$ dd if=/dev/zero of=/dev/null bs=1 count=1024
1024+0 records in
1024+0 records out
1024 bytes (1.0 kB, 1.0 KiB) copied, 0.00261981 s, 391 kB/s

हमने इसे 1024 बाइट लिखने के लिए कहा, इसने 1024 बाइट लिखीं।

परिभाषा का पालन करने वाले चरणों की अधिक सटीक सूची होगी:

  • पता लगाएँ कि ड्राइव कितने डेटा का दावा करता है (यह मानते हुए कि आपको df"गलत" होने का संदेह है)। इस उदाहरण में, मान लें /dev/sdb1कि USB ड्राइव के लिए मेरी डिवाइस फ़ाइल है:

    $ df -P /dev/sdb1 | awk 'NR==2{print $2}'
    115247656
    

    ध्यान दें कि -Pध्वज POSIX पोर्टेबिलिटी के लिए है, जिसका अर्थ है कि डेटा का ब्लॉक आकार 1024 बाइट्स होगा, और इसका मतलब है कि उस ड्राइव पर 115247656 * 1024 बाइट्स हैं।

  • पता लगाएँ कि ड्राइव के दावों (115247656) के नीचे 15% सहिष्णुता क्या है, शायद उपयोगिता का उपयोग करें जो फ्लोटिंग पॉइंट गणना का समर्थन करता है जैसे awk:

     $ awk 'BEGIN{printf "%d\n",115247656*(1-0.15)}'
     97960507
    
  • बेंचमार्क के रूप में उपयोग करने के लिए पिछले चरण में ड्राइव के समान हार्ड ड्राइव पर यादृच्छिक डेटा बनाएं: dd if=/dev/urandom of=./mytestfile.random bs=1024 count=97960507

  • अब डेटा लिखें dd if=./mytestfile.random of=/dev/sda1। यदि ड्राइव इसे पकड़ सकती है, तो यह "वास्तविक" है। तुम भी ले जा सकते हैं md5sumया sha1sumकी ./mytestfile.randomऔर इससे तुलना करें /dev/sda1अब। इससे भी बेहतर सुधार mytestfile.randomफ़ाइल के माउंट पॉइंट को लिखना होगा , इस प्रकार फाइल सिस्टम को ड्राइव पर रखना और ड्राइव के अनलटरिंग विभाजन को दूसरे शब्दों में

    dd if=./mytestfile.random of=/mountpoint/for/usb/drive/testfile.random
    
  • तो अखंडता के लिए, आप बस किसी भी hashsum जांच, जैसे कर सकते हैं md5sum, sha1sum, sha256sumया अन्य। उदाहरण के लिए

    md5sum ./mytestfile.random  /mountpoint/for/usb/drive/testfile.random
    

    यहां मुख्य बिंदु यह है कि यदि लिखित डेटा की मात्रा सहनशीलता के भीतर है और लिखने से पहले और बाद में सही चेकसम का उत्पादन करता है - ड्राइव संभवतः ठीक है।

यह सब सुविधा के लिए एक अच्छी स्क्रिप्ट में रखा जा सकता है, अगर कोई ऐसा चाहता है।

निष्कर्ष

यह प्रश्न वास्तव में ओपी के लिए "प्रोमो" की तरह प्रतीत होता है, और ऐसा लगता है कि ओपी वास्तव में ड्राइव का परीक्षण करने में बहुत कम रुचि रखते हैं। इसके अतिरिक्त, समस्या "ड्राइव" समस्या से अधिक मानवीय है। टिप्पणियों में, ओपी ने खुद कहा कि वे वास्तव में यूएसबी व्यवहार को नहीं समझते हैं, लेकिन "नियंत्रक" को दोष देने के लिए बाध्य हैं। मैं इस प्रश्न को 3 बिंदुओं के साथ छोड़ूंगा:

  • स्पष्ट रूप से पता करें कि आप किस समस्या को हल करने की कोशिश कर रहे हैं और "नकली ड्राइव" की परिभाषा क्या है।
  • बुनियादी यूनिक्स उपयोगिताओं को समझने की कोशिश करें
  • जब सामान खरीदने की बात आती है, तो जैसे सुरक्षा के किसी भी रूप की बात आती है, एक विश्वसनीय विक्रेता खोजने पर विचार करें और उनसे केवल ड्राइव खरीदें।

1
धन्यवाद, लेकिन मुझे यकीन नहीं है कि अगर dd असली आकार का पता लगा लेगा, क्योंकि नियंत्रक नकली होगा कि इसमें उतना ही स्थान है। मुझे लगता है कि आपको एक फ़ाइल (या अधिक फ़ाइलों) में लिखना होगा और जांचना होगा कि क्या आप इसे पूरी तरह से वापस पा सकते हैं। लगता है कि एक कारण है कि परीक्षण के लिए समर्पित उपकरण हैं, दुर्भाग्य से यह केवल खिड़कियां हैं। मुझे लगता है कि मुझे एक वीएम का उपयोग करना होगा। खैर, यह कुछ समय पहले जर्मनी में समाचार में काफी बड़ा था। (विषय के बारे में जर्मन स्रोत: heise.de/ct/ausgabe/… )
verpfeilt

1
@verpfeilt खैर, मैं जर्मन नहीं बोलता, इसलिए लेख को संक्षेप में या किसी के द्वारा अनुवादित किया जाना होगा। नियंत्रक कैसे नकली होगा कि उसमें समान स्थान हो? ddरिपोर्ट में डेटा की मात्रा वापस लिखी है / जो डिवाइस को दी गई है, मैं नहीं देखता कि यह कैसे नकली हो सकता है।
सर्गी कोलोडियाज़नी

2
वैसे आप सब कुछ लिख सकते हैं, लेकिन यह नहीं कहते कि usb क्लाइंट इसे स्टोर करेगा। अगर मुझे सही तरीके से समझ में आया, तो समस्या सीधे तौर पर usb आर्किटेक्चर में है। आप इसे केवल कुछ फ़्लैश मेमोरी नहीं चिपका सकते हैं, लेकिन इसके लिए एक चिप की आवश्यकता होती है जो प्रोटोकॉल को पूरा करेगी। एक स्टब ( en.wikipedia.org/wiki/Method_stub ) की तरह यह आपको केवल मेमोरी लिखने के लिए सक्षम बनाता है (ड्राइव में छोटी फ़ाइलों को स्टोर करने के लिए मेमोरी की थोड़ी मात्रा है, हालांकि)। यही कारण है कि h2testw जैसे उपकरण मौजूद हैं। यहाँ अंग्रेजी में कुछ है: myce.com/news/…
verpfeilt

1
@SergiyKolodyazhnyy, मैंने पाया है कि कई USB पेंड्रिव नाममात्र आकार से थोड़े छोटे हैं। मैं उन्हें अंडरसीज कहता हूं । मुझे लगता है कि नकली ड्राइव 'काफी हद तक अंडरसिज्ड' होते हैं (आमतौर पर नाममात्र का आधा या उससे कम)। मुझे लगता है कि ड्राइव के साथ कुछ लिखने के लिए ddऔर बाद में md5sum की जांच करके यह जांचना चाहिए कि कितना सही लिखा और पढ़ा जा सकता है। (मुझे लगता है कि @ verpfeilt के जवाब में विशेष उपकरण अधिक आकर्षक लगते हैं, लेकिन मैंने उनका परीक्षण नहीं किया है। मेरे पास कई USB पेंड्रिव्स और मेमोरी कार्ड हैं, मुझे नहीं लगता कि मैंने अभी तक एक नकली खरीदा है।)
सुडोडुस

1
@SergiyKolodyazhnyy, मैं आपकी अद्यतन परिभाषा से सहमत हूं, 'नकली स्टोरेज डिवाइस वह है जो क्लेम किए गए आकार का दावा करता है, लेकिन 15% सहिष्णुता से नीचे है (और सहिष्णुता का दावा किया गया है आकार% 15%)'। - आपके उत्तर के एक महान अद्यतन के लिए धन्यवाद :-)
सुडोकू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.