DIY救援分割表錯亂 - 儲存設備

Adele avatar
By Adele
at 2013-02-28T18:21

Table of Contents

第0天:(緣起XD)
話說前幾天我想把實驗室一台電腦灌98,打算把一顆硬碟分成兩區,第二區丟
安裝檔,第一區就用format/s弄成DOS啟動。

我照慣例,先用CentOS的LIVE USB分割過順便mkfs.msdos弄成FAT32後,就回DOS
執行FORMAT,但reset要用硬碟開機時卻開不了,SPFDISK一看,分割表竟然亂掉了?
好吧!反正我有兩顆硬碟,前面這顆是IDE的,我猜非南橋原生晶片可能不穩(?),
當下換成另一顆SATA的,問題是這一顆有資料。

sda1:NTFS
sda2:ext
sda5:NTFS
sda6:NTFS
sda7:NTFS
前人交接時已經把資料都留在sda5,其餘都沒再用,所以我在CentOS下把其他三個分割
打掉,把sda6和sda7合併,然後連同前面的sda1都格式化成FAT32。之後老樣子FORMAT/S
,但這時慘劇發生了,分割表又亂掉了,我臉當場綠掉。那些資料好像沒其他備份啊!!

第1天:
我想說用FINDDATA或R-STUDIO救援,但時間太久,也有試用版的限制,考慮到RAW data
應該沒事,大概只有分割表亂掉,我想用testdisk救援。
問題是我照教學都做到深層掃描了,竟然只看到第一個FAT32,而且容量還是整顆硬碟?
我差點瘋掉,印象中這軟體對於分割表救援好像評價不錯,如果深層掃描都救不了
我不就死了?難道FORMAT真的有動到下一個檔案系統的磁區?

我趕緊用SPFDISK去看看實體磁區......如果用微軟的軟體或SPFDISK分割,我印象中
NTFS的起頭會在CHS的(X,1,0),結尾會在(X,254,62)(主分割區不是第0軌的好像比較
前面)而且第一行就有NTFS字樣,後頭也有像是BOOT還是CTRL +ALT+DEL之類的,想說
土法煉鋼從大約C=1000看到C=4000看看,結果眼睛差點破窗,用spfdsik的page down
按好久不說,用眼睛要確認那一小段字真的很蠢。

這時我想到鳥哥的LINUX教學中有提到迴圈,但我這輩子從BASIC到現在從來沒踏過
迴圈啊!我連IF;.then都沒碰過多少次耶!但我不想眼睛出事,只好仔細看鳥哥
的文件,結果嘗試寫下以下的script:

#! /bin/sh
declare -i cylinders=0
while [ "$cylinders" -le "$2" ]
do
dd if=/dev/"$1" bs=512 count=1 skip=$((63+$cylinders*255*63))>>$3
cylinders=$(($cylinders+1))
done

檔案存成read.sh,chmod成755,用root執行。
如果這顆要救的硬碟是sda我就執行:

./read.sh sda 4000 file_sda
我推測原本的sda5起點應該會在4000以內,所以只設4000。之後用MadEditd開16進位
讀取搜尋之前提到的關鍵字,像是NTFS或BOOT等等,果然找到一個sector很像。
由於一個磁區大小是512,所以分界的16進位的最後三碼一定是n00,且n是偶數。
之後用小算盤推估位置應該是3991,可能有植樹問題要加減1,不過反正我會用SPFDISK
再確認,所以就不管確實數字了。

至於結尾嘛....我猜可以直接設定實體硬碟結尾比較省事,印象中檔案系統只認
自己知道的大小,大一點應該不會怎樣,何況後面的分割表我也沒打算救,不過反
正scripte改一下也OK,所以根據我對結尾的(X,254,62)的判斷,第五行改成

dd if=/dev/"$1" bs=512 count=1 skip=$(($cylinders*255*63-1))>>$3

第一筆資料會是-1,雖然dd會錯誤,但後面不會有問題,只是計算磁軌位置
會往前偏,不過就如同前面說的我會用SPFDISK肉眼確認,所以和植樹問題一樣就不管
了。這次因為要掃比較後面所以數字要設比較大。

./read.sh sda 12000 file_sda
記得前一個檔案要刪掉,或是另存檔名,不然資料是一直累加的。運氣很好我也同樣只
找到一個磁區符合比對,大概9600多吧!
之後回DOS用SPFDISK看磁區,確實兩個磁區和正規的NTFS頭尾一樣,且3991的上一個
磁軌結尾也有NTFS結束的模式,而9600下一個磁軌的第一個磁柱(H,S=1,0)也有看到
另一個檔案系統的起頭,容量大小也符合,我想應該錯不了。就根據數字回LINUX的
FDISK重建分割區。最後再回SPFDISK確認有沒有切對。

但SPFDISK竟然發現切錯了,全部往前偏一個磁柱,我才知道linux的計算和SPFDISK
不一樣,可能開頭是0或1的問題吧!幸好是往前偏,因為在重建延伸分割區時,
也有分割表會確實會寫入某個磁區毀掉資掉,而我前面的資料正好不需要。

總之我再重建一次分割表,這次位置就對了,進WIN7也可以直接讀到資料,哈雷路亞。
趕緊備份到另一顆硬碟。

基本上這次有幾個要注意的地方:
1.由於SPFDISK或微軟的切割讓頭尾位置有規律,所以可以搜尋比較小的範圍。如果
直接用LBA位置去切,那dd可能要抓整顆硬碟的資料來搜尋了。

2.我因為偷懶所以從第0軌開始抓,當然可以多加一個參數當起點。不過計算會更複雜。

3.救援軟體真的不常用,R-STUDIO或FINDLDATA我這輩子連這次只用過3次,因為平常
都有確實備份資料,這個script也不曉得下次用到是幾年後了,所以有錯我就懶得改了XD

4.testdisk不曉得為什麼無法讀到我的分割表,是因為那台電腦有問題嗎?我隔天拿
新的硬碟FORMAT也沒有分割表亂掉的情況....

5.定址的時候還是用LBA比較準,像這次就有DOS和LINUX的磁軌編號不一樣的狀況。

6.人不要鐵齒XD。double check是很重要的,不管是切割或救援。
--
起初,他們追殺共產主義者,我沒有說話,因為我不是共產主義者;
接著,他們追殺猶太人,我沒有說話,因為我不是猶太人;
後來,他們追殺工會成員,我沒有說話,因為我不是工會成員;
此後,他們追殺天主教徒,我沒有說話,因為我是新教教徒;
最後,他們奔我而來,卻再也沒有人站起來為我說話了。
《First They Came(他們首次來時)》,Martin Niemoller牧師(1892-1984)

--

All Comments

Yuri avatar
By Yuri
at 2013-03-03T22:26
好難..
Ida avatar
By Ida
at 2013-03-08T10:31
鳥哥 無所不在 上過他的RHCE 讚
Margaret avatar
By Margaret
at 2013-03-11T12:01
我也有過類似情況 不過我發現很麻煩就 整個砍掉重練
後來我直接買NAS來用2T*8 RAID 5
Zenobia avatar
By Zenobia
at 2013-03-13T04:26
PS:我丟失的是精挑細選過的動作片 傷心三天
Doris avatar
By Doris
at 2013-03-15T07:00
之前有次GHOST 98的硬碟 結果GHOST完 兩邊都開不起來
William avatar
By William
at 2013-03-18T18:32
也是用FINDDATA去找 但是只找到C槽 D槽找不到
Sarah avatar
By Sarah
at 2013-03-20T08:25
沒想到這邊也看的到鳥哥XD
Enid avatar
By Enid
at 2013-03-22T15:38
相關也可以去"酷學園"問問看..
Freda avatar
By Freda
at 2013-03-25T17:46
DiskGenius可以試試看

裝A片專用的大容量硬碟

Isla avatar
By Isla
at 2013-02-28T17:44
因為申請的線路是中華50M頻寬 想說平常閒置著挺浪費的 要買個大硬碟專門下載A片 預計買 3TB 3.5and#34;內建的 只要便宜就好 有推薦的嗎 - ...

3T硬碟的抉擇

Lauren avatar
By Lauren
at 2013-02-28T14:36
請各位前輩 現在電腦是裝日立 7K3000 2T*2 最近有購入3T資料硬碟的計畫 目前名單有 WD 3T 紅標(WD30EFRX 3年保) 約4.5K seagate 3T SV35 (ST3000VX 3年保) 約4.3K seagate 3T (ST3000DM001 兩年保) 約4K Toshiba ...

我的電腦搜索不到硬碟

Lucy avatar
By Lucy
at 2013-02-28T13:35
不知道為什麼,最近常發生點兩下我的電腦時, 結果一直在搜索中,不會顯示硬碟槽, 而且硬碟內容部分會開始無法顯示圖檔, 雖然硬是開啟檔案都是OK的。 然後重開機之後又是正常,不過過一陣子,又是搜索中。 會這樣,印象中是裝上TOSHIBA硬碟重灌後,隔沒幾天就這樣了。 http://images.plurk ...

選SSD還是企業級硬碟

Erin avatar
By Erin
at 2013-02-28T12:58
這幾天WD10EALS藍標出現C5錯誤, 使用原廠軟體檢測,PASS,可是WRITE ZERO FAIL, 只好RMA, 現在完全沒硬碟可以使用,想了兩個方案 1.直接買一顆1T SG 企業級HD, 免得三年後又要花時間,公司那顆250GNS 250G都已經超過五年,還是頭號壯壯。 2.買一顆PLEXTOR ...

尋找wifi外接盒

Bennie avatar
By Bennie
at 2013-02-28T12:53
問題是這樣的,我目前有1顆2.5吋硬碟, 想用wifi外接盒去裝他,目前在網路上找到 的wifi外接盒只有: CyberSLIM S1-WF 圖片:http://ppt.cc/pE38 這台。 其餘的都是連同硬碟一起的設計。 想請問各位,CyberSLIM這牌子好嗎? 還有其他的wifi外接盒 ...