วันพฤหัสบดีที่ 1 กรกฎาคม พ.ศ. 2553

วิธีการกู้ข้อมูลที่ลบไปแล้วใน UBUNTU ด้วยโปรแกรม foremost


ก่อนอื่นติดตั้งโปรแกรมก่อนครับ โดยเข้าไปยังเทอร์มินัล แล้วพิมพ์คำสั่งนี้ครับ
Quote
$ sudo apt-get install foremost


หลังจากติดตั้งโปรแกรมแล้ว สามารถกู้ข้อมูลโดยสั่ง ที่เทอร์มินัลดังนี้

Quote
$ sudo foremost -v -i -o 
เช่น ผมจะกู้ไฟล์จากแฟลชไดรว์ ซึ่งเมาท์พอยท์เป็น /dev/sdb โดยให้ไฟล์ที่กู้ได้มาอยู่ที่ /home/recovery ก็สั่ง
Quote
$ sudo foremost -v -i /dev/sdb -o /home/recovery
รอให้มันทำงานจนเสร็จสังเกตุ prompt cursor จากนั้นกำหนดสิทธิ์ให้ไฟล์ที่กู้มาก่อน
Quote
$ sudo chmod a+rwx /home/recovery -R
เรียบร้อยเอาไฟล์ไปใช้ได้เหมือนเดิมครับ ไฟล์ที่ได้จะแยกโฟลเดอร์อยู่ใน /home/recovery เป็นหมวดๆ ตามนามสกุลไฟล์ครับ แต่ชื่อไฟล์จะเปลี่ยนเป็นตัวเลขเรียงตามลำดับที่ถูกลบ(เท่าที่สังเกตุลบทีหลังจะอยู่บน คงเป็นเพราะกู้ได้ก่อน) ผลที่ได้น่าพอใจมากครับ

ถ้ารู้สกุลไฟล์ที่ถูกลบ ก็ระบุพารามิเตอร์ -t เข้าไปครับ เช่น exe ก็อย่างนี้ครับ

Quote
$ sudo foremost -v -t exe -i /dev/sdb -o /home/recovery
ปล.ถ้ามีการเขียนทับเซคเตอร์นั้นๆ ไปแล้วความเป็นไปได้ในการกู้คืนก็มักจะไม่มีตามไปด้วยนะครับ

ที่มา http://forum.ubuntuclub.com/forum/topic,11066.msg56366.html#msg56366

การกู้พาธทิชั้นในฮาร์ตดิสด้วย โปรแกรมกู้ข้อมูล testdisk

เป็นบทความเก่าที่เคยเขียนไว้ครับนำมาแก้ไขปรับปรุงใหม่ให้เป็นปัจจุบัน สืบเนื่องมาจาก ผมคันไม้คันมือมาเป็นเดือนแล้ว ด้วยอาการอยากลองของครับ เลยจัดการแบ่งพาร์ทิชั่นในฮาร์ตดิสก์ไว้ติดตั้ง linux แบบซอยย่อยหลายพาร์ทิชั่น และได้ทดลองติดตั้งมาแล้วหลายตัว ทุกตัวที่ผ่านมาก็สามารถติดตั้งผ่านไปได้ด้วยดีตลอด กระทั่งผมอยากลองของแปลกเลยไปดาวโหลด Madriva มาติดตั้ง ผลก็คือผมทำ partition table หายไปครับ หน้าตามรูปเลยครับเมื่อมองหาพาร์ทิชั่นโดย Gparted 


หลังจากคิดหาวิธี และลังเลอยู่นานว่าควรใช้ testdisk กู้พาร์ทิชั่นคืนดีหรือไม่นั้น @aborigines ยุว่าให้ใช้ testdisk จัดการเลย แหมผมเป็นคนบ้ายุซะด้วยสิ ว่าแล้วก็เลยจัดการซะเลย 
ว่าด้วยวิธีการติตดั้งก่อนครับ มี 2 วิธี ดังนี้ ครับ


วิธีที่ 1 หากยังสามารถบู๊ตเข้า UBUNTU ได้อยู่ให้ติดตั้งเครื่องมือตามขั้นตอนต่อไปนี้
1.sudo gedit /etc/apt/sources.list แล้วเพิ่มบรรทัดนี้
deb http://ppa.launchpad.net/arzajac/ppa/ubuntu lucid main ที่ด้านล่างสุด จากนั้นบันทึกและปิด gedit
2.ที่เทอร์มินัลใช้คำสั่งนี้
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BDFD6D77 3. แล้ว sudo apt-get update
4.หลังจาก update เสร็จ ก็ติดตั้งเครื่องมือด้วยคำสั่งนี้ sudo apt-get install ubuntu-rescue-remix-tools

วิธีที่ 2 กรณีบู๊ตเข้า UBUNTU ไม่ได้ให้ดาวโหลดตัว live CD จากลิ้งนี้ครับ http://ubuntu-rescue-remix.org/About
เมื่อเข้าไปที่เวปแล้วเลือกดาวโหลดตัวที่ต้องการอยู่มุมบนขวาของจอครับ เมื่อดาวโหลดมาแล้วเขียนลงแผ่นซีดี และให้จากแผ่นซีดีนี้บู๊ตเพื่อใช้งาน testdisk ซึ่งเป็น text mode ครับ (เห็นในเว็ปบอกว่าทำเป็ live USB ด้วยก็ได้ครับแต่ผมไม่ได้ลอง)

การใช้งาน


1.เมื่อติดตั้งเสร็จแล้วหรือบู๊ตด้วย live cd แล้ว รันโปรแกรมด้วยคำสั่ง
sudo testdisk (หมายเหตุ ในกรณีใช้แผ่น live cd หรือ live USB ก็ต้องใช้คำสั่ง sudo testdisk ไม่เช่นนั้นจะมองไม่เห็นฮาร์ตดิสก์ในเครื่องครับ) เข้าสู่โปรแกรมตามภาพเลยครับ จากในภาพให้เลือก เลือก Create เพื่อสร้าง log file แล้ว Enter

2.จะเห็นฮาร์ตดิสในเครื่องทั้งลูกครับดังรูปด้านล่างครับ (กรณีที่ใช้แผ่น live cd หรือ live USB แล้วไม่ได้ใช้คำสั่ง sudo testdisk พอมาถึงตรงนี้จะมองไม่เห็นฮาร์ตดิสในเครื่องครับ) ให้เลือก Proceed ครับ แล้ว Enter

3.จากรูปด้านล่างผมเลือก Intel ครับ แล้ว Enter 

4.จากรูปด้านล่างเลือก Analyse แล้ว Enter ครับ


5.จากรูปเลือก Quick Search แล้ว Enter เป็นการค้นหาอย่างรวดเร็วครับ



6. จากรูปผมเลือก y แล้ว Enter ครับ จากนั้นจะเริ่มต้นสแกนหา Partition ในฮารต์ดิสครับ แต่การหาแบบนี้จะเจอไม่หมดครับโดยเฉพาะที่ลบไปนานแล้วครับ


7. หลังจากสแกนเรียบร้อยจะแสดงรายการ Partition ในฮาร์ตดิสก์ดังรูปครับ จากตรงนี้กด Enter เลยครับ


8.จากขั้นตอนที่แล้วจะมาที่หน้านี้ดังรูป ปรากฎว่าของผมยังไม่พบ Partition ที่ต้องการกู้คืนมาผมเลยเลือก Deeper Search เพื่อค้นหาอย่างละเอียด ในกรณีที่เจอแล้วให้ข้ามไปที่ข้อ 11 ได้เลยครับ


9. จากนั้นโปรแกรมจะเริ่มค้นหา Partition ทั้งหมดในฮาร์ตดิสก์ ทั้งที่ยังอยู่ดีและที่ถูกลบไปแล้วโดยใช้เวลาค่อนข้างนานมาก  (ข้อควรระวัง คือ ต้องรอให้ค้นหาให้หมดก่อนจึงเริ่มดำเนินการขั้นต่อไปไม่เช่นนั้นจะเสียใจและ ต้องเริ่มต้นใหม่หมดครับ ครั้งแรก ผมใจร้อนเลย กด Stop หลังจากค้นหาไปแล้วเจอ Partition ที่ลบไปแล้วเท่าที่เห็นในภาพ แล้วไปทำขั้นตอนต่อไปเลย ผลคือ คราวนี้ Partition อื่นที่ยังใช้ได้อยู่หายหมดครับ แทบช๊อคตาย ต้องเริ่มใหม่หมดครับ ดังนั้นรอจนกว่าจะค้นหาครบ 100 เปอร์เซ็นต์ก่อนนะครับ)


10. หลังจากค้นหาเสร็จแล้วจะแสดงหน้านี้ตามรูป ตรงนี้เข้าใจว่ามันแสดง Partition ที่ไม่สามารถกู้คืนได้ให้ทราบครับ ให้เลือก Continue แล้ว Enter เลยครับ


11.ผ่านจากขั้นตอนที่แล้วมาที่หน้านี้จะเป็นPartition ทั้งหมดที่สามารถกู้และเขียนลงในฮาร์ตดิสได้ครับให้เลือกกู้ Partition ที่ต้องการเลยครับ ตาม อ๊อฟชั่น ด้านล่างครับ มี *, P , L , E และ D โดย ดีฟอล ของโปรแกรมเป็น D ทั้งหมด ถ้าเลือกเป็น D หมายถึงลบ Partition นั้นทิ้งครับ วิธีการเลือกก็ให้ใช้ คีย์ ลูกศร ซ้าย/ขวา ครับ หลังจากเลือกอ๊อฟชั่นให้ Partition ที่ต้องการกู้เรียบร้อยแล้ว กด Enter เลยครับ


12. จากขั้นตอนที่แล้วโปรแกรมจะแสดง Partition ที่เราเลือกจะกู้ให้ดูเพื่อความแน่ใจอีกครั้งดังรูป จากตรงนี้ถ้าไม่แน่ใจสามารถกลับไปเลือกใหม่ได้ครับ ถ้าแน่ใจว่าใช้แล้ว เลือก Write แล้ว กด Enter เลยครับ


13. ถ้าต้องการเขียน Partition ที่เลือกกด  Y เลยครับ


14. ไม่ถึงนาทีก็เรียบร้อยครับ reboot ดูเลยครับ


15. สรุป. ในการกู้ครั้งก่อนนั้น สามารถกู้พาร์ทธิชั่นที่ลบไปแล้วคืนมาได้พร้อมงานทั้งหมด และ Parttion ที่ลง Os ไว้โดยเฉพาะที่ลง UBUNTU ไว้สามารถ บู๊ตเข้าใช้งานได้ตามปกติ แต่ของ WIN Vista บู๊ตไปถึงหน้าลอ๊คอินเท่านั้น หลังจากใส่ pass เพื่อล๊อคอินแล้วปรากฎว่าเข้าหน้า เดสซ์ท็อป ไม่ได้ โปรแกรมรายงานว่า มีไฟล์อะไรบางอย่างหายไปแต่จำไม่ได้แล้วว่ามันคืออะไร จึงเข้าใช้งานไม่ได้ สงสัยอาจเลือก Partition ที่จะกู้ผิดในขั้นตอนเลือกในขั้นตอนที่ 11 ครับ  ส่วนการกู้ในครั้งนี้นั้นสามารถกู้ Parttion ที่ต้องการคืนมาได้ทั้งหมดและสามารถบู๊ตเข้าไปใน XUBUNTU และ Win 7 ได้ตามปกติ พร้อมกันนี้ได้ partition table คืนมาด้วยครับ ตามรูปเลย