Still trying to resolve this problem by myself. I found recently that partition table on disk of this problematic laptop has overlapping partitions. I think they could appear because of previuos defective HDD which was replaced by warranty, and all the data was copied 1:1 to the new replaced HDD. Here is the output of 'fdisk -lu /dev/sda':
Disk /dev/sda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x60bbe8ec
Device Boot Start End Blocks Id System
/dev/sda1 * 63 83891429 41945683+ 7 HPFS/NTFS
/dev/sda2 83891430 302150519 109129545 7 HPFS/NTFS
/dev/sda3 302150520 616735349 157292415 5 Extended
/dev/sda4 616735350 625137344 4200997+ 82 Linux swap / Solaris
/dev/sda5 * 302150583 302568209 208813+ 83 Linux
/dev/sda6 302560184 616743325 157091571 83 Linux
And also output of fdisk verify command:
Warning: partition 4 overlaps partition 6.
Warning: partition 5 overlaps partition 6.
Logical partition 6 not entirely in partition 3
5224 unallocated 512-byte sectors
Now the question is how to fix it without losing data. Note that current system is running without any problems yet. I think i will need some fdisk with option to manually entering partition sizes/boundaries by hand. But how to calculate these values? For example i have: "total 625142448 sectors" - so what should be the last sector number in the partition table, look at /dev/sda3 which end is 616735349, so it means that extended partition is already out of the bound, or do i need to add some offset to this value?
Btw: /dev/sda5 is /boot and /dev/sda6 is /