การเมาท์พาร์ติชันจากไฟล์อิมเมจ DD แบบดิบของฟิสิคัลดิสก์


11

ฉันมีภาพ DD ที่นำมาจากภาพ HDD ดิบ (/ dev / sdb) ไฟล์รูปภาพนี้มีระบบไฟล์ XFS ที่ฉันต้องการติดตั้ง มันใหญ่เกินไปที่จะกู้คืนสู่ดิสก์ (ไฟล์ 2.6TB img) ดังนั้นฉันต้องการที่จะเมานต์มันโดยใช้ลูปแบ็ค

อย่างไรก็ตามตารางพาร์ติชันกลายเป็นปัญหา ฉันพยายามกำหนดพาร์ติชั่นออฟเซ็ตโดยใช้ทั้งพาร์ติชันและ fdisk -lu ผลตอบแทนที่แยกส่วน "ฉลากดิสก์ที่ไม่รู้จัก" fdisk -lu แสดงตารางพาร์ติชันว่างให้ฉัน

คุณจะแนะนำให้หาพาร์ติชั่นเริ่มอย่างไรเพื่อที่ฉันจะได้เมาท์ด้วย -o loop


sfidsk ไม่แสดงตารางพาร์ทิชัน "ไม่พบพาร์ติชัน" ฉันใช้ head -c 15000 sdb.img เพื่อดูว่าฉันกำลังดูอะไรอยู่ จากนั้นฉันก็ทำการวิจัยบางอย่างและเห็นว่ามันเป็นข้อมูลเมตากลุ่มวอลุ่ม LVM มีสิ่งต่าง ๆ เช่น dev_size, pe_start, pe_count ฯลฯ
coderego

คุณใช้เครื่องมือเหล่านั้นเป็นอย่างไร
Keith

ฉันใช้เครื่องมือผ่านทุบตีกับ sudo
coderego

คำตอบ:


6

kpartxคำสั่งจะทำทุกอย่างสำหรับคุณของการตรวจสอบที่พาร์ทิชันที่มีอยู่และการตั้งค่าอุปกรณ์ห่วงกับการชดเชยที่เหมาะสม

# kpartx -l /dev/ganderData/example-sysdisk
ganderData-example--sysdisk-1 : 0 497952 /dev/ganderData/example-sysdisk 63
ganderData-example--sysdisk-2 : 0 62412525 /dev/ganderData/example-sysdisk 498015

# kpartx -a /dev/ganderData/example-sysdisk
# mount /dev/mapper/ganderData-example--sysdisk-2 /mnt/tmp

3

ดูว่าtestdiskสามารถค้นหาฉลากพาร์ติชันของคุณได้หรือไม่ คุณสามารถลองและดูว่าkpartxสามารถค้นหาและเปิดใช้งานก่อนหรือไม่:

# kpartx -a -v image

อย่าลืมลองทำสองสิ่งนี้ในสำเนาของรูปภาพ คุณไม่ต้องการทำลายภาพสำรองด้วยการทดสอบ


1

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


0

เรียกใช้file - </dev/sdbเพื่อดูสิ่งที่คุณมีอยู่จริงบนดิสก์เนื่องจากดูเหมือนว่าจะไม่เป็นภาพของดิสก์ที่มีระบบพาร์ติชัน PC

ได้รับความคิดเห็นของคุณคุณอาจมีปริมาณทางกายภาพ LVM ดังนั้นก่อนเชื่อมโยงอุปกรณ์บล็อกกับมันlosetupจากนั้นลงทะเบียนอุปกรณ์ห่วงเป็นปริมาณทางกายภาพและไปจากที่นั่น

losetup -fv /path/to/image/file
pvs  # will show /dev/loop99 (for some value of 99) as a physical volume
vgs  # will show the VG(s) on /dev/loop99
lvs  # will show the LV(s) on the VG(s) on /dev/loop99
mount /dev/mapper/groupname-volumename /mnt
…
vgchange -an groupname
losetup -u /dev/loop99

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