Re: [問題] 系統遺失許多重要檔案?

作者: vu037 (向陽山我來了!)   2016-03-11 20:22:12
※ 引述《HuangTzHuan ()》之銘言:
: ※ 引述《vu037 (向陽山我來了!)》之銘言:
: : 我是從別人那接手的系統
: : 還在用freebsd 5.1
: : 之前好像硬碟排線有問題,偶爾會死當,
: : 後來換新的線以後還是會有很多異常現象
: : 例如無法正常登入,只能用single user mode
: : 正常登入會卡在要讀信件的地方,
: : 畫面上顯示you got new mail
: : 下一行就是/lib/xxxxxx.so not found
: 那個 xxxxxx 很重要啊!要看清楚才知道要補什麼給它
因為缺太多種
不同的指令會缺不同的library檔
現在是連ls都不能用
所以我才沒有一個一個寫出來
是說ls也不能用 我可能也會不知道要把該補的檔案補到哪裡去 Orz
: : 之後就跳回
: : login:
: : 然後進single user mode要檢查哪邊出問題也是困難重重
: : mount好像沒有問題,但是沒辦法用df跟ls看硬碟或檔案資訊
: : df跟ls一樣會跳/lib/xxxxx.so not found
: : 簡單說就是部分指令的lib檔好像遺失了
: : 此外用fsck檢查硬碟 s1b顯示檔案系統不明,連phase 1都不會進入
: s1b 是 swap,fsck 本來就不認得它,這是正常的
: swap 不必 fsck
原來如此 我本來以為是類似windows獨立弄一槽 整個都是swap檔
所以說他的swap根本沒有建立檔案系統是吧!
: : 其他有幾個正常,有幾個會因為記憶體不足(或swap error?)讓fsck自動被kill掉
那這一點呢?
有些槽的fsck會自己被kill掉
這不應該是因為缺檔案或硬碟有問題對吧?
: : 這台電腦目前只有一條32MB記憶體
: : 我用win上面的硬碟救援軟體看似乎大部分檔案是正常的,磁碟分割好像也沒問題
: : 但是系統本身以前應該沒有備份過
: : 我本來想是不是能直接看缺什麼檔案就一個一個copy回去
: : 可手邊沒有windows以外的其他電腦
: : 目前想不到我還能怎麼處理了 Orz
: : 想問一下這狀況比較有可能的問題是啥
: : 有什麼方法可以確認問題點然後解決
: 32MB 的記憶體,這恐怕是 486~pentium 年代的硬體了吧?
: 現在大概也很難有備料可以交插測試是否所有硬體部份都還是好的
其實硬體應該沒舊到那個地步
本來是32+256 但是256那條貌似因為太久沒開機壞掉了
插著開機都會逼逼叫
所以才只剩32MB,忘記是SDRAM還是DDR1了
: 所以我個人會建議把硬碟裡的資料備份出來
: 然後找新的硬體重裝吧
這個我也想過要試
但是我嘗試用windows靠軟體讀ufs檔案系統
可是似乎只能讀不能存?
所以用windows備份的話 就沒辦法重灌後再傳回去了
而且其實好像瀏覽的時候也怪怪的,也許是軟體的問題?
是不是只能先用一台新系統灌好FreeBSD後再把舊硬碟的東西丟進去?
想順便問一下,是否有可能在維持某幾槽的檔案不變的情況下重灌呢?
不過這跟下面的建議2好像很類似
: 如果不管硬體好壞一定要嚐試修復的話
: 下面是幾個建議:
: - /rescue 下有 static linked 的常用指令,df ls tar 之類的都有
: 先用這邊的代替
這段的意思是把這些系統指令改為使用/rescue下的嗎?
是需要用掛載的方式還是怎麼做呢?
很複雜的話可以給個術語讓我自己查就好 感謝XD
: - 先確定系統的版本,如果是 5.1-release 的話,缺 library 可以從
: FreeBSD 5.1-release 的光碟裡找,理論上可以直接把 base 解開來
: 直接蓋掉整個系統,不過如果只缺一兩個 lib 的話,就把 base 解開
: 放在別的地方,再 copy 過去吧
(思) 光碟應該網路上還載的到 這ok
光碟機理論上應該隨便一台插上去就能動(吧?)
解開base這點可以稍微說明一下要怎麼做嗎?
是原本系統檔案全部都壓在同一個gz之類的檔案裡
然後我直接用安裝的方式蓋掉舊的系統資料夾這個意思對吧
不好意思我沒有自己安裝過FreeBSD或軟體,
不太知道光碟內的檔案結構是怎樣
: - 如果缺的 lib 在 FreeBSD 5.1-release 光碟裡找不到的話,有可能是
: patch 過的新版,這時就要看你的 gcc 還能不能動了,能動的話可以到
: /usr/src 下把缺的 lib 編出來
我的ls不能用,沒法看,
但請問是不是所有lib都一定會在src裡面有原始檔?
檔名會完全一樣嗎?
所以只要到/usr/src gcc lib檔檔名就可以編譯出來再copy回需要的位置了?
還是說在src下也是一堆子目錄結構呢?
: - 如果 gcc 不能動的話,看一下缺的 lib 是否系統裡有較舊的版本,有時
: 候把舊的版本 symbolic link 過去是會動的,如果能用這招讓 gcc 能動
: 的話就可以到上一步
舊版本通常會放在哪呢?
symbolic link跟copy的差別是?
以win系統來說,symbolic link是不是像是
改登錄檔或ini檔去讓軟體使用不同位置的系統檔?
具體來說需要怎樣的步驟勒?
: - 如果還是不行的話,我想不到還有什麼招可以不透過別的電腦來修復了 orz
給這些方向已經很有幫助了!
這些都是我原本想嘗試的方法
只是因為不太熟還不知道該怎麼動手做
而且就跟前一位版友說的一樣,有些東西真的不太好估狗 Orz
有勞各位先進再幫忙一下了
非常感謝

Links booklink

Contact Us: admin [ a t ] ucptt.com