iT邦幫忙

DAY 14
3

Linux Pi的奇幻旅程系列 第 11

Linux Pi的奇幻旅程(14)-備份與還原

再生龍Clonezillahttp://www.clonezilla.org/是國家高速網路與計算中心所開發的備份與還原系統, 而Clonezilla的核心就是dd.

上一篇: Linux Pi的奇幻旅程(13)-設定的總結
http://ithelp.ithome.com.tw/question/10134013
下一篇: Linux Pi的奇幻旅程(15)-大改造
http://ithelp.ithome.com.tw/question/10134875
全部: http://ithelp.ithome.com.tw/ironman6/player/bizpro/alll/1
再生龍Clonezillahttp://www.clonezilla.org/是國家高速網路與計算中心所開發的備份與還原系統, 有了再生龍就夠了, 可以用再生龍來備份, 而Clonezilla的核心就是dd. 前文提及用dd來備份Raspbian, 本文將詳細解說.

首先, 把SD卡接上電腦, 可以用dmsg來查找被掛載的路徑. 可以用mount指令來查看, 也可以用fdisk來查, 例如:

$ sudo fdisk -l
....
磁碟 /dev/sdb: 3980 MB,3980394496 位元組
123 磁頭,62 磁區/磁軌,1019 磁柱,總計 7774208 磁區
單位 = 磁區 之於 1 * 512 = 512 位元組
磁區大小 (邏輯/實體):512 位元組 / 512 位元組
I/O 大小 (最小/最佳化):512 位元組 / 512 位元組
磁碟識別碼:0x000b03b7

所用裝置 開機 開始 結束 區塊 識別號 系統
/dev/sdb1 8192 122879 57344 c W95 FAT32 (LBA)
/dev/sdb2 122880 7774207 3825664 83 Linux

找到SD卡被自動掛載的路徑, 就要卸載SD卡:
$ sudo umount /dev/sdb1
$ sudo umount /dev/sdb2

請注意, 使用dd指令時, 最好是將要備份的儲存裝置卸載. 卸載完SD卡之後, 就可以開始備份了:

$ sudo dd bs=4M if=/dev/sdb of=Raspbian-20131006T1725.img
949+0 records in
949+0 records out
3980394496 bytes (4.0 GB) copied, 261.19 s, 15.2 MB/s

備份的時間是幾分鐘, 當然要看SD卡的速度. 備份下來的檔案是印象檔, 約1.8G大, 可以用tar來做壓縮的動作:
$ tar cfjv Raspbian-20131006T1725.img.tar.bz2 Raspbian-20131006T1725.img

tar是最常用到的壓縮工具, Linux上幾乎大部分的壓縮都是用tar, 而這裡用的壓縮法是bzip2, http://www.bzip.org/, 也就是參數cfjv中的j的意思. 而c當然是create, v則是verbose, f是檔案file的意思, 這是用來壓縮的常用參數.

Linux上常用的壓縮格式還有gziphttp://www.gzip.org/, 這也是我常用的格式, 參數的用法是把j換成z:
$ tar cfzv Raspbian-20131006T1725.img.tar.gz Raspbian-20131006T1725.img

用dd來備份成印象檔, 用tar來打包與壓縮印象檔可以節省很大的空間, 通常bz2比gz小, 但差距不是很大, 而bz2和gz都比zip的壓縮格式小很多.

在接下來的文章中, 將要移除圖形界面, 除了進入文字模式外, 還有網頁模式, 因此, 我使用了第二張SD卡, 當然就用剛剛備份的印象檔了.

把新的SD卡插入後, 首先要卸載:
$ sudo umount /dev/sdb1

之後就執行錄寫印象檔到SD卡的動作:
$ sudo dd bs=4M if=Raspbian-20131006T1725.img of=/dev/sdb
949+0 records in
949+0 records out
3980394496 bytes (4.0 GB) copied, 417.677 s, 9.5 MB/s

這時, 就擁有兩張內容一模一樣的SD卡. 這就是備份與還原的過程了.


上一篇
Linux Pi的奇幻旅程(13)-設定的總結
下一篇
Linux Pi的奇幻旅程(15)-大改造
系列文
Linux Pi的奇幻旅程27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
O口O
iT邦新手 4 級 ‧ 2021-12-30 21:22:49

想問一下,是不是缷載/dev/sda和/dev/sdb作業系統還能走?

bizpro iT邦大師 1 級 ‧ 2022-01-01 10:55:26 檢舉

新年快樂.

/dev/sda和/dev/sdb是磁碟代號, 要分割成分割區, 格式化(format)成檔案系統, 才能掛載/卸載分割區, 例如/dev/sda1,.../dev/sdb1,....等等分割區(partition), 並不是掛載/卸載磁區.

要卸載分割區, 必須是未使用中的分割區, 如果根目錄是在/dev/sda2分割區中被掛載, 而試圖卸載/dev/sda2:
$ sudo umount /dev/sda2
umount: /: target is busy.
因目標區繁忙(使用中), 就無法被卸載(umount)

文中的/dev/sdb1和/dev/sdb2是SD卡中的分割區, 插入此卡到一台主電腦的USB外接盒中被自動被掛載, 只要沒有開啟或使用/dev/sdb1和/dev/sdb2的內容, 就可以卸載這塊SD卡中的分割區, 只是外接的分割區, 不影響主電腦的Linux作業系統的運行.

O口O iT邦新手 4 級 ‧ 2022-02-12 22:34:34 檢舉

感謝幫忙解答

我要留言

立即登入留言