Clonezilla 再生龍

自由與開放原始碼的硬碟備份,還原與對拷軟體
Clonezilla logo Clonezilla live 文件集 Clonezilla logo
Print all this session
Preseed options to do job after booting : 指定一些動作,在Clonezilla live開機後自動執行
  1. 場景
  2. 預先指定的動作
場景
透過修改開機參數,可以預先指定要跑得動作,讓Clonezilla live開機後自動執行那些指定的動作。
本例我們要預先指定好語言,鍵盤,掛載印象檔儲藏庫,然後選擇印象檔,還原到分割區。
預先指定的動作
參考Clonezilla live的開機參數(boot parameters),相關的開機參數我們可以預先指定的有:
  1. 指定操作語言為正體中文:
    • locales=zh_TW.UTF-8
  2. 指定操作的鍵盤為美式鍵盤,也就是不改變預設鍵盤:
    • keyboard-layouts=NONE 或者 keyboard-layouts=us
  3. 指定掛載印象檔儲藏庫,以本例而言,儲藏庫在第一顆硬碟的第4個分割區/dev/sda4,目錄是"/Backup/"。這樣的話,可以這樣指定開機參數:
    • ocs_prerun="mount /dev/sda4 /mnt"
    • ocs_prerun1="mount --bind /mnt/Backup /home/partimag/

    //注意// 這裡我們分兩個步驟掛載,若印象檔在根目錄(/)而不是"/Backup/"的話第二個步驟(ocs_prerun1)就不需要了。

    若是印象檔在網路磁碟機上,例如網路芳,可以這樣做:

    • ocs_prerun1="dhclient -v eth0"
    • ocs_prerun2="sleep 2"
    • ocs_prerun3="mount -t cifs -o user=$ACCOUNT,password=$PASSWD //$SAMBA_SERVER_IP/$PATH_TO_IMAGE /home/partimag" (將$ACCOUNT, $PASSWD, $SAMBA_SERVER_IP, $PATH_TO_IMAGE取代為適當的字串,例如: "mount -t cifs -o user=administrator,password=apple //192.168.1.3/images2/clonezilla /home/partimag")。
    • ocs_prerun4="sleep 2"
      這邊我們假設區域網路中有DHCP服務,若你要手動指定靜態固定的IP位址等,可以用"ipconfig"與"route"或者"ip"指令來達成。這部份請參考GNU/Linux的管理手冊。
    若要掛載ssh服務的主機上的印象檔儲藏庫,你可以將ocs_prerun3這樣指定:
    • ocs_prerun3="sshfs $SSH_ACCOUNT@$SSH_SRV:"$SSHFS_DIR" /home/partimag/" (將$SSH_ACCOUNT, $SSH_SRV, 與 $SSHFS_DIR 取代為適當的字串,例: "sshfs chopin@192.168.100.254:/home/chopin /home/partimag"。有關sshfs,你可以在sshfs的文件查到更多的資訊).
  4. 指定要還原的工作,我們將詢問使用者要選哪個印象檔,然後將那個印象檔還原到第一顆硬碟的第1個分割區/dev/sda1,所以ocs_live_run這個開機參數可以這樣寫:
    • ocs_live_run="ocs-sr -g auto -e1 auto -e2 -c -r -j2 -k -p true restoreparts ask_user sda1"

    //注意// 這個指令可以從再生龍的交談式模式的綠色指令得到,例如這裡。"ask_user"這個字是再生龍的保留字,並不是印象檔的名稱,而是特別用來可以跳出一個選單,讓使用者選印象檔或者目的碟/目的分割區。

  5. 所以再生龍的開機選單檔(syslinux.cfg, isolinux.cfg或者grub.cfg)就變成這樣:

    ---------------------------------------------
    label Clonezilla live
    MENU DEFAULT
    # MENU HIDE
    MENU LABEL Clonezilla live (Default settings, VGA 800x600)
    # MENU PASSWD
    kernel /live/vmlinuz
    append initrd=/live/initrd.img boot=live union=overlay username=user config noswap nolocales edd=on nomodeset noprompt ocs_prerun="mount /dev/sda4 /mnt" ocs_prerun1="mount --bind /mnt/Backup /home/partimag/ ocs_live_run="ocs-sr -g auto -e1 auto -e2 -c -r -j2 -k -p true restoreparts ask_user sda1" ocs_live_extra_param="" keyboard-layouts=NONE ocs_live_batch="no" locales=zh_TW.UTF-8 ip=frommedia nosplash
    TEXT HELP
    * Boot menu for BIOS machine
    * Clonezilla live version: 2.6.7-28-amd64. (C) 2003-2020, NCHC, Taiwan
    * Disclaimer: Clonezilla comes with ABSOLUTELY NO WARRANTY
    ENDTEXT

    ---------------------------------------------

  6. 當預設好這些之後,在機器上開啟Clonezilla live,預設就會用你指定好的語言與鍵盤,然後問你印象檔要用哪個,接著跟你確認兩次之後,還原到/dev/sda4。

註: Clonezilla live 光碟版因為檔案是唯讀,所以使用USB隨身碟來做上述的客製化會比較容易。若你要將Clonezilla live的zip檔解開後,修改syslinux/isolinux.cfg之後,轉成iso檔來燒到光碟片上,可以參考這裡。


Last modified: August 04 2020 14:57:43.