रॉ प्रारूप में बढ़ते डिस्क छवि


11

निम्नलिखित आदेश का उपयोग करके रॉ (dd) प्रारूप में एक डिस्क छवि को माउंट करने की कोशिश कर रहा है

mount  nps-2010-emails.dd /media/manu/

मुझे निम्न त्रुटि संदेश मिलता है

mount: you must specify the filesystem type

मुझे पता है कि -tहम फ़ाइल सिस्टम का उपयोग कर सकते हैं लेकिन RAW (dd) फ़ाइल के लिए शब्दावली क्या है, जिसे माउंट कमांड के तर्क के रूप में पारित किया जा सकता है। यदि इस फ़ाइल सिस्टम को माउंट करने का मेरा तरीका गलत है, तो कृपया मुझे वही करने में मदद करें।

$ file -s nps-2010-emails.dd
nps-2010-emails.dd: x86 boot sector; 
partition 1: ID=0xb, starthead 254, startsector 1, 20479 sectors, extended partition table (last)\011, code offset 0x0

$ fdisk -l nps-2010-emails.dd
Disk nps-2010-emails.dd: 10 MB, 10485760 bytes
255 heads, 63 sectors/track, 1 cylinders, total 20480 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

             Device Boot      Start         End      Blocks   Id  System
nps-2010-emails.dd1               1       20479       10239+   b  W95 FAT32 

क्या आप file -s nps-2010-emails.ddकृपया अपने पोस्ट में कमांड का आउटपुट जोड़ सकते हैं ?
स्टीलड्राइवर

मैंने आपकी प्रोफ़ाइल पर एक नज़र डाली, और दूसरा प्रश्न देखा। शायद इस ब्लॉग पोस्ट से मदद मिल सकती है।
मूरू

@steeldriver आउटपुट जोड़ा गया ...
spaceman_spiff

बढ़ते के लिए आसान विकल्प - उपलब्ध / यहाँ वर्णित है: askubuntu.com/questions/69363/…
हन्नू

जवाबों:


16

Http: //m लाहो। पहले के माध्यम से ऑफसेट प्राप्त करें fdisk(8)और फिर इसे offsetविकल्प के साथ निर्दिष्ट करें mountfdiskविभाजन के शुरुआती क्षेत्र और क्षेत्र के आकार को निर्धारित करने के लिए उपयोग करें । फिर बाइट्स में शुरुआती सेक्टर नंबर और सेक्टर आकार का उपयोग करके बाइट्स में ऑफसेट की गणना करें। उदाहरण के लिए संपूर्ण डिस्क (डिवाइस) की छवि से माउंट एकल विभाजन देखें । आखिरकार:

mount -o offset=<offset in bytes> nps-2010-emails.dd /media/manu/

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

fdiskवहां के आउटपुट से , आप देख सकते हैं कि सेक्टर का आकार 512 बाइट्स है और यह सेक्टर 1 से शुरू होता है। इसलिए ऑफसेट 1 * 512 = 512 है। निम्नलिखित कमांड आज़माएं:

mount -t vfat -o offset=512 ps-2010-emails.dd /media/manu/

मैंने fdiskFAT32 के रूप में दिए जाने के बाद से फाइलसिस्टम प्रकार जोड़ा । लिखने के लिए इसे माउंट करने के लिए, -o offset=512,rwइसके बजाय का उपयोग करें ।


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

का आउटपुट शामिल करने के लिए पोस्ट अपडेट की गई fdisk -l nps-2010-emails.dd
spaceman_spiff

thanx, मेरी पृष्ठभूमि सैद्धांतिक कंप्यूटर विज्ञान में है (मैं एक गणित प्रमुख हूं), क्या इस विषय को सामान्य नोट पर समझने के लिए कोई संदर्भ है?
spaceman_spiff

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

10

आप कंप्यूटर को डंप में सभी विभाजनों को स्वचालित रूप से स्कैन कर सकते हैं और स्वचालित रूप से सभी लूप डिवाइस तैयार कर सकते हैं, जैसा कि यहां वर्णित है

तो, आप कहते हैं कि आप /dev/sdaकुछ कहा में अपने पूरे फेंक दिया sda.img। आप निम्नानुसार इसके विभाजन तक पहुँच सकते हैं:

losetup -f -P sda.img

मेरे सिस्टम पर, यह तब निम्नानुसार दिखाता है:

साडा कच्ची छवि

गैर-जीयूआई वातावरण में, आप बनाए गए डिवाइस को सूचीबद्ध कर सकते हैं losetup -l, जो आपको लूप डिवाइस का नाम बताएगा, उदाहरण:

# losetup -l
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         0  0 /path/mmcblk0

आप तब कह सकते हैं, कि पहला विभाजन,

mount /dev/loop0p1 /mnt/mypartition

उम्मीद है की वो मदद करदे।


मेरे लिए पूरी तरह से काम किया।
प्रात

2
इन समान लाइनों के साथ, उबंटू 18.04 पर मुझे "gparted backup.img" करने और विभाजन की सूची प्राप्त करने में कोई परेशानी नहीं हुई। "fdisk -l backup.img" भी उपयोगी जानकारी दिखाता है।
राउंडस्पारो हिल्टैक्स

1
आप losetupकमांड को पूर्ववत कैसे करते हैं ?
फ्लिम

1

प्रतिष्ठा की कमी के कारण टिप्पणी नहीं जोड़ सकते हैं, लेकिन आप में से उन लोगों को बताना चाहते हैं जिनके पास GPT डिस्क है जब इसे fdisk के साथ परीक्षण करते हैं, तो स्टार्ट सेक्टर प्राप्त करने के लिए gdsik का उपयोग करें और उचित ऑफ़सेट की गणना करें। इसने मेरी मदद की।

fdisk -l मुझे दिया:

      Device Boot      Start         End      Blocks   Id  System
vm2080737.bak1   *           1        3901    31457279+  ee  GPT

और इसे एरर माउंट के साथ 512 ऑफसेट के साथ माउंट नहीं किया जा सकता है: आपको फाइलसिस्टम प्रकार को निर्दिष्ट करना होगा '

gdisk -l मुझे अच्छा परिणाम दिया:

Number  Start (sector)    End (sector)  Size       Code  Name
   1              34             545   256.0 KiB   A501  gpboot
   2             546          993825   485.0 MiB   A502  swap
   3          993826        62914526   29.5 GiB    A503  rootfs

1
या उपयोग करें parted
मूरू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.