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

看板FreeBSD作者 (向陽山我來了!)時間8年前 (2016/03/11 20:22), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/5 (看更多)
※ 引述《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 有勞各位先進再幫忙一下了 非常感謝 -- 因為現在電腦沒有在手邊,所以隔很久才回 不好意思XD -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.233.117 ※ 文章網址: https://www.ptt.cc/bbs/FreeBSD/M.1457698936.A.833.html
文章代碼(AID): #1MuhXuWp (FreeBSD)
文章代碼(AID): #1MuhXuWp (FreeBSD)