Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've just backed up two partitions with dd under linux, so I have raw partitions images: part1.img and part2.img. Additionally I've backed up the disk's MBR (first 512 sectors of the disk) and some text info ('fdisk -l' /dev/sdb).

fdisk -l /dev/sdb said before I did dd:

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x7d22da32

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         196     1574338+  27  Unknown
/dev/sda2             197       19457   154713982+   7  HPFS/NTFS

It's a standard laptop disk so part1 is a system recover partition. Part2 is the Windows Vista bootable partition.

I've then converted part2.img to part2.vdi (VirtualBox disk format). I've attached part2.vdi to an existing virtual XP machine and I can browse it and delete what I want (part2.vdi being second partition, not booting from it).

However the problem is when I want to attach the part2.vdi to the virtualized Linux system and want to mount it.

now fdisk -l /dev/sdb says (sdb being part2.vdi here, so not whole disk as before):

Disk /dev/sdb: 158.4 GB, 158427250688 bytes
255 heads, 63 sectors/track, 19261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2052474d

This doesn't look like a partition table
Probably you selected the wrong device.

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   ?         410      119791   958924038+  70  DiskSecure Multi-Boot
Partition 1 does not end on cylinder boundary.
/dev/sdb2   ?      121585      234786   909287957+  43  Unknown
Partition 2 does not end on cylinder boundary.
/dev/sdb3   ?       14052       14052           5   72  Unknown
Partition 3 does not end on cylinder boundary.
/dev/sdb4          164483      164486       25945    0  Empty
Partition 4 does not end on cylinder boundary.

Partition table entries are not in disk order

Where's the catch? Why does Windows "mount" partition automatically (don't see weird entries) and I can access data but under Linux I have problems with partition table entries? How can I solve it without losing data/partition integrity?

share|improve this question
up vote 0 down vote accepted

fdisk is only applicable to a whole disk. part2.vdi is just one partition.

The disk format is roughly:

<MBR><Part Table><Part 1><Part 2>

You only have <Part 2> - there is no <Part Table> included in it.

Windows recognises the filesystem on it as NTFS and handles it as such.

You may be able to just mount it in Linux with:

# mount -t ntfs /dev/sdb /path/to/mount

without worrying about partition tables etc.

share|improve this answer
    
Oh, didn't know fdisk is only applicable to whole disk. Thanks. – qlf00n Mar 10 '11 at 9:55
    
fdisk operates on the partition table, so without one it would fail. – Majenko Mar 10 '11 at 10:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .