sfdisk: extended partition does not start at a cylinder boundary - how to fix it?

Mariano Draghi mdraghi at prosud.com
Fri May 21 05:21:49 UTC 2004


Hi,
I installed FC2, by doing a fresh install on top of my previous FC1
installation. I erased all the Linux partitions, leaving the vfat and ntfs
ones alone (I wanted to use LVM from now on to create my "/" and "/home"
partitions).
The installation went fine, but after a couple of reboots, I
learned that I was one of those lucky guys who cannot boot into Win2K any
longer ;) Hopefully, my BIOS let me choose the disk access mode, so I set
it to "LBA" (instead of "Auto"), and got the problem solved.

But now I discovered that I have a very ugly mess with my extended vfat
partition... and I don't know why, as I didn't tell Anaconda to touch it! :(
I learned this while I was trying to mount my Win2K's FAT32 partition.
There's no way to mount it.

I suppose this is related to this change in the disk geometry, and I
suppose too that my data is still there (please! tell me so!).
I suppose this because sfdisk is telling me something about the extended
partition not starting at a cylinder boundary (and I don't believe FC1 was
giving me that message too...)

I'd like if someone can have
a look at the information I'm posting below, and tell me what the problem
could be, and if it is possible to solve it. Because as I wasn't planning
to touch the Windows' partitions... I didn't include them in the backup I
made before the installation (I know, shame on me...)
:(

When I try to mount /dev/hda5, I get this:

[root at home mariano]# mount -t vfat /dev/hda5 /mnt/win
mount: wrong fs type, bad option, bad superblock on /dev/hda5,
       or too many mounted file systems

And sfdisk tell me this:

[root at home mariano]# /sbin/sfdisk -l /dev/hda
Disk /dev/hda: 158816 cylinders, 16 heads, 63 sectors/track
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Units = cylinders of 516096 bytes, blocks of 1024 bytes, counting from 0
 
   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/hda1   *      0+  20320-  20321-  10241406    7  HPFS/NTFS
/dev/hda2      20321   20522     202     101808   83  Linux
/dev/hda3      20523   81661   61139   30814056   8e  Linux LVM
/dev/hda4      81663+ 158801-  77138-  38877300    f  W95 Ext'd (LBA)
/dev/hda5      83735+ 124376-  40641-  20482843+   c  W95 FAT32 (LBA)
/dev/hda6     124376+ 126455    2080-   1048194   82  Linux swap

Some extra hints:
- I can mount my NTFS partition (hda1) just fine (I installed the NTFS
kernel module)
- FC1 was able to acces hda5 without any problem.
- If I boot into Win2K, I can see my "E:" drive (hda5), but of course
Windows thinks it is not formated.
- Win2K also sees the Linux LVM as drive "G:" (is this normal? It's VERY
dangerous... anyone could right-click on it and format it!)
- Below is a strace of the mount command... don't know if anyone can put
that in plain English (I certainly can't!)
- Sorry for my English... just in case ;)

Thanks for your help!

[root at home mariano]# strace mount -t vfat /dev/hda5 /mnt/win
execve("/bin/mount", ["mount", "-t", "vfat", "/dev/hda5", "/mnt/win"], [/* 38 vars */]) = 0
uname({sys="Linux", node="home.chaghi.com.ar", ...}) = 0
brk(0)                                  = 0x89b3000
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=91191, ...}) = 0
old_mmap(NULL, 91191, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf705a000
close(3)                                = 0
open("/lib/tls/libc.so.6", O_RDONLY)    = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300;S\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1455084, ...}) = 0
old_mmap(0x51f000, 1158124, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x51f000
old_mmap(0x634000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x115000) = 0x634000
old_mmap(0x638000, 7148, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x638000
close(3)                                = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf7059000
mprotect(0x634000, 8192, PROT_READ)     = 0
mprotect(0x51b000, 4096, PROT_READ)     = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0xf7059460, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
munmap(0xf705a000, 91191)               = 0
brk(0)                                  = 0x89b3000
brk(0x89d4000)                          = 0x89d4000
brk(0)                                  = 0x89d4000
umask(022)                              = 022
open("/dev/null", O_RDWR|O_LARGEFILE)   = 3
close(3)                                = 0
getuid32()                              = 0
geteuid32()                             = 0
lstat64("/etc/mtab", {st_mode=S_IFREG|0644, st_size=322, ...}) = 0
stat64("/sbin/mount.vfat", 0xfeed3360)  = -1 ENOENT (No such file or directory)
rt_sigprocmask(SIG_BLOCK, ~[TRAP SEGV RTMIN], NULL, 8) = 0
mount("/dev/hda5", "/mnt/win", "vfat", 0xc0ed0000, 0) = -1 EINVAL (Invalid argument)
rt_sigprocmask(SIG_UNBLOCK, ~[TRAP SEGV RTMIN], NULL, 8) = 0
write(2, "mount: wrong fs type, bad option"..., 103mount: wrong fs type, bad option, bad superblock on /dev/hda5,
       or too many mounted file systems
) = 103
stat64("/dev/hda5", {st_mode=S_IFBLK|0660, st_rdev=makedev(3, 5), ...}) = 0
open("/dev/hda5", O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 3
ioctl(3, BLKGETSIZE, 0xfeed3490)        = 0
close(3)                                = 0
exit_group(32)                          = ?

-- 
Mariano







More information about the users mailing list