ตารางพาร์ติชันเสียหาย (USB แฟลชไดรฟ์)


9

เป็นไดรฟ์หัวแม่มือแบบ Patriot ขนาด 8 GB ซึ่งฉันใช้ไปกับข้อมูลจำนวนมาก วันนี้มีการตรวจพบ แต่ข้อมูลทั้งหมดหายไป: ( แก้ไขอย่างน้อยข้อมูลบางส่วนยังคงอยู่ที่นั่น แต่ตารางพาร์ติชันหายไป)


แก้ไข @Satya (ขอบคุณ) นี่คือผลลัพธ์ที่เกี่ยวข้องจากsudo fdisk -l:

Disk /dev/sdc: 8019 MB, 8019509248 bytes
247 heads, 62 sectors/track, 1022 cylinders
Units = cylinders of 15314 * 512 = 7840768 bytes

Disk /dev/sdc doesn't contain a valid partition table

ดูเหมือนว่าจะเป็น / dev / sdc โดยมีขนาด 8 GB ... และไม่มีตารางพาร์ติชัน

ฉันพยายาม mount / dev / sdc (แล้วdmesg | tail):

/media> sudo mount /dev/sdc mytmp
mount: wrong fs type, bad option, bad superblock on /dev/sdc,
       missing codepage or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

/media> dmesg | tail
[   24.300000]  sdc: unknown partition table
[   24.320000] sd 2:0:0:0: Attached scsi removable disk sdc
[   24.370000] usb-storage: device scan complete
[   26.870000] EXT2-fs error (device sdc): ext2_check_descriptors: Block bitmap for group 1 not in group (block 0)!
[   26.870000] EXT2-fs: group descriptors corrupted!
[   50.420000] unhashed dentry being revalidated: .DCOPserver_eeepc-brendanma__0
[   50.430000] unhashed dentry being revalidated: .DCOPserver_eeepc-brendanma__0
[   50.430000] unhashed dentry being revalidated: .DCOPserver_eeepc-brendanma__0
[ 5565.470000] EXT2-fs error (device sdc): ext2_check_descriptors: Block bitmap for group 1 not in group (block 0)!
[ 5565.470000] EXT2-fs: group descriptors corrupted!

แก้ไข @Col: ผลลัพธ์จาก testdisk

Disk /dev/sdc - 8013 MB / 7642 MiB - CHS 1022 247 62
Current partition structure:
     Partition                  Start        End    Size in sectors

Partition sector doesn't have the endmark 0xAA55

หลังจากที่ฉันตี[proceed]มันพูดว่า:

Structure: Ok.


Keys A: add partition, L: load backup, Enter: to continue

"โครงสร้าง: ตกลง" ดูเหมือนว่าจะมั่นใจ ... "A: เพิ่มพาร์ติชัน" ทำให้ข้อมูลเก่าของฉันสามารถเข้าถึงได้ (ถ้ายังมีอยู่) หรือจะสร้างพาร์ติชันใหม่ที่สดใหม่หรือไม่

ตัวเลือกอื่นคือ " [ MBR Code ] Write TestDisk MBR code to first sector" - จะเป็นการดีกว่าถ้าทำเช่นนี้?


แก้ไขฉันพบว่าอย่างน้อยข้อมูลบางส่วนของฉันยังคงอยู่ในแฟลชไดรฟ์โดยใช้ข้อมูลด้านล่างและค้นหาข้อความภาษาอังกฤษน้อยกว่า (เช่น "the"):

cat /dev/sde | tr -cd '\11\12\40\1540-\176' | less

(ไดรฟ์เปลี่ยนจาก "/ dev / sdb" เป็น "/ dev / sde" เพราะตอนนี้ฉันเชื่อมต่อไดรฟ์พิเศษบางตัว) ฉันได้เรียนรู้ว่า "/ dev / sde1" จะเป็นพาร์ติชั่นแรก; และ "/ dev / sde" เป็นไดรฟ์ทั้งหมด เนื่องจาก unix ปฏิบัติต่ออุปกรณ์เหล่านี้เหมือนกับไฟล์คุณจึงสามารถใช้คำสั่งไฟล์ unix ธรรมดาทั้งหมดบนพวกเขาเช่นcatจากนั้นประมวลผลเหมือนอุปกรณ์สตรีมข้อมูลอื่น ๆ trตัวอักษรลบดังกล่าวข้างต้นไม่สามารถพิมพ์ ( "\ 40" เป็นพื้นที่ซึ่งผมอยากจะรักษา) อย่างน้อยคุณสามารถใช้ "/" เพื่อค้นหาคล้ายกับเสียงเรียกเข้า

ฉันจะนำข้อมูลของฉันกลับมาได้อย่างไร (สมมติว่ามันยังอยู่ที่นั่น) หากเฉพาะตารางพาร์ติชันที่เสียหายมี "เครื่องมือการกู้คืนพาร์ติชัน" มาตรฐานหรือไม่ มีวิธีการ "แบ่งพาร์ทิชัน" โดยไม่ต้องลบทุกอย่างหรือไม่


@ChrisF คำตอบนั้นไม่ได้ผล ... และฉันไม่สามารถตอบได้ที่นั่น - ดังนั้นฉันมีที่นี่ (ดูการแก้ไขคำถาม)
13 พฤศจิกายน

@ 13ren - หากคุณใช้ OpenID เดียวกันบนทั้งสองเว็บไซต์คุณสามารถเชื่อมโยงบัญชีของคุณได้ อย่างไรก็ตามสำหรับตอนนี้โปรดส่งอีเมล team@superuser.com และขอให้พวกเขาทำสมาคม ฉันได้รวมคำถามสองข้อในระหว่างนี้
BinaryMisfit

1
@ 13ren - ฉันรู้ว่าคุณไม่สามารถตอบสนองได้ ฉันรวมลิงค์สำหรับโมเดอเรเตอร์เพื่อให้พวกเขาสามารถค้นหาคำถามได้
ChrisF

ขอบคุณ ChrisF ขออภัยฉันเข้าใจผิด ฉันส่งอีเมลตามที่คุณแนะนำ @Diago ขอบคุณสำหรับการรวมฉันสามารถแสดงความคิดเห็นในขณะนี้ ฉันจะส่งอีเมลอีกครั้ง
13ren

1
ใส่ไดรฟ์แล้วทำ sudo fdisk -l และคุณช่วยอัพเดทโพสต์ด้วยเอาท์พุทได้ไหม?
Sathyajith Bhat

คำตอบ:


6

มันอาจจะคุ้มค่าที่จะเรียกใช้ testdisk บนอุปกรณ์ดูเหมือนว่าตารางพาร์ติชันของคุณอาจหายไป Testdisk จะสามารถกู้คืนข้อมูลของคุณได้


ขอบคุณ @Col แต่ฉันไม่ได้มี TestDisk - ฉันพยายามและsudo testdisk man testdiskฉันเพิ่งติดตั้ง - apt และตรวจพบ / dev / sdc ด้วย 8GB (เพิ่มเป็นคำถาม) ฉันไม่ต้องการดำเนินการต่อไปจนกว่าฉันจะเข้าใจมากกว่านี้
13ren

@Col ฉันได้ลองแล้วและเพิ่มผลลัพธ์ให้กับคำถาม
13557

หากคุณรู้สึกประหม่ามันอาจจะคุ้มค่าที่จะใช้ dd เพื่อสร้างภาพของ usb stick ลงบนฮาร์ดไดรฟ์ของคุณฉันคิดว่ามันน่าจะใช้ได้แม้กับไดรฟ์ที่ไม่สามารถถอดออกได้
Col

ขอบคุณนั่นเป็นความคิดที่ดี! แต่ฉันจะคัดลอกไฟล์ด้วย dd ได้อย่างไร หน้าคนพูดถึง "ไฟล์" ... โอ้ / dev / sdc นับเป็น "ไฟล์" หรือไม่? ดังนั้นฉันสามารถคัดลอกทั้ง / dev / sdc ไปยังไฟล์การประชุมเช่น " dd /dev/sdc mybackupfile?
13ren

1
ตอนนี้ฉันมีคะแนนชื่อเสียงแล้วดังนั้นฉันสามารถโหวตคุณได้!
13 พฤศจิกายน

1

ไม่ต้องกังวลข้อมูลของคุณจะไม่หายไป - คุณพูดถูกเกี่ยวกับดิสก์ที่ไม่ได้ถูกเมาท์

คุณสามารถติดตั้งได้โดยทำ (เหมือนรูท) เช่น:

mount /dev/sdb1 /media/Patriot\ Memory

ที่ฉันคิดว่าsdb1หมายถึงแท่ง usb ของคุณ - มันอาจจะเป็นsdc1หรือsdd1


หรือแม้กระทั่งการsda1ขึ้นอยู่กับอายุของคอมพิวเตอร์ (เช่นถ้า harddrives ในนั้นเป็นคน IDE)
แมทธิว Scharley

@Michiel ขอบคุณ - แต่มันบอกว่า "mount: ไม่พบสื่อ" การใช้ sdc1 และ sdd1 ให้ "mount: ไม่มีอุปกรณ์พิเศษ / dev / sdc1" ซึ่งทำให้ฉันคิดว่า "sdb1" มีอยู่ แต่มีบางอย่างผิดปกติ มันใช้งานได้หลายเดือนแล้วและไม่มีอะไรเปลี่ยนแปลงที่ฉันรู้ - ดังนั้นฉันจึงกลัวว่ามันจะเป็นความล้มเหลวของฮาร์ดแวร์บางอย่าง
13ren

1

ในขณะที่เป็นไปได้ที่จะสร้างตารางพาร์ติชันใหม่สิ่งแรกที่คุณควรทำเพื่อถ่ายภาพของอุปกรณ์ คุณสามารถทำได้ด้วยdd if=/dev/sdb of=~/memstick.img- เปลี่ยนเส้นทางตามที่ต้องการ

เมื่อคุณทำเสร็จแล้วให้เรียกใช้PhotoRecซึ่งจะสามารถดึงไฟล์ใด ๆ ที่อยู่ในนั้นออกได้ หากคุณมีทุกสิ่งที่คุณต้องการจัดรูปแบบไม้เท้าและเริ่มต้นอีกครั้งถ้าไม่คุณสามารถลองกู้คืนข้อมูลเพิ่มเติม


1

ddrescueเป็นเครื่องมือที่คุณต้องการ ฉันไม่คิดว่าคุณจะสามารถกู้คืนตารางพาร์ทิชันและเข้าถึงข้อมูลด้วยวิธีอื่น ๆ ตามผลลัพธ์ที่คุณโพสต์จากtestdiskเป็นต้น

http://www.forensicswiki.org/wiki/Ddrescue

ddrescueเป็นเครื่องมือการกู้คืนข้อมูล มันคัดลอกข้อมูลจากไฟล์หนึ่งไฟล์หรืออุปกรณ์บล็อก (ฮาร์ดดิสก์, cdrom, ฯลฯ ) ไปยังอุปกรณ์อื่นพยายามอย่างหนักที่จะช่วยเหลือข้อมูลในกรณีที่เกิดข้อผิดพลาดในการอ่าน

การดำเนินการขั้นพื้นฐานของ ddrescue เป็นไปโดยอัตโนมัติอย่างสมบูรณ์ นั่นคือคุณไม่ต้องรอให้เกิดข้อผิดพลาดหยุดโปรแกรมอ่านบันทึกทำงานในโหมดย้อนกลับ ฯลฯ

หากคุณใช้คุณสมบัติ logfile ของ ddrescue ข้อมูลจะได้รับการช่วยเหลืออย่างมีประสิทธิภาพมาก (อ่านเฉพาะบล็อคที่จำเป็น) นอกจากนี้คุณสามารถขัดจังหวะการช่วยเหลือได้ตลอดเวลาและกลับมาทำงานต่อในจุดเดียวกัน

Ddrescue ไม่ได้เขียนค่าศูนย์ไปยังเอาต์พุตเมื่อพบเซกเตอร์ที่ไม่ดีในอินพุตและไม่ตัดทอนไฟล์เอาต์พุตหากไม่ได้รับการร้องขอ ดังนั้นทุกครั้งที่คุณเรียกใช้ไฟล์เอาต์พุตเดียวกันมันจะพยายามเติมลงในช่องว่างโดยไม่ต้องล้างข้อมูลที่ได้รับการช่วยเหลือ

หากคุณมีไฟล์ cdrom และอื่น ๆ ที่เสียหายอย่างน้อยสองชุดและรันไฟล์ ddrescue ทั้งหมดครั้งละหนึ่งไฟล์ที่มีเอาต์พุตเดียวกันคุณอาจได้รับไฟล์ที่สมบูรณ์และปราศจากข้อผิดพลาด นี่เป็นเพราะความน่าจะเป็นที่จะมีพื้นที่ที่เสียหายที่ตำแหน่งเดียวกันในไฟล์อินพุตที่ต่างกันอยู่ในระดับต่ำมาก การใช้ logfile เฉพาะบล็อกที่จำเป็นเท่านั้นที่อ่านจากสำเนาที่สองและต่อเนื่องกัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.