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