40GB drive formats to only 31GB?

Posted on 2002-06-20
Medium Priority
Last Modified: 2008-03-06
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?

Question by:truittj
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
  • 2
  • +1
LVL 51

Expert Comment

ID: 7098083
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

Expert Comment

ID: 7098898
How big does the bios report your drive as? Some drives need special jumper settings to show full 40 GB.

Author Comment

ID: 7099233
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?

Percona Live Europe 2017 | Sep 25 - 27, 2017

The Percona Live Open Source Database Conference Europe 2017 is the premier event for the diverse and active European open source database community, as well as businesses that develop and use open source database software.


Author Comment

ID: 7099379
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.


Author Comment

ID: 7099450
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.


Accepted Solution

DVB earned 800 total points
ID: 7100040
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.

Expert Comment

ID: 7100869
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

LVL 51

Expert Comment

ID: 7102151
> 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.

Author Comment

ID: 7105001
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!


Featured Post

Veeam Task Manager for Hyper-V

Task Manager for Hyper-V provides critical information that allows you to monitor Hyper-V performance by displaying real-time views of CPU and memory at the individual VM-level, so you can quickly identify which VMs are using host resources.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

SSH (Secure Shell) - Tips and Tricks As you all know SSH(Secure Shell) is a network protocol, which we use to access/transfer files securely between two networked devices. SSH was actually designed as a replacement for insecure protocols that sen…
Join Greg Farro and Ethan Banks from Packet Pushers (http://packetpushers.net/podcast/podcasts/pq-show-93-smart-network-monitoring-paessler-sponsored/) and Greg Ross from Paessler (https://www.paessler.com/prtg) for a discussion about smart network …
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Connecting to an Amazon Linux EC2 Instance from Windows Using PuTTY.
Suggested Courses
Course of the Month11 days, 9 hours left to enroll

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question