USB ड्राइव (Linux) के आकार को पुनर्स्थापित करें


5

मैं एक नए वितरण का प्रयास करना चाहता था, इसलिए मैंने dd का उपयोग करके एक बूट करने योग्य USB बनाने का निर्णय लिया:

sudo dd if=my.iso of=/dev/sdb bs=4M

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

मुझे यकीन नहीं है कि मैंने और क्या गलत किया, लेकिन इसका नतीजा यह हुआ कि 16GB ड्राइव केवल 10MB उपलब्ध दिखा।

Gparted का उपयोग करते हुए, ड्राइव पर केवल 10MB उपलब्ध है, हालांकि lsblk का उपयोग कर आउटपुट:

sdb                       8:16   1  14.9G  0 disk

मैंने सफलता के बिना, fdisk और अन्य उपयोगिताओं का उपयोग करके इसे प्रारूपित करने का प्रयास किया। तब मैंने देखा कि सिर, सिलेंडर और सेक्टर के लिए एक और सटीक एक ही यूएसबी ड्राइव (एक ही मॉडल, एक ही ब्रांड, एक ही क्षमता) से अलग है। यद्यपि यह जानकारी (सिर, आदि) वास्तव में एक यूएसबी ड्राइव के लिए प्रासंगिक नहीं है, हालांकि मुझे यह समस्या हो सकती है जिसने मेरे यूएसबी 10 एमबी को "लंबा" बना दिया।

हालाँकि इन्हें संशोधित करने का कोई भी प्रयास, fdisk के विशेषज्ञ मोड (प्रोग्राम में एक बार x कुंजी) का उपयोग करने में असफल रहा, उन्हें लिखने की कोशिश करना (w) उन्हें काम नहीं आया (क्षमता में कोई बदलाव नहीं हुआ)।

मैंने इसे संशोधित करने के अन्य तरीकों की तलाश की (जैसा कि मेरा मानना ​​है कि यह USB अपना सही आकार क्यों नहीं दिखा रहा है) लेकिन असफल रहा है।

मैं उस ड्राइव के हेडर, सेक्टर और सिलिंडर को स्थायी रूप से कैसे बदल सकता हूं? क्या यह है कि मेरा यूएसबी सिकुड़ गया है, और यदि नहीं, तो मैं इसे उसके वास्तविक आकार में पुनर्स्थापित करने के लिए क्या कर सकता हूं?

संपादित करें : सुझावों ने काम नहीं किया, हालांकि मेरे खोज इंजन पर अलग-अलग शब्दों ने मुझे खोज लिया testdisk जो समस्या को हल कर सकता है।

संपादित करें : CHS को बदलने की कोशिश नहीं की गई: टेस्टडिस्क छोड़ने के बाद, यह उन मानों पर रीसेट हो गया है जो इसे 10MiB बड़ा बनाते हैं।

हल किया : जाहिर है, आकार सही है अगर मैं इसे दूसरे कंप्यूटर पर उपयोग करता हूं। प्रदर्शित किए जाने वाले सही मानों के लिए रिबूटिंग की आवश्यकता हो सकती है।


रिबूटिंग पर +1 - कुछ दिनों के लिए मुझे परेशान कर रहा था, मुझे लगा कि मैंने अपनी अच्छी usb 64 64 सेकंड की चाबियाँ खोली हैं
Dmitri DB

जवाबों:


3

शून्य के साथ पहले कुछ सेक्टर्स (32KB पर्याप्त से अधिक) को अधिलेखित करें, फिर cfdisk या fdisk या gparted खोलें और अपने इच्छित प्रारूप में एक नया पार्टीशन टेबल बनाएं (gpt या mbr)।

dd if=/dev/zero of=/dev/sdb bs=32k count=1

और उस तरफ के नोड के लिए, आप केवल कर सकते हैं dd यदि यह एक है तो USB से ISO और बूट से संकर आईएसओ , मैं। ई। एक आईएसओ जो एक एमबीआर या जीपीटी विभाजन तालिका के साथ शुरू होता है, और जिसकी सामग्री यह निर्धारित की जाती है कि इसमें एक पारंपरिक फाइल सिस्टम और एक आईएसओ फाइलसिस्टम दोनों हैं जहां एक ही फाइल नाम एक ही फाइलों को इंगित करते हैं। (साथ ही बूटलोडर को उस केस और बूट का पता लगाना होगा जो USB या CD से ठीक से ड्राइव के आधार पर मौजूद है)।


यह काम नहीं करता है; 32KiB पर gparted USB साइज़ का पता लगाएं, अब msdos विभाजन तालिका बनाने के बाद भी (gpt विभाजन बस दुर्घटनाग्रस्त gparted ...) fdisk 32KiB, साथ ही cfdisk का भी पता लगाता है। हालाँकि ऐसा लगता है कि इसे 10MiB के आकार में बहाल किया जा सकता है ...
user96649

यदि आप इसे शून्य करने के बाद ड्राइव को अलग कर लेते हैं और इसे हटा देते हैं तो यह मदद कर सकता है। या चल रहा है partprobe विभाजन तालिका को फिर से पढ़ने के लिए (या अधिक कठोर माप के रूप में मशीन को रिबूट करें)
mihi

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

1

जैसा कि आपके पास एक ही यूएसबी ड्राइव है, सबसे आसान रिकवरी एक कॉपी करना होगा MBR अच्छाई से लेकर टूटे हुए तक। पहले अच्छे की नकल करो MBR एक फ़ाइल के लिए:

dd if=/dev/sdX of=usb.mbr bs=512 count=1

फिर सेव को कॉपी करें MBR टूटे हुए एक के लिए:

dd of=/dev/sdX if=usb.mbr; sync

तब पुन: स्थापित करें कि USB स्टिक की मरम्मत की जा रही है और कॉन्फ़िगरेशन का निरीक्षण करें fdisk - अब ठीक होना चाहिए।

फिर से बनाना vfat मौजूदा विभाजन पर फ़ाइल सिस्टम।


यह आशाजनक लग रहा था, जैसा कि fdisk 14,9GB दिखाता है, लेकिन एक vfat सिस्टम बनाने से काम नहीं होता है: sudo mkdosfs /dev/sdb mkfs.fat 3.0.27 (2014-11-12) mkdosfs: Attempting to create a too large filesystem
user96649

यह भी गपशप करने के लिए, जैसा कि यह कहना जारी रखता है Error: Can't have a partition outside the disk यह ऐसा है मानो ड्राइव अब "वास्तव में" 10 MiB है
user96649

यह अब काम करता है, जाहिरा तौर पर कंप्यूटर को पुनः आरंभ करने के लिए सही आकार की आवश्यकता होती है जिसे ठीक से पहचाना जाए। आपके जवाब के लिए धन्यवाद।
user96649
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.