UNIX文件系統的挽救技巧
隨著SCO Unix操作系統廣泛應用于金融、電信等領域,使用UNIX系統的用戶經常會遇到這樣的煩惱:UNIX系統崩潰后,使用應急引導盤等方法仍然不能修復引導區,系統不能正常啟動,或者即使用應急引導盤啟動系統,面對大量的資料數據也不能用軟盤備份出來。由于UNIX系統是多用戶多進程的分時系統,尤其是 SCO UNIX OpenServer 5.0.5以上版本面市的時間不太長,許多系統管理員面對這種情況也沒有解決辦法,只好重裝系統,導致大量的資料數據丟失。為了解決這個問題,筆者經過一段時間的摸索,總結出一種能夠處理各種系統崩潰后將硬盤上任何內容拷貝出來的方法。現將挽救文件系統的技巧介紹如下(假定系統為SCO UNIX OpenServer 5.0.5)。 (1)準備一臺能夠正常啟動UNIX系統的機器(以下簡稱主硬盤):目前大部分電腦主板都有兩個硬盤接口,能夠連接兩個硬盤,可以通過進入CMOS查看,然后用df -v命令檢查主硬盤的剩余空間,要留有足夠大的自由空間。主硬盤接在主板的IDE0口,將崩潰的硬盤(以下簡稱目標盤)接到主板的IDE1口,兩個硬盤的跳線都設為MASTER,修改CMOS參數的Primary IDE Master和Secondary IDE Master設為自動或硬盤參數;如果主板只有一個IDE口,將主硬盤接到電纜線的Master接口,目標盤接在Slave接口上,同時將目標盤的DIP跳線開關撥到Slave位置上,修改CMOS參數的Primary IDE Master和Primary IDE Slave設為自動或硬盤參數。 (2)配置主硬盤,增加對第二個硬盤的識別。 #mkdev hd 顯示: 1. Add a hard disk to IDE controller 2. Add a hard disk to SCSI controller 3. Add a hard disk to IDA controller(EISA) 根據硬盤類型,選擇相應數字后,系統會自動增加一些設備類型。 #divvy 假定目標盤為4.2G硬盤,如表1所顯示。 顯示主硬盤分區表情況,對各分區name欄沒有命名的要重新命名,選擇 n[ame] Name or rename a division 對分區0、1、2、6、7分別如表1給一個名字,再選擇 I[nstall] Install the division set-up shown (3)啟動機器,引導系統進入單用戶狀態。 (4) 修改目標盤各分區name欄。 #divvy /dev/hd10 進入divvy的交互界面,顯示目標硬盤分區表情況,假定目標盤為2.5G硬盤,如下頁表2所示。 對0、1、2、6、7分區name欄沒有命名的要重新命名,方法同第2步。 上述工作完成后,就可以拷貝目標盤上任何分區的文件到主硬盤上,注意不要把主硬盤上相同的文件覆蓋和破壞。 例一:將主硬盤的/stand/unix拷貝到目標盤相應位置 1#mount /dev/boot1 /mnt ;安裝目標盤的boot區到/mnt目錄 2#cp -r /stand/ /mnt ;拷貝主硬盤上的boot文件系統到目標盤的boot區 3#umount /mnt ;拆卸文件系統 例二:將目標盤上/home/cxqt目錄拷貝到主硬盤上相應目標 1#mount /dev/root1 /mnt ;安裝目標盤的root區到/mnt目錄 2#cp -r /mnt/home/cxqt /home ;拷貝目標盤的根文件系統/home/cxqt目錄到主硬盤的相應目錄 3#umount /mnt 例三:將目標盤上/home/kjqt目錄打包拷貝出來 1#mount /dev/root1 /mnt 2#cd /mnt/home 3#tar cvf /tmp/kjqt.pkg kjqt 4#umount /mnt 5#haltsys 6將目標盤拆下,把硬盤跳線和CMOS參數改回原樣,這樣整個恢復過程完成。