但可惜的是,『Norton Ghost』是商業軟體,
且它只支援 ext2/ext3,
在運用上總有其不便之處。
而在 Linux 上也提供了不少可以用來備份硬碟的軟體,如:partimage 等等。
不過在此所提供的方法則比較單純:用 tar 來備份!
假設您的 Linux 是安裝在 /dev/hda1 上,而您的 /dev/hdb1 則準備了足夠的空間來擺放這個 Image,
那麼,請放入 Debian GNU/Linux Woody 3.0 的第一片光碟,
使用 bf24 參數開機。
在開機完畢後,
按下 <Alt><F2> 來切換至第二個 Console,
使用以下指令將 /dev/hda1 和 /dev/hdb1 給掛載起來:
- 代碼: 選擇全部
# 建立必要的掛載目錄:
cd /mnt
mkdir a
mkdir b
# 將 /dev/hda1 和 /dev/hdb1 給掛載起來
mount -t ext3 /dev/hda1 /mnt/a
mount -t ext3 /dev/hdb1 /mnt/b
由於 tar 指令已包含在 Debian GNU/Linux Woody 3.0 的安裝程式裡,
所以我們直接使用 tar 將 /dev/hda1 給整個備份起來吧:
- 代碼: 選擇全部
# 注意 -C 參數的用法。
# 注意,在 Debian GNU/Linux Woody 3.0 的安裝程式裡,tar 並不支援 -z 參數。
tar cvf /mnt/b/LinuxBackup.tar -C /mnt/a ./
等 tar 指令執行完畢之後,我們就有了 /mnt/b/LinuxBackup.tar 這個備份檔了。
不過在結束之前,建議務必要執行 sync 和 umounbt 指令:
- 代碼: 選擇全部
sync
umount /mnt/a
umount /mnt/b
好囉,任務完成,可以重新啟動了!
- 代碼: 選擇全部
reboot
我們所得到的這個 LinuxBackup.tar 就是本文所說的 Linux 影像檔。
它可以使用 gzip 給壓縮起來,
也可以將其燒錄至光碟片中,
或者是放到網路上去。
而還原的方式也因而有種種不同的做法。
不過其實原理都是大同小異的...
好了。現在我們要把這個 LinuxBackup.tar 給還原至另外一個磁碟分割區去。
一樣,請放入 Debian GNU/Linux Woody 3.0 的第一片光碟,
使用 bf24 參數開機。
在開機完畢後,
按下 <Alt><F2> 來切換至第二個 Console,
使用以下指令將新的 /dev/hda1 及包含了 LinuxBackup.tar 的 /dev/hdb1 給掛載起來:
- 代碼: 選擇全部
# 建立必要的掛載目錄:
cd /mnt
mkdir a
mkdir b
# 先建立 /dev/hda1 的檔案系統(亦即格式化),在此是將其格式化為 ext3。
mke2fs -j /dev/hda1
# 將 /dev/hda1 和 /dev/hdb1 給掛載起來
mount -t ext3 /dev/hda1 /mnt/a
mount -t ext3 /dev/hdb1 /mnt/b
然後,把這個 LinuxBackup.tar 給還原回去吧:
- 代碼: 選擇全部
tar xvf /mnt/b/LinuxBackup.tar -C /mnt/a
之後,最重要的,就是要重建 LILO/GRUB:
- 代碼: 選擇全部
# 使用 chroot 將 / 切換到 /mnt/a 去
chroot /mnt/a
# 重建 LILO 吧!(LILO 的設定及使用方式請參考其說明文件。)
lilo -v -v
# 或是重建 GRUB:(GRUB 的設定及使用方式請參考其說明文件。)
grub-install /dev/hda
# 如果有必要,請務必記得修改 /etc/fstab 裡的 / 之掛載位置及其格式,如 ext3 等。
vi /etc/fstab
# 跳離 chroot
exit
一樣,在結束之前,建議執行 sync 和 umounbt 指令:
- 代碼: 選擇全部
sync
umount /mnt/a
umount /mnt/b
好,搞定了,重開機吧!
- 代碼: 選擇全部
reboot
當然囉,
如果您的 /homt /usr /var... 是個別 mount 在別的磁碟分割區,
那麼以上的步驟可能會更加繁複一點...
(在此狀況下,就算是使用 Norton Ghost 也會遇到相同的困擾。)
使用 tar 來製作 Linux 的 Image 檔案有數個好處:
1. tar 不會在乎 / 所處的是哪一種格式的分割區,
因為它備份的是『檔案』,而不是整個磁碟資訊。
所以它可以 備份/還原 ext2/ext3/jfs/reiserfs/xfs/vfat 磁區裡的檔案,
且可以在其中自由轉換。
2. tar 指令普遍存在各種 Linux 安裝光碟裡。
所以並不必為此準備專用的光碟或磁碟片。
3. tar『據說』是使用 block 為單位來進行的,
所以其速度會比 cp、dd 等指令快上許多。
而拜 Linux 之賜,其速度當然也會比在 16 位元的 MS DOS 下跑的 Norton Ghost 快上許多!
警告:在這個 LinuxBackup.tar 裡可是包含了您的 Linux 的所有資訊,當然也包括了 root 的密碼。所以該 Image 檔案若外流很可能會對您的 Linux 之安全上造成嚴重傷害。
註:在 Debian GNU/Linux Sarge 3.1 的安裝程式中,tar 並不支援 -c 參數,所以是無法拿它來製作 Image 檔案的。不過,它卻支援了 -z 參數,所以拿它來還原 *.tar.gz 的備份檔是沒有問題的。
個人已針對這個問題進行了 Bug Report,希望未來,Debian GNU/Linux Sarge 3.1 的安裝程式中的 tar 能夠支援 -c 參數。
而如果 Kernel 能夠正確驅動如:磁碟等重要電腦元件,
並能設定好 LILO/GRUB 及 /etc/fstab,
那麼同一個 Debian Image 檔案是可以任意轉用於其它的機器上的,
像 Konppix 就是如此。
而個人就是使用這個方式,
把 VMware 裡的 Debian 轉存至我的 PC 及 Notebook 上,
但 VMware 和我的 PC 及 Notebook 在硬體上可以說是南轅北轍,
可是個人在 PC 及 Notebook 上使用 VMware 所作出來的 Image 可以說是沒遇上什麼問題呢!
所以如果有備份 Linux 整個系統之需要時,
也不妨考慮採用這個方案哦!
順便慶祝一下個人的灌水第 1800 篇。嘻∼