>
> Does openSUSE 10.3 32bit support files more then 2 GB on the FAT16 (LBA)
> partitions?
>
> It works perfectly in Windows. I can read/write 3.5GB file
>
> But when I try to read the file from Linux I get Input/Output error
> somewhere at 60% of operation progress.
>
> dmesg shows multiple error lines of “Filesystem panic”:
>
> FAT: Filesystem panic (dev sdb1)
> fat_get_cluster: detected the cluster chain loop (i_pos 7823)
>
> So, I wonder, does openSUSE 32bit or/and kernel 2.6.22.13 support such
> filesystem?
>
>
Sounds more like you’ve got a problem with the filesystem. Have you
tried running chkdsk / scandisk on the drive from windows?
By default, FAT16 is limited to volumes of 2GB or less, it can be extended up
to 4GB by using 64K clusters, but this is rarely used.
Are you sure it’s not FAT32… creating a FAT16 partition is not possible
from windows anymore. (well, not by ‘normal’ means, I can do it)
From linux, you can run a program equivalent to chkdsk/scandisk with:
fsck.vfat /dev/sdb1
(from your error message above)
Make sure the filesystem is not mounted though, as the fsck application will
not check a mounted volume. (well, it WILL, but it won’t fix anything, not
real useful that way)
Yep. Checked the disk - no errors found.
Even ckecked different Windows machines and openSUSE11. Windows uses large file without any problems
That’s right! Fully agree.
FAT16 with extended cluster size CAN handle files up to 4GB.
Once again agree. WindowsXP doesn’t allow to format disk as FAT16. I used special utility “HP USB Disk Storage Format Tool”. In properties of disk (windows) I see “File system: FAT” (not FAT32).
In Linux i see this:
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 492 3948512 e W95 FAT16 (LBA)
So that means, the partition is really FAT16 formatted. And listing files in linux shows a large file:
I tried to create loopback partition 4GB size and formatted it as FAT16. Mounted as vfat.
When I tried to create a file over 2GB the system at that bound said “File size limit reached”.
This is quite normal error.
But why am I getting I/O error over 2GB of the file?
And how to make Linux handle large files on the FAT16 partition?
>
> lornix;1856721 Wrote:
> > Sounds more like you’ve got a problem with the filesystem. Have you
> > tried running chkdsk / scandisk on the drive from windows?
> >
> Yep. Checked the disk - no errors found.
> Even ckecked different Windows machines and openSUSE11. Windows uses
> large file without any problems
>
> lornix;1856721 Wrote:
> >
> > By default, FAT16 is limited to volumes of 2GB or less, it can be
> > extended up
> > to 4GB by using 64K clusters, but this is rarely used.
> >
> That’s right! Fully agree.
> FAT16 with extended cluster size CAN handle files up to 4GB.
>
> lornix;1856721 Wrote:
> >
> > Are you sure it’s not FAT32… creating a FAT16 partition is not
> > possible
> > from windows anymore. (well, not by ‘normal’ means, I can do it)
> >
> Once again agree. WindowsXP doesn’t allow to format disk as FAT16. I
> used special utility “HP USB Disk Storage Format Tool”. In properties of
> disk (windows) I see “File system: FAT” (not FAT32).
> In Linux i see this:
>
> Code:
> --------------------
> Device Boot Start End Blocks Id System
> /dev/sdb1 * 1 492 3948512 e W95 FAT16 (LBA)
> --------------------
>
> So that means, the partition is really FAT16 formatted. And listing
> files in linux shows a large file:
>
> Code:
> --------------------
> -rwxr-xr-x 1 root root 3436838912 2008-07-28 10:51 large.file
> --------------------
>
> lornix;1856721 Wrote:
> >
> > From linux, you can run a program equivalent to chkdsk/scandisk with:
> >
> > fsck.vfat /dev/sdb1
> >
> > (from your error message above)
> >
> > Make sure the filesystem is not mounted though, as the fsck application
> > will
> > not check a mounted volume. (well, it WILL, but it won’t fix anything,
> > not
> > real useful that way)
>
> I tried to create loopback partition 4GB size and formatted it as
> FAT16. Mounted as vfat.
> When I tried to create a file over 2GB the system at that bound said
> “File size limit reached”.
> This is quite normal error.
>
> But why am I getting I/O error over 2GB of the file?
> And how to make Linux handle large files on the FAT16 partition?
>
>
You could try mounting it as ‘msdos’ rather than vfat. VFAT uses some
heuristics to determine the filesystem type. It may be guessing wrong.
My question would be “Why are you using a KNOWN legacy format to handle files
for which it was not designed for? Masochism?”
Based on my search through the kernel source code, it does not support the
(nonstandard) extended cluster FAT16. You’re welcome to patch it or write
your own driver.
I’d help you more if you had something to recover from old equipment or old
media… but you are DELIBERATELY using a LEGACY media format, in a
NON-STANDARD configuration, on NEW equipment for files the legacy
format never envisioned nor was designed for.
Format your usb disk as FAT32, transfer your file, and have fun.
If you format the usb disk as FAT32 using linux, you can get smaller
clusters and better disk usage without as much wasted space than windows will
create as a default.
that’s a high ground you have there…
in my case, i have a 3.4 gb video file produced by a camera on an sd card. currently, i can’t get more than 2gb of it. so if anybody has some constructive help, that would be appreciated.
Just tried to put a 3.5 iso on a Windows-formatted FAT32 8GB SD-card from XP. No way. So changes must have been made on the Windows side. Changing kernels is not going to help. Maybe ‘dd’ offers a way to get the ISO off of the SD-card
On 2009-10-26, Knurpht <Knurpht@no-mx.forums.opensuse.org> wrote:
>
> Just tried to put a 3.5 iso on a Windows-formatted FAT32 8GB SD-card
> from XP. No way. So changes must have been made on the Windows side.
> Changing kernels is not going to help. Maybe ‘dd’ offers a way to get
> the ISO off of the SD-card
With FAT32, the limit should be 4GB minus 1Byte.
Have done so frequently.
But you can also have XP format it as NTFS, that well enough supported.
–
Any time things appear to be going better, you have overlooked
something.