Overlapping partition description areas. Aborting

Discussions about using Windows guests in VirtualBox.
falsehope
Posts: 4
Joined: 5. Sep 2007, 22:43

Overlapping partition description areas. Aborting

Post by falsehope »

Hello,

I'm trying to access my physical XP install and when running the following command I get this error " Overlapping partition description areas. Aborting"

VBoxManage internalcommands listpartitions -rawdisk /dev/hda
VirtualBox Command Line Management Interface Version 1.5.4
(C) 2005-2007 innotek GmbH
All rights reserved.

Overlapping partition description areas. Aborting


I added my user to the "disk" group as well as the vbusers group.

I get this error when running it as user or root (sudo su -)

I'm running Ubuntu 7.10 x86 and have been working on getting my XP working for two weeks with no luck. I'm using a HP nx6125 laptop.

I did have this working on my old laptop (Dell D800)
sidelil
Posts: 11
Joined: 17. Feb 2008, 18:35

Post by sidelil »

I get the same error, and I'm trying to access my Vista partition from VirtualBox under ubuntu:

Code: Select all

VirtualBox Command Line Management Interface Version 1.5.4
(C) 2005-2007 innotek GmbH
All rights reserved.

Overlapping partition description areas. Aborting
Error reading the partition information from '/dev/sda'
Does anyone know why? Please help us...
sidelil
Posts: 11
Joined: 17. Feb 2008, 18:35

Post by sidelil »

Sorry, after many days I post a message again.
I also asked on the IRC channel, but nobody seems to know how to fix this problem.
If anyone has an idea on how to get it working, can please help me? I really don't know where to start.

Thank you so much,

.:sidelil:.
postfix
Posts: 40
Joined: 14. Jan 2008, 13:05

Post by postfix »

I haven't any idea what causes the problem. But for understanding whats going on insert a Linux LiveCD in your notebook and boot it. Next type as user root the command fdisk -l and post its output from screen.

Maybe there is everything ok. But before doing a next step it's important to know.


regards
Postfix
sidelil
Posts: 11
Joined: 17. Feb 2008, 18:35

Post by sidelil »

Code: Select all

ubuntu@ubuntu:~$ sudo fdisk -l

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xa30da30d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       13018   104561026+   7  HPFS/NTFS
/dev/sda2           18501       19457     7687102+   7  HPFS/NTFS
/dev/sda3           13019       15628    20964825   83  Linux
/dev/sda4           15629       18500    23069340    5  Extended
/dev/sda5           18257       18500     1959898+  82  Linux swap / Solaris
/dev/sda6           15629       17734    16916382    7  HPFS/NTFS
/dev/sda7           17735       18256     4192933+  83  Linux

Partition table entries are not in disk order
Thank you postfix, you are giving me a new hope... :D
postfix
Posts: 40
Joined: 14. Jan 2008, 13:05

Post by postfix »

It's the kind of problem I expected. It is easy to fix and causes an other problem by side effect. But there is in most cases a simple solution.

But step by step, and first your current problem. Solving this will change the order of your harddisk partitions at /dev/sda. After fixing it, fdisk -l will show you the follwiing new order:

Code: Select all

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xa30da30d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       13018   104561026+   7  HPFS/NTFS
/dev/sda2           13019       15628    20964825   83  Linux
/dev/sda3           15629       18500    23069340    5  Extended
/dev/sda5           15629       17734    16916382    7  HPFS/NTFS
/dev/sda6           17735       18256     4192933+  83  Linux
/dev/sda7           18257       18500     1959898+  82  Linux swap / Solaris
/dev/sda4           18501       19457     7687102+   7  HPFS/NTFS
where ...

Code: Select all

former   /dev/sda1     --------------->    /dev/sda1   (unchanged)
former   /dev/sda2     ---renamed in-->    /dev/sda4
former   /dev/sda3     ---renamed in-->    /dev/sda2
former   /dev/sda4     ---renamed in-->    /dev/sda3
former   /dev/sda5     ---renamed in-->    /dev/sda7
former   /dev/sda6     ---renamed in-->    /dev/sda5
former   /dev/sda7     ---renamed in-->    /dev/sda6


And former fdisk comment "Partition table entries are not in disk order." will be droped. The renaming results form the new order.

And this renaming (say better new order) causes a side effect problem. If you have installed an OS, e.g. Linux, you had to tell your OS this changes. In Linux you must edit this in
- /etc/fstab
- /etc/mtab
- /boot/grub/menu.lst
and in other files containing the old names of the partitions. (Don't forget your scripts, even mounting scripts). And make allways a backup copy of any file before editing!

And Grub uses its own convention for devices and partitions. As you may see in /boot/grub/device.map Grub uses hd0 instead of /dev/hda and uses hd0,0 instead of /dev/hda1. See the naming convention in the Grub documentation! (execute info grub)

Your installed Windows (and any other OS) is affected, too. Lucky if your Windows may be complete installed on /dev/sda1. So you may boot your Windows, login as Administrator, and using Windows own "Mount Manager" (it must have one tool for mounting and formating disk partitions) and mount the reordered partitions under the same drive letter as before.
Please see your windows handbook how to make an installed windows booting from harddisk again, and how to mount harddisk partitions with a drive letter.

Back to fdisk and lets reorder the partitions at /dev/sda

First download a Rescue Linux LiveCD and burn it to CD/DVD. It is usefull for doing all changes described above or if in the next part anything goes wrong. (a hint: http://www.sysresccd.org )

Boot from your Rescue Linux LiveCD/DVD, login as user root on a terminal. Make a copy of the current Master Boot Record (MBR) of /dev/sda and save it on USB-stick or protable harddisk.

Example, where an USB-stick is mounted at /media/my-usb-stick
a) saving a backup image of the MBR

Code: Select all

dd  if=/dev/sda  of=/media/my-usb-stick/sda.old-MBR.img  bs=512  count=1
b) restoring the MBR form the backup image

Code: Select all

dd  if=/media/my-usb-stick/sda.old-MBR.img  of=/dev/sda  bs=512  count=1
At last umount the USB-stick!

Then execute fdisk /dev/sda
For seeing what's going on press the key m (m for help), then press the key x (extra functionality), and press the key m (m for help) again.
Next press the key f (fix partition order), then press the key v (verify the partition table), and after that press the key r (return to main menu).
Now press the key m (m for help), then press the key p (print the partition table).
You should see the corrected new order of the partitions.
If everything is ok, and only if everything is ok(!!), then press the key w (write new partition table to disk and exit).
If something seemed not be ok, then press the key q (quit without saving changes).


After all, and everything is well done, and you have well tested all your installed OS, then go to VB and test raw disk access again ... :-)
sidelil
Posts: 11
Joined: 17. Feb 2008, 18:35

Post by sidelil »

Thank you very much postfix for your extremely detailed post!!!

I already have the SystemRescueCD, and editing the grub menu and fstab won't be a problem (hope will be the same fot mtab).
I'm a bit more worried about windows, but I hope it won't be too hard.

I'm going to try it right now! Thank you again for your help.

P.S. One more question: do you know why my "Partition table entries are not in disk order."? Thanks!
sidelil
Posts: 11
Joined: 17. Feb 2008, 18:35

Post by sidelil »

Everything is done and seems to be right:

Code: Select all

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       13018   104561026+   7  HPFS/NTFS
/dev/sda2           13019       15628    20964825   83  Linux
/dev/sda3           15629       18500    23069340    5  Extended
/dev/sda4           18501       19457     7687102+   7  HPFS/NTFS
/dev/sda5           15629       17734    16916382    7  HPFS/NTFS
/dev/sda6           17735       18256     4192933+  83  Linux
/dev/sda7           18257       18500     1959898+  82  Linux swap / Solaris
Now the partition table has changed as you said, but when I run the command of Virtual Box (with root privileges), it still displays the same error:

Code: Select all

~$ sudo VBoxManage internalcommands listpartitions -rawdisk /dev/sda
VirtualBox Command Line Management Interface Version 1.5.6
(C) 2005-2008 innotek GmbH
All rights reserved.

Overlapping partition description areas. Aborting
postfix
Posts: 40
Joined: 14. Jan 2008, 13:05

Post by postfix »

it happens, in mixed installations of 2 oder more OS, and partitioning the harddisk isn't handmade ready before installing any of these OS.

Imagine someone is using windows from 2 partitions say /dev/sda1 and /dev/sda3, and partition /dev/sda2 contains a linux running with a large swapfile instead of a swap partition, e.g. Linspire und Freespire Linux does. Then this will be changed by splitting the space of /dev/sda2 into 2 partitions, one for swapping and one for the linux files. By using primary partitions only the resulting partition order will be
/dev/sda1 (ntfs, windows)
/dev/sda2 (swap, linux swap)
/dev/sda4 (ext2/ext3, linux)
/dev/sda3 (ntfs, user data files form windows)

Changes made in using Linux may not affecet any other installed OS, or there is a need to chance all their configuration correctly. E.g. windows needs the partition /dev/sda3 in the same kind as before the changes were made.

The order and arrangement tells a little bit if a harddisk partitioning was well thought before or less, e.g. for a minimum of movement of the harddisk heads using swap parttionon and one or more other linux partitions, or if installed more than one OS, witch should the important one.

A well thought and arranged harddisk partitioning would have a corrected disk order. ;-)
Last edited by postfix on 2. Mar 2008, 04:59, edited 4 times in total.
postfix
Posts: 40
Joined: 14. Jan 2008, 13:05

!

Post by postfix »

sidelil wrote:Everything is done and seems to be right:

Code: Select all

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       13018   104561026+   7  HPFS/NTFS
/dev/sda2           13019       15628    20964825   83  Linux
/dev/sda3           15629       18500    23069340    5  Extended
/dev/sda4           18501       19457     7687102+   7  HPFS/NTFS
/dev/sda5           15629       17734    16916382    7  HPFS/NTFS
/dev/sda6           17735       18256     4192933+  83  Linux
/dev/sda7           18257       18500     1959898+  82  Linux swap / Solaris
Now the partition table has changed as you said, but when I run the command of Virtual Box (with root privileges), it still displays the same error:

Code: Select all

~$ sudo VBoxManage internalcommands listpartitions -rawdisk /dev/sda
VirtualBox Command Line Management Interface Version 1.5.6
(C) 2005-2008 innotek GmbH
All rights reserved.

Overlapping partition description areas. Aborting
Yes, I see and I've forgotten writing it in my post obove, because in most cases it doesn't matter, but maybe it takes effect using VBs raw disk access mode. You are using an extended partition (/dev/sda3), in many cases (and even microsoft and ibm did/does) it is recommanded that there should be only one extended partition and that it should be/must be the last one of the used primary partitions.

Following this rule there should not be a /dev/sda4 behind an existing extended partition /dev/sda3. So, if your /dev/sda4 mustn't be a primary partition (e.g. in respect of booting conditions) it would help to enlarge the extended partition /dev/sda3 over the hole dataspace from /dev/sda4, so that this one went inside /dev/sda3 and would be renamed in /dev/sda8. (a hint: use a partitioning tool like GPart/GPartEd or Partition Magic) After that, the last one overlapping is fixed, too.

Please tell all your installed OS about this changing as done before!

After this I don't know any more rule witch could be understood as partition overlapping. If VB would be repeated the error message after this last change, we had to go to the next level inside the OS.

One a friends notebook VB works well after fixing the disk order. :-)
sidelil
Posts: 11
Joined: 17. Feb 2008, 18:35

Post by sidelil »

The partition /dev/sda4 is a Recovery partition installed by the manufacturer of my laptop (HP). If I move it inside the extended partition I wouldn't be able to boot it any more, would I? (It's not such a problem because I have the recovery DVD).

One more question: what's the best way to move the partition inside the extended one? I use gparted, but the only way I can think for moving it is:
- reducing sda2
- resizing sda3, allocating more space at the beginnig,
- moving sda4 inside it,
- extending sda3 at the end
- moving sda4 at the end of sda3
- resizing sda3, throwing away the free space at the beginning (because i don't need it anymore)
- resizing sda2, enlarging in at the original size.

Can you see what I mean? Is there a neater way to do it? If not, no worries, this one will still work.

Thank you once more for your help.
postfix
Posts: 40
Joined: 14. Jan 2008, 13:05

Post by postfix »

I see what you mean, it is a good way.

I don't know, how fast your pc moves your harddisk data. But if you decide to move sda4 between an reduced sda2 and sda3, why should sda4 not hold being bootable?

Of cause you have to move some more partitions, but if it is done, there will be no need to move one partition anymore.

The state of your current partitions in block order is:

Code: Select all

Old-Device-Name   Start         End      Blocks   Id  System
/dev/sda1             1       13018   104561026    7  HPFS/NTFS
/dev/sda2          3019       15628    20964825   83  Linux
/dev/sda3         15629       18500    23069340    5  Extended
  /dev/sda5       15629       17734    16916382    7  HPFS/NTFS
  /dev/sda6       17735       18256     4192933   83  Linux
  /dev/sda7       18257       18500     1959898   82  Linux swap / Solaris
/dev/sda4         18501       19457     7687102    7  HPFS/NTFS
But what do you think about the following? (in block order again:)

Code: Select all

Old-Device-Name  New-Device-Name  Start         End      Blocks   Id  System
/dev/sda1        /dev/sda1            1       13018   104561026    7  HPFS/NTFS
/dev/sda4        /dev/sda2        13019        ...      7687102    7  HPFS/NTFS
/dev/sda2        /dev/sda3         ...         ...      reduced   83  Linux
/dev/sda3        /dev/sda4         ...         ...     enlarged    5  Extended
  /dev/sda7        /dev/sda5       ...         ...      1959898   82  Linux swap / Solaris
  /dev/sda5        /dev/sda6       ...         ...     16916382    7  HPFS/NTFS
  /dev/sda6        /dev/sda7       ...         ...      4192933   83  Linux
Notice:
- the recovery partition (new device name /dev/sda2) could be boot
- now linux root partition (new device name /dev/sd3) and linux swap partition (new device name /dev/sda5) are closed behind. this results better read/write performance when using the swap partition, because the heads of your harddisk will use shorter ways of movement now. The new /dev/sda5 begins with the next following sector behind the new /dev/sda3.

Your way is all right!
What I', writing now is nothing else than loud thougths.



- - - - - -
a hint (using new device names):

If Grub is your first boot manager after coming from BIOS, Grub must be reinstalled.

Boot from your Linux System Rescue CD, create the directory /mnt/sda3 for mounting /dev/sda3 with write+read permission. Mount it.

Now reinstall Grub in the Master Boot Record of /dev/sda using

Code: Select all

grub-install  --root-directory=/mnt/sda3  /dev/sda
So coming from BIOS your PC could boot Grub as boot manager.

If you use Windwos' boot manager instead of Grub, then reinstall Grub in the "Record 0" of /dev/sda3 using

Code: Select all

grub-install  --root-directory=/mnt/sda3  /dev/sda3
Make a copy of "Record 0" of /dev/sda3 into a file (for example the file is called LINBOOT.IMG) with

Code: Select all

dd  if=/dev/sda3  of=/mnt/sda3/LINBOOT.IMG  bs=512  count=1
Copy this file to usb-stick and move it to Windows' C:\. You'll used it for Windows boot manger to make a Linux boot entry. For details see your windows handbook or google boot.ini
sidelil
Posts: 11
Joined: 17. Feb 2008, 18:35

Post by sidelil »

Yes, your idea is great! I'll definitely change the order of the partitions as you said.
Btw, I'm using grub, and for restoring it I just use SuperGrubDisk, a beautiful live CD tool.
Again, thank you very much for your hints.
sidelil
Posts: 11
Joined: 17. Feb 2008, 18:35

Post by sidelil »

IT'S WORKING!!! Hooray, it's working!!!
I hope now I can complete my plan of accessing a physical partition from a Virtual machine.

However, thank you very much postfix for your help and your patience. Without you I wouldn't have fixed it. Thank you. :D
postfix
Posts: 40
Joined: 14. Jan 2008, 13:05

Post by postfix »

You did the job and it is working. So you did it well :D

You got an optimized hard disk order and with less or more steps you'll get a working VB including raw disk access. 8)
Post Reply