सभी प्रमुख विभाजनों को उनके लेबल के साथ कैसे सूचीबद्ध करें?


11

मैं अपने डिवाइस पर उनके सम्मान के साथ सभी विभाजनों का पता लगाना चाहता हूं। (यानी पता करने के लिए जो विभाजन कर रहा है अंक या लेबल माउंट system, recovery, boot, आदि)। इसके लिए स्वतंत्र डिवाइस होना चाहिए (क्योंकि मेरे पास कई डिवाइस हैं)। लक्ष्य ddउनके लिए है और पता है कि कौन सी छवि है।

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

अब तक, मेरे रीचर्च ने दृष्टिकोणों का एक समूह लाया है - लेकिन उनमें से कोई भी मेरे द्वारा परीक्षण किए गए किसी भी उपकरण पर काम नहीं करता है:

  • cat /proc/mtd: यह खाली है या गैर-मौजूद है
  • cat /proc/emmc: यह खाली है या गैर-मौजूद है
  • cat /proc/dumchar_info: गैर मौजूदा (MTK / MediaTek)
  • ls -al /dev/block/platform/*/by-name: या तो गैर-मौजूद है, या वांछित विवरण नहीं है

मुझे क्या याद किया जा सकता है का कोई भी विचार? बेशक मैं सभी /dev/block/mmcblk0p*उपकरणों को चला सकता हूं , उन्हें डंप कर सकता हूं और बाद में उन्हें छांट सकता हूं - लेकिन फिर मुझे अपने हर डिवाइस के लिए उस जांच को दोहराना पड़ा (और फिर से जब कोई दूसरे के साथ बदल जाता है), तो इसका कोई हल नहीं है।


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

मेरे आरंभिक गलत-कथन के लिए भी क्षमा याचना: "माउंट पॉइंट" केवल दिलचस्प हैं जहां तक ​​वे विभाजन के उद्देश्य को प्रकट करते हैं। मैं उन्हें माउंट / रिमूव नहीं करना चाहता हूं :)


आशा है कि आप कोई आपत्ति नहीं है मैं एक अतिरिक्त टैग जोड़ा
HasH_BrowN

@HasH_BrowN करता है वास्तव में उद्देश्य को पूरा नहीं (मैं यहाँ बढ़ते में कोई दिलचस्पी नहीं है, जिसके कारण मैं इसे शुरू में लागू नहीं किया था), लेकिन यह भी सच में चोट नहीं करता है;)
इज़ी

मैं आपके लिए एक और उत्तर की रचना कर रहा हूं। क्या आपके लिए KPARTX काम पर इंगित करने का जवाब देगा? यह सही लगता है।
HasH_BrowN

पता नहीं इससे पहले कि मैं इसे देख, मुझे डर लग रहा ...
इज़ी

जवाबों:


7

जैसा कि पहले से मौजूद उत्तर दिखाते हैं, लगता है कि इसे प्राप्त करने के लिए कोई "अनोखा तरीका" नहीं है। इसलिए मैंने एलोवर से विचारों का संयोजन शुरू किया, उन्हें एक स्क्रिप्ट (या बल्कि एक "स्क्रिप्ट लाइब्रेरी") में मिलाते हुए उन्हें क्रमिक रूप से जाँचने के लिए (जब तक कि एक अच्छी हिट नहीं बनाई गई), और एकीकृत किया कि मेरे "डिवाइस डॉक्यूमेंटेशन टूल" में Adebar नाम दिया । इच्छुक लोग इसे lib/partitions.libफ़ाइल में पा सकते हैं । जैसा कि आदिबर ओपन-सोर्स (GPLv2) है, इसे कॉपी करने और उपयोग करने के लिए स्वतंत्र महसूस करें - या प्रोजेक्ट को कांटा करें और इसे सुधारें।

पूरा समाधान यहां पोस्ट करने के लिए थोड़ा लंबा है (जैसा कि कहा गया है, आप इसे गित्बुब में पकड़ सकते हैं), लेकिन जैसा कि हमारी नीति पोस्ट में कम से कम सामान्य भाग को शामिल करना है, यहां यह है कि यह क्या करता है:

अलग-अलग स्रोत विवरण के विभिन्न सेट प्रदान करते हैं, इसलिए यह पहले "सबसे अच्छे लोगों" को आज़माता है - और फिर कम से कम कुछ पाए जाने तक पुनरावृत्ति करता है।

  • /proc/dumchar_infoसबसे अधिक विवरण देता है, इसलिए इसे पहले आज़माया जाता है। हैप्पी MTK यूजर्स को यह मिलेगा।
  • /proc/mtd दूसरा सबसे अच्छा स्रोत है।
  • /proc/emmc पिछले उम्मीदवारों के रूप में लगभग होना चाहिए, लेकिन उपयोग करने के लिए थोड़ा मुश्किल है
  • /dev/block/platform/*/by-name, के साथ…
  • /proc/partitionsक्रॉस-चेक किया हुआ /proc/mountsहमें कम से कम विभाजन माउंट करता है

इसलिए मैंने जो स्क्रिप्ट बनाई है, वह मूल रूप से इस क्रम में स्रोतों को चलाता है, जैसे ही यह विवरण एकत्र करने में सक्षम था (जैसे अगर /proc/dumchar_infoपाया गया, तो अन्य सभी को पार्स करने की कोई आवश्यकता नहीं है)। उन सभी को अलग-अलग कार्यों में लगाया गया, बहुत ही संरचना का उपयोग करके डेटा लौटाया जा सकता है, एक भी उन सभी से परिणाम मर्ज कर सकता है।

अगर कोई बेहतर समाधान के साथ आ सकता है, तो मैं हमेशा विचार के लिए खुला हूं :)


4

मैं इस सवाल पर लड़खड़ा गया। मुझे एक चुनौती पसंद है ...

उपकरण जो मैंने उपयोग किया: बिजीबॉक्स

मैं विभाजनों के बारे में कुछ जानकारी देने के लिए 3 कमांड (आपके द्वारा सूचीबद्ध एक) के साथ आया हूं

busybox ls -QAl --color=never /dev/block/platform/*/by-name  
आउटपुट:
lrwxrwxrwx    1 0        0               20 Jan 30  1970 "DDR" -> "/dev/block/mmcblk0p4"
lrwxrwxrwx    1 0        0               20 Jan 30  1970 "aboot" -> "/dev/block/mmcblk0p5"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "abootf" -> "/dev/block/mmcblk0p16"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "boot" -> "/dev/block/mmcblk0p18"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "cache" -> "/dev/block/mmcblk0p41"
lrwxrwxrwx    1 0        0               20 Jan 30  1970 "dbi" -> "/dev/block/mmcblk0p3"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "dbibak" -> "/dev/block/mmcblk0p10"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "drm" -> "/dev/block/mmcblk0p36"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "eksst" -> "/dev/block/mmcblk0p29"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "encrypt" -> "/dev/block/mmcblk0p28"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "factory" -> "/dev/block/mmcblk0p39"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "fota" -> "/dev/block/mmcblk0p34"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "fsc" -> "/dev/block/mmcblk0p25"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "fsg" -> "/dev/block/mmcblk0p24"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "grow" -> "/dev/block/mmcblk0p43"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "laf" -> "/dev/block/mmcblk0p33"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "misc" -> "/dev/block/mmcblk0p32"
lrwxrwxrwx    1 0        0               20 Jan 30  1970 "modem" -> "/dev/block/mmcblk0p1"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "modemst1" -> "/dev/block/mmcblk0p21"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "modemst2" -> "/dev/block/mmcblk0p22"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "mpt" -> "/dev/block/mmcblk0p38"
lrwxrwxrwx    1 0        0               20 Jan 30  1970 "pad" -> "/dev/block/mmcblk0p8"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "pad1" -> "/dev/block/mmcblk0p23"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "pad2" -> "/dev/block/mmcblk0p27"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "persist" -> "/dev/block/mmcblk0p19"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "rct" -> "/dev/block/mmcblk0p30"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "recovery" -> "/dev/block/mmcblk0p20"
lrwxrwxrwx    1 0        0               20 Jan 30  1970 "rpm" -> "/dev/block/mmcblk0p6"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "rpmbak" -> "/dev/block/mmcblk0p11"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "rpmf" -> "/dev/block/mmcblk0p13"
lrwxrwxrwx    1 0        0               20 Jan 30  1970 "sbl1" -> "/dev/block/mmcblk0p2"
lrwxrwxrwx    1 0        0               20 Jan 30  1970 "sbl1b" -> "/dev/block/mmcblk0p9"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "sdif" -> "/dev/block/mmcblk0p15"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "sns" -> "/dev/block/mmcblk0p37"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "spare1" -> "/dev/block/mmcblk0p17"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "spare2" -> "/dev/block/mmcblk0p31"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "spare3" -> "/dev/block/mmcblk0p35"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "ssd" -> "/dev/block/mmcblk0p26"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "system" -> "/dev/block/mmcblk0p40"
lrwxrwxrwx    1 0        0               20 Jan 30  1970 "tz" -> "/dev/block/mmcblk0p7"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "tzbak" -> "/dev/block/mmcblk0p12"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "tzf" -> "/dev/block/mmcblk0p14"
lrwxrwxrwx    1 0        0               21 Jan 30  1970 "userdata" -> "/dev/block/mmcblk0p42"

busybox blkid
आउटपुट:
/dev/block/vold/179:65: LABEL="ANDROID" UUID="87B8-10F1"
/dev/block/mmcblk1p1: LABEL="ANDROID" UUID="87B8-10F1"
/dev/block/mmcblk0p42: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b"
/dev/block/mmcblk0p41: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b"
/dev/block/mmcblk0p40: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b"
/dev/block/mmcblk0p38: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b"
/dev/block/mmcblk0p37: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b"
/dev/block/mmcblk0p36: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b"
/dev/block/mmcblk0p19: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b"
/dev/block/mmcblk0p1: UUID="00BC-614E"

busybox df -ma
आउटपुट:
Filesystem           1M-blocks      Used Available Use% Mounted on
tmpfs                     1415         0      1415   0% /dev
devpts                       0         0         0   0% /dev/pts
proc                         0         0         0   0% /proc
sysfs                        0         0         0   0% /sys
selinuxfs                    0         0         0   0% /sys/fs/selinux
debugfs                      0         0         0   0% /sys/kernel/debug
none                         0         0         0   0% /acct
none                      1415         0      1415   0% /sys/fs/cgroup
tmpfs                     1415         0      1415   0% /mnt/asec
tmpfs                     1415         0      1415   0% /mnt/obb
none                         0         0         0   0% /dev/cpuctl
/dev/block/platform/msm_sdcc.1/by-name/system                              2524       715      1808  28% /system
/dev/block/platform/msm_sdcc.1/by-name/userdata                         25620      5066     20514  20% /data
/dev/block/platform/msm_sdcc.1/by-name/cache                           834        13       820   2% /cache
/dev/block/platform/msm_sdcc.1/by-name/persist                            31         4        27  13% /persist
/dev/block/platform/msm_sdcc.1/by-name/modem                            64        56         7  88% /firmware
/dev/block/platform/msm_sdcc.1/by-name/sns                             8         4         4  52% /sns
/dev/block/platform/msm_sdcc.1/by-name/drm                             8         4         3  56% /persist-lg
/dev/block/platform/msm_sdcc.1/by-name/mpt                            31        13        18  41% /mpt
/dev/fuse                25620      5066     20514  20% /mnt/shell/emulated
/dev/block/vold/179:65   60891     10820     50071  18% /mnt/media_rw/sdcard1
/dev/fuse                60891     10820     50071  18% /storage/sdcard1

1
आपके प्रयासों के लिए धन्यवाद, रेयान! मैंने पहले से ही साथ खेला है busybox(जो दुर्भाग्य से "कुछ दोस्तों के उपकरणों पर उपलब्ध नहीं है" जो मुझे सौंपे गए हैं)। blkidयह प्रकट नहीं करता है कि यह क्या विभाजन है (बूट, रिकवरी, आदि), और */by-name/*सभी उपकरणों पर मौजूद नहीं है (और जब यह होता है, तो नाम कभी-कभी बहुत गूढ़ होते हैं - जैसे मेरे एलजी ऑप्टिमस 4 एक्स पर, सभी नाम 3-3 हैं केवल और जरूरी नहीं कि "बोलना")। dfकेवल माउंट किए गए उपकरणों को सूचीबद्ध करता है, इसलिए यह "सामान्य मोड" में चलने पर वसूली नहीं दिखाएगा - इसलिए यहां इसके /proc/mountsबजाय इसका उपयोग करना आसान है ।
इज़ी

आप यूनिक्स और लिनक्स पर भी यह पूछना चाह सकते हैं । वे जानकारी प्राप्त करने के तरीकों से अवगत हो सकते हैं। मैंने जो कुछ शोध किया है वह 'fdisk' या अन्य उपकरण कहता है जो या तो कुछ भी नहीं लौटाते हैं, या एंड्रॉइड सिस्टम पर मौजूद नहीं हैं।
रियान कॉनरैड

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

1

KPARTX

Kpartx कमांड डिवाइसेज़ टेबल और मैप्स पार्टिशन को डिवाइस फाइल्स को रीड करता है। यह उपकरणों और डिस्क छवियों पर काम करता है। इसका मतलब है कि हम डिस्क छवि में HFS विभाजन को एक विशेष ब्लॉक डिवाइस फ़ाइल में मैप कर सकते हैं और उस ब्लॉक डिवाइस फ़ाइल को संबोधित करके उन विभाजनों को माउंट कर सकते हैं जैसे कि यह एक संलग्न डिवाइस का हिस्सा था।

http://linuxsleuthing.blogspot.com/2012/10/christmas-come-early-hfshfs-mounting.html

लिंक में उदाहरण दुश्मन मैकबुक प्रो हैं, लेकिन जब तक वे रॉ में जीएनयू लिनक्स को प्रस्तुत नहीं करते हैं, तब तक विभिन्न डिस्क छवियों को ठीक काम करना चाहिए। (xmount - नीचे देखें)

usage : kpartx [-a|-d|-l] [-f] [-v] wholedisk

-a add partition devmappings
-r devmappings will be readonly
-d del partition devmappings
-u update partition devmappings
-l list partitions devmappings that would be added by -a
-p set device name-partition number delimiter
-g force GUID partition table (GPT)
-f force devmap create
-v verbose
-s sync mode. Don't return until the partitions are created`

xmount

xmount आपको कई इनपुट और आउटपुट हार्डडिस्क छवि प्रकारों के बीच ऑन-द-फ्लाई में परिवर्तित करने की अनुमति देता है। xmount FUSE (फाइलसिस्टम इन यूजर्सस्पेस) का उपयोग करके एक वर्चुअल फाइल सिस्टम बनाता है जिसमें इनपुट छवि का आभासी प्रतिनिधित्व होता है। वर्चुअल प्रतिनिधित्व कच्चे DD, DMG, VHD, वर्चुअलबॉक्स के वर्चुअल डिस्क फ़ाइल स्वरूप या VmWare के VMDK फ़ाइल स्वरूप में हो सकता है। इनपुट चित्र कच्चे डीडी, EWF (विशेषज्ञ गवाह संपीड़न प्रारूप) या एएफएफ (उन्नत फॉरेंसिक प्रारूप) फाइलें हो सकते हैं। इसके अलावा, xmount कैश फ़ाइल में रीडायरेक्ट की गई आउटपुट फ़ाइलों के लिए वर्चुअल राइट एक्सेस का भी समर्थन करता है। यह QEMU, KVM, VirtualBox, VmWare या एक जैसे का उपयोग करके हार्डडिस्क छवियों को बूट करना संभव बनाता है।

https://www.pinguin.lu/xmount


यदि आवश्यक हो या आवश्यकता हो तो मैं अतिरिक्त विवरण और जानकारी प्रदान कर सकता हूं।


मैं आपके उत्साह की प्रशंसा करता हूं, लेकिन: मैंने उन उपकरणों की जांच की है जो मुझे यहां मिले हैं, उनमें से कोई भी उन कमांडों को उपलब्ध नहीं है। आपके लिंक से अनुमान लगाया गया है, वे लिनक्स के लिए उपलब्ध उपकरण हैं - लेकिन जांच के लिए विभाजन एंड्रॉइड डिवाइस पर हैं, जैसा कि वर्णित है, और सीधे लिनक्स मशीन से इसे एक्सेस नहीं किया जा सकता है। इसके अलावा: डिवाइस पर किसी पार्टीशन को मैप करने से पता नहीं चलता कि इस पर क्या है (सिस्टम? डेटा? बूट?), इसलिए kpartx बाहर है। xmount ध्वनि को हल करने जैसा नहीं है।
इज़ी

मुझे वाकई लगा कि मैं कुछ कर रहा हूं। मैंने कोशिश की। इतनी जल्दी जवाब देने के लिए धन्यवाद। मेरी नाक को पीस के रख देंगे।
हैश_ब्राउन

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

1
वह DiskInfo ऐप आपको अनमाउंट रिकवरी विभाजन दिखाएगा। मैंने अभी चेक किया है, मेरा (HTC One V) mmcblk0p21 है। यह एक app के लिए बहुत विस्तृत है।
हैश_ब्रोन

1
मेरी भावना, लेकिन कहाँ। शायद जिस तरह से हम खोज रहे हैं उसे सूचीबद्ध / संग्रहीत नहीं किया गया है।
हैश_ब्राउन

0

DiskInfo आप चाहते हैं app हो जाएगा। यह सभी माउंट पॉइंट्स दिखाएगा, साथ ही सभी अनमाउंट और सभी टेम्प पार्टिशन।

यह सिर्फ एक ग्राफिकल इंटरफ़ेस है, जिसमें कोई अन्य वास्तविक कार्यक्षमता नहीं है। अपनी जरूरत के लिए बिल्कुल सही। यह पूरी तरह से बूट डिवाइस पर इस्तेमाल किया जा करने की आवश्यकता है। जड़ की जरूरत नहीं है।

स्क्रीनशॉट
स्क्रीनशॉट (बड़े संस्करण के लिए क्लिक करें)


1
क्षमा करें, बिल्कुल नहीं। आपको command-lineटैग याद आ गया होगा :) लगता है कि मैं इसे स्पष्ट रूप से लिखूंगा। मैं इन विवरणों को दिखाने वाले कई ऐप जानता हूं, लेकिन मुझे adb shellबिना किसी अतिरिक्त ऐप की मदद के उन्हें एक्सेस करना / इकट्ठा करना होगा और हमेशा किसी डिवाइस पर यह स्थापित नहीं कर सकता है।
इज़ी

ओह। इसने मेरी भावनाओं को आहत नहीं किया, मैं चाहता हूं कि इसे हटा दूं (ताकि कोई गलत काम न हो)?
HasH_BrowN

जरूरत महसूस होने पर ही करें। किसी अन्य व्यक्ति के लिए "अन्य साधनों" द्वारा समान विवरण की तलाश में उपयोगी हो सकता है। अन्यथा मैंने इसे "NAA" (नॉट-ए-उत्तर) के रूप में चिह्नित किया था; ?) - लेकिन वोट दें / यह या तो स्वीकार नहीं करेंगे;)
इज़ी

हां यह दिखाएगा कि विभाजन (युक्त) के लिए क्या है, यह केवल वास्तविक सामग्री नहीं दिखाएगा।
हैश_ब्राउन

1
यह ठीक है, इसलिए उस बिंदु से यह मेल खाता है! इसलिए कृपया, करते नहीं इस जवाब :) हटाना
इज़ी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.