為了備份黑蘋果的安裝碟,我稍微研究了一些 dd 的用法。一般的dd 備份整個隨身碟,出來的檔案大小都跟隨身碟的容量差不多大:像是如果隨身碟 32 GB,檔案 3 GB,備份出來的東西也會是 32GB…,為了有效利用筆電渺小的 SSD,找到了不錯的解法,而且可以順利開機呢。
GParted
使用 GParted 的目的就是「調整磁區」。一般製作完各種安裝碟後,通常都會剩下很多的容量可以使用,但是開機碟並不需要這些空間,所以可以使用 GParted 把多切的部份移動,拉到最小,大檔案可能會花很多時間,不過應該都還好。
使用 dd 備份開機隨身碟
移動完分區後,可以使用 fdisk 來看最後一個分區的 block 的位置:
sudo fdisk -l
得到的結果如下(請用電腦看吧,手機可能會亂掉)
#!/usr/bin/bash
Disk /dev/sdb: 7.4 GiB, 7897874432 bytes, 15425536 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
Disklabel type: gpt
Disk identifier: F88F7463-BCCF-4E15-A0DF-B6DDB10CF92E
所用裝置 Start 結束 磁區 Size 類型
/dev/sdb1 40 409639 409600 200M EFI System
/dev/sdb2 409640 9848831 9439192 4.5G Apple HFS/HFS+
我的黑蘋果安裝碟總共有兩個分區(sdb1、sdb2),所以就把最後一個的結束位置記下來(我的是 9848831 ),使用 count 指定大小; 一個磁區(sector)的大小為 512 bytes,所以就要指定 block size 為 512,dd一個磁區一個磁區慢慢讀取,bs*count 就是總容量。
dd 用法如下:
dd if=來源 of=目的地 bs=BlockSize count=數字 # <strong>bs*count 就是總容量</strong>
請注意 if 跟 of 的對象,弄錯可是會毀損檔案的。
sudo dd if=/dev/sdb of=~/macOSusb.dd bs=512 count=數字
想看進度的話,可以打開另外一個終端機執行:
sudo watch -n 5 pkill -USR1 ^dd$
dd 那個畫面就會顯示進度了。
完成後可以看一下你的檔案大小是不是跟 fdisk -l 所顯示的 Size 差不多,這樣就完成了。然而,dd 最方便的地方就在於,製作出來的檔案可以直接用 win32diskimager 還原到其他 USB 上面使用,真的無敵啦~!! 終於可以安心的把隨身碟格式化了XD
ref : Copying a bootable USB drive