※ 引述《vu037 (向陽山我來了!)》之銘言:
: 我是從別人那接手的系統
: 還在用freebsd 5.1
: 之前好像硬碟排線有問題,偶爾會死當,
: 後來換新的線以後還是會有很多異常現象
: 例如無法正常登入,只能用single user mode
: 正常登入會卡在要讀信件的地方,
: 畫面上顯示you got new mail
: 下一行就是/lib/xxxxxx.so not found
那個 xxxxxx 很重要啊!要看清楚才知道要補什麼給它
: 之後就跳回
: login:
: 然後進single user mode要檢查哪邊出問題也是困難重重
: mount好像沒有問題,但是沒辦法用df跟ls看硬碟或檔案資訊
: df跟ls一樣會跳/lib/xxxxx.so not found
: 簡單說就是部分指令的lib檔好像遺失了
: 此外用fsck檢查硬碟 s1b顯示檔案系統不明,連phase 1都不會進入
s1b 是 swap,fsck 本來就不認得它,這是正常的
swap 不必 fsck
: 其他有幾個正常,有幾個會因為記憶體不足(或swap error?)讓fsck自動被kill掉
: 這台電腦目前只有一條32MB記憶體
: 我用win上面的硬碟救援軟體看似乎大部分檔案是正常的,磁碟分割好像也沒問題
: 但是系統本身以前應該沒有備份過
: 我本來想是不是能直接看缺什麼檔案就一個一個copy回去
: 可手邊沒有windows以外的其他電腦
: 目前想不到我還能怎麼處理了 Orz
: 想問一下這狀況比較有可能的問題是啥
: 有什麼方法可以確認問題點然後解決
32MB 的記憶體,這恐怕是 486~pentium 年代的硬體了吧?
現在大概也很難有備料可以交插測試是否所有硬體部份都還是好的
所以我個人會建議把硬碟裡的資料備份出來
然後找新的硬體重裝吧
如果不管硬體好壞一定要嚐試修復的話
下面是幾個建議:
- /rescue 下有 static linked 的常用指令,df ls tar 之類的都有
先用這邊的代替
- 先確定系統的版本,如果是 5.1-release 的話,缺 library 可以從
FreeBSD 5.1-release 的光碟裡找,理論上可以直接把 base 解開來
直接蓋掉整個系統,不過如果只缺一兩個 lib 的話,就把 base 解開
放在別的地方,再 copy 過去吧
- 如果缺的 lib 在 FreeBSD 5.1-release 光碟裡找不到的話,有可能是
patch 過的新版,這時就要看你的 gcc 還能不能動了,能動的話可以到
/usr/src 下把缺的 lib 編出來
- 如果 gcc 不能動的話,看一下缺的 lib 是否系統裡有較舊的版本,有時
候把舊的版本 symbolic link 過去是會動的,如果能用這招讓 gcc 能動
的話就可以到上一步
- 如果還是不行的話,我想不到還有什麼招可以不透過別的電腦來修復了 orz