Linux
dd 指令參考
將某個硬碟分割區 備份成 images 檔案:
本例: 將 sda1 整個備份成一個檔 sda1_bak.img
$ dd if=/dev/sda1 of=/xxx/path/sda1_bak.img
也可以壓縮備份
$ dd if=/dev/sda1 | gzip > /xxx/path/sda1_bak.img.gz
將 /dev/sda1 整個複製到 /dev/sdb1
$ dd if=/dev/sda1 of=/dev/sdb1
整顆硬碟複製 ==> sd1 複製到 sdb
$ dd if=/dev/sda of=/dev/sdb
還原:
$dd if=/mnt/sdb1/sda1_bak.img of=/dev/sda1
例如 raspberry image 檔案的還原到 sd card:
$ dd if=/tmp/2014-01-07-wheezy-raspbian.img of=/dev/mmcblk0 5785600+0 records in 5785600+0 records out 2962227200 bytes (3.0 GB) copied, 2078.95 s, 1.4 MB/s
$ dd if=/tmp/2014-01-07-wheezy-raspbian.img of=/dev/mmcblk0 bs=4M 706+1 records in 706+1 records out 2962227200 bytes (3.0 GB) copied, 516.177 s, 5.7 MB/s real 8m36.206s user 0m0.039s sys 1m29.598s (M 是大寫,加上 bs=4M 快非常多!)
Mac OS X
root@yoyomac ~# diskutil list /dev/disk0 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *121.3 GB disk0 1: EFI EFI 209.7 MB disk0s1 2: Apple_CoreStorage Macintosh HD 120.5 GB disk0s2 3: Apple_Boot Recovery HD 650.0 MB disk0s3 /dev/disk1 (internal, virtual): #: TYPE NAME SIZE IDENTIFIER 0: Apple_HFS Macintosh HD +120.1 GB disk1 Logical Volume on disk0s2 448E83A9-8584-4F6C-80D1-2F58A9582A14 Unlocked Encrypted /dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *15.9 GB disk2 1: Windows_FAT_32 boot 62.9 MB disk2s1 2: Linux 15.9 GB disk2s2
先將 SD card 備份成 image
root@yoyomac ~# dd if=/dev/disk2 of=/var/root/raspberrypi.dmg
** 在 Mac Air上讀 sd card 的速度居然只有 2.5~3MB/s
相同的記憶卡/讀卡機(USB介面) 在PC上 有 15MB/s
退出舊的 SD card / Unmount the SD Card
root@yoyomac ~# diskutil unmountDisk
插入一張新的 SD card 後
將 image 還原到 SD card
root@yoyomac ~# dd if=~/Desktop/raspberrypi.dmg of=/dev/disk2
另外 dd 其它用法
製作 swap 檔案
$ dd if=/dev/zero of=/tmp/swapfile64 bs=4k count=16384 16384+0 records in 16384+0 records out 67108864 bytes (67 MB) copied, 0.277933 s, 241 MB/s產生 /tmp/swapfile 64MB 的檔案
$swapon /tmp/swapfile 可啟用這個 swap 檔
ps:上面 dd 指令回覆 67MB 是因為 dd 以 1k=1000bytes 來計算
產生一個 100MB 大檔
$ dd if=/dev/zero of=/tmp/file_100mb bs=1M count=100 100+0 records in 100+0 records out 104857600 bytes (105 MB) copied, 5.87439 s, 17.8 MB/s
ps:上面 dd 指令回覆 105MB 是因為 dd 以 1k=1000bytes 來計算
據說 也可測記憶體的速度:
$ dd if=/dev/zero of=/dev/null bs=4M count=1000 1000+0 records in 1000+0 records out 4194304000 bytes (4.2 GB) copied, 14.1796 s, 296 MB/s ** Fujitsu u1010 小電腦 $ dd if=/dev/zero of=/dev/null bs=4M count=10000 10000+0 records in 10000+0 records out 41943040000 bytes (42 GB) copied, 4.38987 s, 9.6 GB/s ** AWS Micro Instance
其它參考:
過年俗話==初一早 初二早 初三睏佮飽 初四接神 初五隔開 初六挹肥 初七七元 初八完全 初九天公生初十有食食 十一請囝婿 十二查某囝轉來拜 十三食泔糜配芥菜 十四結燈棚 十五上元暝