= 2010-07-18 = * [備忘] [http://www.krazyworks.com/how-to-really-kill-computer-viruses/ How to Really Kill Computer Viruses] - 這篇文章介紹了幾套掃毒用的 Live CD == Linux File System : ReiserFS == * [備忘] 修復 reiserfs 壞軌問題 * [狀況] 以前裝的一台 server 因為電源瞬斷,復電後發生硬碟資料疑似壞軌而有問題。 * 雖然用 Clonezilla Live CD 專家模式,加入 --resecure 參數,仍舊無法順利備份。 * [參考]<1> [http://www.cyberciti.biz/tips/repairing-reiserfs-file-system-with-reiserfsck.html Repairing ReiserFS file system with reiserfsck] * [參考]<2> [http://www.krazyworks.com/dealing-with-reiserfs-bad-blocks/ Dealing with ReiserFS bad blocks] * [參考]<3> [http://www.krazyworks.com/reiserfs-filesystem-recovery/ ReiserFS Filesystem Recovery] * STEP 0 : 檢查檔案系統正確性 <1> {{{ # reiserfsck -n /dev/sda1 # reiserfsck --check /dev/sda1 如果出現錯誤 "Bad root block 0" : # reiserfsck --scan-whole-partition --rebuild-tree /dev/sda1 如果出現錯誤 "superblock was missing" 或掛載時出現 "read_super_block: can't find a reiserfs file system": # reiserfsck --rebuild-sb /dev/sda1 }}} * STEP 1 : 低階備份的指令 <1> {{{ # ddrescue /dev/sda /dev/sdb 或者 # dd if=/dev/sda of=/dev/sdb conv=noerror,sync 看到一個更神奇的指令是用 SSH 把運作中的硬碟資訊 dump 到遠端 <3> $ ssh ${deadserver} dd if=/dev/hda1 conv=noerror,sync > hda1.img }}} {{{ conv=noerror 會略過壞軌的錯誤,繼續複製 conv=sync 遇到壞軌時,會填入 zero 以維持資料完整性 }}} * STEP 2 : 用 badblocks 指令確認壞軌位置,產生 badblocksfile 並重新做 fsck <2> {{{ # blocksize=$(debugreiserfs | grep -i 'blocksize') # badblocks -n -b $blocksize -o badblocksfile $(your_device) # reiserfsck --fix-fixable --badblocks badblocksfile $(your_device) }}}