將FreeBSD移到一個新的硬盤 |
本文主要說明怎樣把你已安裝的FreeBSD從一個硬盤移到另一個。我用dump/restore成功試驗了多次,在開始前,請閱讀本文。 我們假設你的FreeBS已裝在一個4G的硬盤上(IDE Master ad0),並且我們想把它移到一個新的20G的硬盤上, 你所要做的僅僅是去掉老的硬盤,裝上20G的新硬盤(作爲IDE Master)並且進行FreeBSD的最小化安裝(minimal clean install),準確設置好你的分區。請確定你已設置了硬盤爲可啓動,並且啓動一次做爲測試! 接下來,重新裝上原硬盤(4G)(作爲IDE Master),和新硬盤(20G)(作爲IDE Slave)。啓動原來安裝的FreeBSD到單用戶模式下(single user mode): 進入單用戶模式: 1.在10秒倒計時的時候按下空格(space)鍵,輸入 boot -s 然後在#後輸入 fsck -p mount -u / mount -a swapon -a adjkerntz -i 2.確定你已經有了所需的設備文件,這樣你就可以mount分區到從盤上。 cd /dev ./MAKEDEV ad1s1a ./MAKEDEV ad1s1e ./MAKEDEV ad1s1f FreeBSD 5.x版本採用devfs,可以自動檢測硬件,因此不用 3.建立新硬盤分區的掛載點(mount point) mkdir /backup mkdir /backup/root mkdir /backup/usr mkdir /backup/var 4.我用一段shell腳本來做以下幾步操作: 1 - create new filesystems (newfs the drive) 2 - mount the partitions 3 - dump the data from my old drive, and restore it to my new one 4 - unmount the new drives partitions 5 - enable softupdates on the new drive (optional) 下面是我用的Shell腳本 源碼: #!/bin/sh newfs /dev/ad1s1a newfs /dev/ad1s1e newfs /dev/ad1s1f mount /dev/ad1s1a /backup/root mount /dev/ad1s1e /backup/var mount /dev/ad1s1f /backup/usr ( dump -0f - / ) | ( cd /backup/root ; restore -rf - ) ( dump -0f - /var ) | ( cd /backup/var ; restore -rf - ) ( dump -0f - /usr ) | ( cd /backup/usr ; restore -rf - ) umount /backup/root umount /backup/var umount /backup/usr tunefs -n enable /dev/ad1s1a ###在分區上面啓用SOFTUPDATES tunefs -n enable /dev/ad1s1e tunefs -n enable /dev/ad1s1f #end 進行dump/restore的操作可能會花幾個小時的時間,請耐心等待。當硬盤當數據dumped and restored到新硬盤後,你要做的僅僅是卸除老硬盤(4G),把新硬盤設置爲主盤(IDE Master)並且重啓(Reboot).現在你就可以從新硬盤(20G)啓動原來已安裝的FreeBSD了! 你可以下載diskcopyshell 腳本,用tar xvf drivecopy.tar解壓得到drivecopy.sh文件。如果你自定義了分區(custom partitions),你需要修改drivecopy.sh文件。加入你在安裝的時候選擇了標準FreeBSD 分區(standard FreeBSD partitions),就把需要修改此文件。 你可以通過 man dump man restore man tar man mount man adjkerntz 來得到這些命令的更多信息! |
將FreeBSD移到一個新的硬盤
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.