เรียกดู. img โดยไม่ต้องติดตั้ง


13

อย่างไรก็ตามมีการเรียกดูไฟล์. img โดยไม่ต้องเมาท์ ฉันมีไฟล์. img ซึ่งฉันได้สร้างขึ้นจากสแน็ปช็อตพาร์ติชัน clonezilla mount -o loop sda5.img /mnt/ฉันอย่างใดมีปัญหาในการติดตั้งไฟล์ที่มีคำสั่ง

dmesg | tail แสดงให้ฉันเห็นข้อผิดพลาดต่อไปนี้:

[1325.395286] EXT4-fs (loop0): รูปทรงเรขาคณิตที่ไม่ดี: จำนวนบล็อก 11221248 เกินขนาดของอุปกรณ์ (บล็อก 11218432)

ทุกคนมีความคิดวิธีเรียกดูโดยไม่ต้องติดตั้งหรือสิ่งที่อาจทำให้เกิดข้อผิดพลาดนี้


ที่มีลักษณะที่ไม่ดี
Uri Herrera

คำตอบ:


18

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

ในการทำเช่นนี้คุณจะต้องใช้partedเครื่องมือคุณสามารถติดตั้งโดยใช้คำสั่งต่อไปนี้:

apt-get install parted

หลังจากติดตั้งpartedให้เริ่มด้วยพา ธ ไปยังไฟล์รูปภาพของคุณ จะมีข้อความpartedแจ้งปรากฏขึ้น:

$ parted /path/to/image/file/sda5.img
GNU Parted 2.3
.....
(parted)

ในพรอมต์นี้ (นำหน้าด้วย(parted)) พิมพ์คำสั่งต่อไปนี้:

(parted) unit B
(parted) print
.....
Number  Start          End            Size           Type     File system  Flags
 1      1048576B       1573912575B    1572864000B    primary  ntfs         boot
 2      1573912576B    156774694911B  155200782336B  primary  ntfs
 3      156774694912B  171454758911B  14680064000B   primary  ntfs
 4      171454758912B  180044693503B  8589934592B    primary

(parted) q

ตารางในผลลัพธ์จะบอกออฟเซ็ตของแต่ละพาร์ติชันในไฟล์และประเภทระบบไฟล์ในแต่ละพาร์ติชัน ตัวอย่างเช่นการติดตั้งพาร์ติชันแรกในเอาต์พุตที่เป็นแบบตัวอย่างด้านบนคุณจะต้องป้อนคำสั่งต่อไปนี้:

sudo mount -o loop,ro,offset=1048576 /path/to/image/file/sda5.img /mnt/partition

ตรวจสอบให้แน่ใจว่า/mnt/partitionมีอยู่ก่อน


1
ตกลงฉันคิดว่าปัญหาอาจเป็นเพราะฉันได้รับข้อผิดพลาดเมื่อเรียกใช้คำสั่งพิมพ์เพราะมันบอกว่าตาราง partiton ไม่ทราบ เดาภาพเสียเหรอ
Ahatius

ดูเหมือนจะแตกหักมาก แต่ลองค้นหาข้อผิดพลาดของคุณบน Google ก่อน
ช่างดัด

1
Can't have a partition outside the disk!ข้อผิดพลาดที่มีการแจกจ่ายออกไปเช่นเดียวกับ GParted ...
ฟิลิปป์ Gachoud

8

ฉันได้รับปัญหาเดียวกันนี้ด้วยภาพ ext4 ที่สร้างจาก Clonezilla snapshot

สิ่งที่ใช้ได้ผลจริงสำหรับฉันคือการขยายไฟล์ให้มีขนาดเท่าตารางรายงานพาร์ติชันโดยใช้การตัดทอน ข้อผิดพลาด dmesg รายงานในกรณีของฉันคือ:

[15687.653868] EXT4-fs (loop0): bad geometry: block count 18482176 exceeds size
  of device (18352672 blocks)

ดังนั้นฉันจึงปรับความยาวของไฟล์ด้วย:

truncate -o -s 18482176 /path/to/partition.img

(^ โปรดทราบว่าเป็นหมายเลขแรกและใหญ่กว่าของตัวเลขสองตัวในบันทึก)

หลังจากนั้นเขาก็มีความสุขและฉันสามารถเข้าถึงข้อมูลของฉันได้


สิ่งนี้ใช้ได้กับฉันแม้ว่าขนาดผิดฉันเดาว่าขนาดบล็อกแตกต่างกันดังนั้นฉันต้องระบุขนาดเป็นไบต์ ระวังเพราะคุณอาจสูญเสียข้อมูลถ้าคุณตัดไฟล์ภาพของคุณให้มีขนาดสั้นกว่าขนาดดั้งเดิม
golimar

1
คุณรู้ขนาดที่ถูกต้องได้อย่างไร? กรุณาเพิ่มคำสั่งที่นี่
Hunsu

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