[問題] 使用dd備份SD卡發生錯誤..

看板Linux作者 (超越自己)時間12年前 (2014/01/07 18:39), 編輯推噓7(7013)
留言20則, 6人參與, 最新討論串1/2 (看更多)
板上的先進大家好, 小弟使用dd指令想將16g SD卡完整備份至32g SD卡, 不過複製了兩次.. 都是出現以下錯誤... dd: writing to `/dev/sda': Input/output error 1392393+0 records in 1392392+0 records out 712904704 bytes (713 MB) copied, 626.021 s, 1.1 MB/s (唯這行有些微不同) 請問這是代表32g SD卡損壞嗎!? 將此32g SD卡拿至windows XP系統,依舊可以正常格式化, 剛才也放了2GB的檔案,顯示正常@@ (其中16g SD卡是系統碟,32g SD卡是透過讀卡機再和Linux電腦連接) 還請板上的先進不吝回答,謝謝哦.. -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.124.42.70 ※ 編輯: BIAO 來自: 140.124.42.70 (01/07 19:05)

01/07 19:34, , 1F
dmesg 看看有沒有訊息?
01/07 19:34, 1F
感謝您的回答,謝謝您的提醒,有關32g SD卡的訊息如下.. [ 7781.739807] sd 2:0:0:0: [sda] 62333952 512-byte logical blocks: (31.9 GB/29.7 GiB) [ 7781.743988] sd 2:0:0:0: Attached scsi generic sg0 type 0 [ 7781.744506] sd 2:0:0:0: [sda] Write Protect is off [ 7781.744506] sd 2:0:0:0: [sda] Mode Sense: 03 00 00 00 [ 7781.746887] sd 2:0:0:0: [sda] No Caching mode page present [ 7781.757446] sd 2:0:0:0: [sda] Assuming drive cache: write through [ 7781.769439] sd 2:0:0:0: [sda] No Caching mode page present [ 7781.775329] sd 2:0:0:0: [sda] Assuming drive cache: write through [ 7781.787322] sda: unknown partition table [ 7781.789581] smsc95xx 1-1.1:1.0: eth0: link up, 100Mbps, full-duplex, lpa 0x41E1 [ 7781.792388] sd 2:0:0:0: [sda] No Caching mode page present [ 7781.798583] sd 2:0:0:0: [sda] Assuming drive cache: write through [ 7781.806274] sd 2:0:0:0: [sda] Attached SCSI removable disk ※ 編輯: BIAO 來自: 140.124.42.70 (01/07 19:44) 還有包含如下訊息... 訊息太多,只貼上相似類似的訊息 [ 7778.600463] sd 1:0:0:0: [sda] Unhandled error code [ 7778.600524] sd 1:0:0:0: [sda] Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK [ 7778.600524] sd 1:0:0:0: [sda] CDB: Write(10): 2a 00 00 16 43 c0 00 00 f0 00 [ 7778.600524] end_request: I/O error, dev sda, sector 1459136 [ 7778.764556] sd 1:0:0:0: [sda] Unhandled error code [ 7778.764617] sd 1:0:0:0: [sda] Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK [ 7778.764617] sd 1:0:0:0: [sda] CDB: Write(10): 2a 00 00 16 44 b0 00 00 f0 00 [ 7778.764617] end_request: I/O error, dev sda, sector 1459376 ※ 編輯: BIAO 來自: 140.124.42.70 (01/07 19:46)

01/08 01:37, , 2F
北科推
01/08 01:37, 2F

01/08 03:11, , 3F
您在進行dd時是否有將sd卡卸載呢?
01/08 03:11, 3F
回D大的話..我是直接將32g SD卡直接插上讀卡機, 然後使用fdisk -l確認當前有沒有32g SD卡這個設備, 就直接使用dd了哦... 補充一下..我的16g SD卡是系統碟 XDDD 剛剛查到了這篇.. http://www.williamsang.com/archives/1764.html 我的/dev/sda設備並沒有分割區..所以我並沒有卸載.. 現在再dd一次..再上來回報結果!! sudo dd bs=1M if=/dev/mmcblk0 of=/dev/sda ※ 編輯: BIAO 來自: 140.124.42.70 (01/09 15:07) 剛才使用dd指令,加上 bs=1M後,已可順利複製, 不過32g SD卡無法像16g SD卡一樣可以開機,請問有板友可協助解決嗎!? ------------------------------------------------ ubuntu@localhost:~$ sudo fdisk -l [sudo] password for ubuntu: Disk /dev/mmcblk0: 16.1 GB, 16138633216 bytes 128 heads, 32 sectors/track, 7695 cylinders, total 31520768 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 /dev/mmcblk0p1 * 32 147455 73712 c W95 FAT32 (LBA) /dev/mmcblk0p2 147456 31520767 15686656 83 Linux Disk /dev/sda: 31.9 GB, 31914983424 bytes 64 heads, 32 sectors/track, 30436 cylinders, total 62333952 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: 0x39e25831 Disk /dev/sda doesn't contain a valid partition table ubuntu@localhost:~$ sudo dd bs=1M if=/dev/mmcblk0 of=/dev/sda 15391+0 records in 15391+0 records out 16138633216 bytes (16 GB) copied, 2858.22 s, 5.6 MB/s ubuntu@localhost:~$ -------------------------------------------------------- 以上為操作過程及內容.. 謝謝大家^^ ※ 編輯: BIAO 來自: 140.124.42.70 (01/09 16:52) ※ 編輯: BIAO 來自: 140.124.42.70 (01/09 16:56)

01/09 17:22, , 4F
再次使用fdisk -l檢查32g SD卡..
01/09 17:22, 4F

01/09 17:22, , 5F
Disk /dev/sda doesn't contain a valid partition table
01/09 17:22, 5F

01/09 17:22, , 6F
dd應該是失敗了..
01/09 17:22, 6F

01/09 17:32, , 7F
它們的 heads sectors/track 不同, 直接dd開不起來是正常的.
01/09 17:32, 7F

01/09 17:36, , 8F
請問y大..該如何解決呢?
01/09 17:36, 8F

01/09 17:37, , 9F
難道是傳說中的.. grub?
01/09 17:37, 9F

01/09 18:05, , 10F
據說有個東西叫 Clonezilla, 可以試試看(但我沒用過).
01/09 18:05, 10F

01/09 19:05, , 11F
謝謝y大的協助.. 您說的是再生龍XDDD
01/09 19:05, 11F
問題已經解決了,試了多次dd後,終於..複製好系統了 ^^ (先前不曉得是怎麼回事就是了...) 我愛dd,dd好用~~~ ※ 編輯: BIAO 來自: 140.124.42.70 (01/09 19:07)

01/09 19:57, , 12F
heads 不同, 也是開得起來? 開進去後 fdisk 又是什麼情況?
01/09 19:57, 12F

01/09 20:14, , 13F
先把sd card 格式化,產生sda1
01/09 20:14, 13F

01/09 20:14, , 14F
在dd ... of=/dev/sda1
01/09 20:14, 14F
回y大:開的起來喔..32g SD卡插進讀卡機時是/dev/sda, 插進系統插槽時,變成/dev/mmcblk0喔,目前用ssh遠端測試,還有samba都ok! 謝謝j大:我沒有格式化耶,直接就dd了.. 據鳥哥的書是說會直接複製磁碟分割表 XD ※ 編輯: BIAO 來自: 140.124.42.70 (01/09 20:28)

01/10 01:01, , 15F
wikipedia 的 主開機紀錄 頁面, 其中 硬碟分割表 一段提到:
01/10 01:01, 15F

01/10 01:02, , 16F
大於8.4G的硬碟, CHS已經無法表示, ...
01/10 01:02, 16F

01/10 01:02, , 17F
... 直接使用08-0f的4位元組相對值, 再進行內部轉換.
01/10 01:02, 17F

01/10 01:03, , 18F
難怪 heads 不同也沒問題了, 因為已經忽略不看了.
01/10 01:03, 18F

01/10 01:05, , 19F
應該說, 夠大 (超過 8.4G) 才會忽略不看.
01/10 01:05, 19F

01/14 16:02, , 20F
謝謝y大的精闢解釋^^
01/14 16:02, 20F
文章代碼(AID): #1Iozbr0W (Linux)
討論串 (同標題文章)
文章代碼(AID): #1Iozbr0W (Linux)