1. 程式人生 > >Linux 分割槽名稱和磁碟路徑匹配 及 磁碟讀取

Linux 分割槽名稱和磁碟路徑匹配 及 磁碟讀取

Android 基於linux開發,所以linux的基本命令在android手機上是可以執行的,基於這個原理,可以使用 Linux 的dd命令進行移動端磁碟讀取與儲存。

1.首先進入如下目錄:

/dev/block/platform/7824900.sdhci/by-name

在該目錄下ls,就可以看到分割槽名稱和對應的磁碟,如下:

rwxrwxrwx root     root              1970-02-05 09:10 DDR -> /dev/block/mmcblk0p21
rwxrwxrwx root     root              1970-02-05 09:10 aboot -> /dev/block/mmcblk0p2
rwxrwxrwx root     root              1970-02-05 09:10 abootbak -> /dev/block/mmcblk0p3
rwxrwxrwx root     root              1970-02-05 09:10 autobak -> /dev/block/mmcblk0p19
rwxrwxrwx root     root              1970-02-05 09:10 boot -> /dev/block/mmcblk0p20
rwxrwxrwx root     root              1970-02-05 09:10 cache -> /dev/block/mmcblk0p26
rwxrwxrwx root     root              1970-02-05 09:10 config -> /dev/block/mmcblk0p28
rwxrwxrwx root     root              1970-02-05 09:10 devinfo -> /dev/block/mmcblk0p30
rwxrwxrwx root     root              1970-02-05 09:10 fsc -> /dev/block/mmcblk0p15
rwxrwxrwx root     root              1970-02-05 09:10 fsg -> /dev/block/mmcblk0p22
rwxrwxrwx root     root              1970-02-05 09:10 hyp -> /dev/block/mmcblk0p10
rwxrwxrwx root     root              1970-02-05 09:10 hypbak -> /dev/block/mmcblk0p11
rwxrwxrwx root     root              1970-02-05 09:10 keystore -> /dev/block/mmcblk0p27
rwxrwxrwx root     root              1970-02-05 09:10 misc -> /dev/block/mmcblk0p14
rwxrwxrwx root     root              1970-02-05 09:10 modem -> /dev/block/mmcblk0p1
rwxrwxrwx root     root              1970-02-05 09:10 modemst1 -> /dev/block/mmcblk0p12
rwxrwxrwx root     root              1970-02-05 09:10 modemst2 -> /dev/block/mmcblk0p13
rwxrwxrwx root     root              1970-02-05 09:10 oem -> /dev/block/mmcblk0p29
rwxrwxrwx root     root              1970-02-05 09:10 panic -> /dev/block/mmcblk0p18
rwxrwxrwx root     root              1970-02-05 09:10 params -> /dev/block/mmcblk0p17
rwxrwxrwx root     root              1970-02-05 09:10 persist -> /dev/block/mmcblk0p25
rwxrwxrwx root     root              1970-02-05 09:10 recovery -> /dev/block/mmcblk0p24
rwxrwxrwx root     root              1970-02-05 09:10 rpm -> /dev/block/mmcblk0p6
rwxrwxrwx root     root              1970-02-05 09:10 rpmbak -> /dev/block/mmcblk0p7
rwxrwxrwx root     root              1970-02-05 09:10 sbl1 -> /dev/block/mmcblk0p4
rwxrwxrwx root     root              1970-02-05 09:10 sbl1bak -> /dev/block/mmcblk0p5
rwxrwxrwx root     root              1970-02-05 09:10 sec -> /dev/block/mmcblk0p23
rwxrwxrwx root     root              1970-02-05 09:10 ssd -> /dev/block/mmcblk0p16
rwxrwxrwx root     root              1970-02-05 09:10 system -> /dev/block/mmcblk0p31
rwxrwxrwx root     root              1970-02-05 09:10 tz -> /dev/block/mmcblk0p8
rwxrwxrwx root     root              1970-02-05 09:10 tzbak -> /dev/block/mmcblk0p9
rwxrwxrwx root     root              1970-02-05 09:10 userdata -> /dev/block/mmcblk0p32

這個時候可以用dd命令讀取分割槽和對應的磁碟了。

2.使用dd命令讀取磁碟

比如我想讀取system分割槽的磁碟,則dd命令格式如下:dd if= /dev/block/mmcblk0p31 of=/dev/system.bin

其中if表示輸入檔案,of表示輸出檔案

3.dd的引數表基本如下:

語法:dd [選項] 

if =輸入檔案(或裝置名稱)。 

of =輸出檔案(或裝置名稱)。 

ibs = bytes 一次讀取bytes位元組,即讀入緩衝區的位元組數。 

skip = blocks 跳過讀入緩衝區開頭的ibs*blocks塊。 

obs = bytes 一次寫入bytes位元組,即寫入緩衝區的位元組數。 



bs = bytes 同時設定讀/寫緩衝區的位元組數(等於設定ibs和obs)。 

cbs = byte 一次轉換bytes位元組。 

count=blocks 只拷貝輸入的blocks塊。 

conv = ASCII 把EBCDIC碼轉換為ASCIl碼。 

conv = ebcdic 把ASCIl碼轉換為EBCDIC碼。 

conv = ibm 把ASCIl碼轉換為alternate EBCDIC碼。 

conv = block 把變動位轉換成固定字元。 

conv = ublock 把固定位轉換成變動位。 

conv = ucase 把字母由小寫轉換為大寫。 

conv = lcase 把字母由大寫轉換為小寫。 


conv = notrunc 不截短輸出檔案。 

conv = swab 交換每一對輸入位元組。 

conv = noerror 出錯時不停止處理。 

conv = sync 把每個輸入記錄的大小都調到ibs的大小(用NUL填充)。