40GB drive formats to only 31GB?

Posted on 2002-06-20
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
  • 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?

Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.


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 200 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

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

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Centos 7 User to Start Apache, MariaDB, LDAP 5 48
Securing Azure Oracle instance of Linux VM 4 65
Upgrade BIOS / EUFI at Scale 4 55
CentOS 7 Linux for HP DL380 G4 32Bits 7 47
This is the error message I got (CODE) Error caused by incompatible libmp3lame 3.98-2 with ffmpeg I've googled this error message and found out sometimes it attaches this note "can be treated with downgrade libmp3lame to version 3.97 or 3.98" …
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…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

829 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