40GB drive formats to only 31GB?

I recently got a new Samsung 40GB hard drive and installed it as a slave drive.

My BIOS correctly identified the make and model number of the drive, and can support hard drives up to 136GB according to the documentation.

However, when I partition and format the drive, all I get and up with is 31GB.  What's the deal here?

prompt> fdisk /dev/hdb

[ make single partition /dev/hdb1 using all available sectors ]

prompt> mke2fs /dev/hdb1
prompt> mount /dev/hdb1 /mnt/samsung
prompt> df
/dev/hdb1              31G  718M   29G   2% /mnt/samsung

[this is after moving some data to the drive]

I was expecting 40G (or at least closer to it) when I df'ed.  Is the 31G to be expected?

Who is Participating?

Improve company productivity with a Business Account.Sign Up

DVBConnect With a Mentor Commented:
Ok, my drive has *two* jumpers, instead of one. Remove the HDD and see what the jumper settings have to be to keep the disk at 40G (thats will reports as 38.some GB since the marketing literature has 1GB = 1000 MB). The jumper settings are given on the HDD case itself.
this is probably 'cause mke2fs used to much inodes by default.
You can check with
  sfdisk -s /dev/hdb1
  df -i /dev/hdb1

If you have too much inodes, make your filesystem like this:
   mke2fs -i 1024 /dev/hdb1
How big does the bios report your drive as? Some drives need special jumper settings to show full 40 GB.
Build your data science skills into a career

Are you ready to take your data science career to the next step, or break into data science? With Springboard’s Data Science Career Track, you’ll master data science topics, have personalized career guidance, weekly calls with a data science expert, and a job guarantee.

truittjAuthor Commented:
Here's what I see:

prompt# df -i /dev/hdb1
Filesystem        Inodes   IUsed   IFree IUse% Mounted on
/dev/hdb1        4128768   10168 4118600    0% /home

prompt# sfdisk -s /dev/hdb1

How do I know how many inodes are too many?  What is considered an acceptable block size or bytes/inode ratio?

truittjAuthor Commented:
Here's a it more info on the formatted drive:

prompt# tune2fs -l /dev/hdb1
tune2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          dc5a4c99-6b68-4366-98de-6cfef71b171d
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      filetype sparse_super
Filesystem state:         not clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              4128768
Block count:              8255394
Reserved block count:     412769
Free blocks:              7941957
Free inodes:              4118601
First block:              0
Block size:               4096
Fragment size:            4096
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         16384
Inode blocks per group:   512
Last mount time:          Thu Jun 20 14:06:41 2002
Last write time:          Fri Jun 21 13:25:23 2002
Mount count:              4
Maximum mount count:      20
Last checked:             Wed Jun 19 10:10:17 2002
Check interval:           15552000 (6 months)
Next check after:         Mon Dec 16 09:10:17 2002
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               128


P.S. DVB - I have not yet rebooted to poke through the BIOS and see how large it reports the drive.  I'll let you know as soon as I look.

truittjAuthor Commented:
OK - BIOS report on the drive:

Samsung SV4002H  [this is the correct model number]

CHS Format

Cylinders: 16383
Heads: 16
Sectors: 63
Maximum capacity: 8455 MB

LBA Format

Total sectors: 66055248
Maximum capacity: 33820 MB
Multi-Sector Transfers: 16 Sectors
LBA Mode Control: Enabled
Transfer Mode: FPIO4 & Bus Mastering
Ultra DMA: Mode 2

So it looks as if it is indeed a BIOS issue.  Unfortunately, I don't have the motherboard manual - all I have is the online documentation at:


and that seems to give the impression that there aren't any jumper settings I need to worry about.  I'll check and see if there's a BIOS update I should install, and will take a look at the motherboard and try to see if there are any jumper candidates labeled.

Well you probably resolved this by now but,

Your bios is ok for this size of drive as it has the extension necessary for up to 136 GB (the next barrier)

As DVB indicated the problem is most likely the 32/33 GB "clip".  The large drives now have a jumper that "clip" the size reporting to less than 40 GB to enable use on older systems that have a bios problem and where the bios cannot be updated, not your case.

Recheck the drive and remove the limiter clip.

You will have to redo the drive to get full value.

If you have trouble locating it the samsung tech site is www.samsungusa.com.

Good Luck

> Inode count:              4128768
> Block count:              8255394
That's your problem, excatly as I assumed in my comment.
I don't have much experiance about the amount of inodes per amount of blocks, but it is roughly 5%, usually. For lage disks it could be less.
Make a new filesystem with less inodes. See the Large_Disk howtos.
truittjAuthor Commented:
Jumper setting on the drive itself it was - many thanks to DVB and ITsheresomewhere.  For reference, I was using the "lower 32GB" jumper setting for a slave drive, and had to change it to the "upper 32GB" jumper setting.  I'm not entirely sure what "lower" and "upper" refer to, but the "lower" setting will result in only 32GB being recognized, whereas the "upper" setting allows the BIOS to see the whole drive.

Thanks for the help!

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.