If you are using hot swappable hard disk and created new partition using fdisk then you need to reboot Linux based system to get partition recognized. Without reboot you will NOT able to create filesystem on your newly created or modified partitions with the mke2fs command.
However with partprobe command you should able to create a new file system without rebooting the box. It is a program that informs the operating system kernel of partition table changes, by requesting that the operating system re-read the partition table.
After the fdisk command session (which makes changes to partition table) just type the following command:
# partprobe
OR
# partprobe /dev/sdX
Replace /dev/sdX or /dev/hdX with actual device name. Now you will able to create filesystem on new partition with the mke2fs command.
Inform the OS of partition table changes
partprobe command is part of GNU parted software. parted is a disk partitioning and partition resizing program. It allows you to create, destroy, resize, move and copy ext2, ext3, linux-swap, FAT, FAT32, and reiserfs partitions. It can create, resize and move Macintosh HFS partitions, as well as detect jfs, ntfs, ufs, and xfs partitions. It is useful for creating space for new operating systems, reorganising disk usage, and copying data to new hard disks.
Install parted
In order to use partprobe command you need to install parted:
If you are using Debian / Ubuntu Linux, enter:
# apt-get install parted
OR if you are using RHEL version <= 4, enter:
# up2date parted
OR if you are using Fedora Linux / CentOS / RHEL 5, enter:
# yum install parted
See also:
=> See official parted home page for download and other information.
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop


![Red Hat Enterprise Linux 5 IMPORTANT Security Update [ 4-Nov-2008 ]](http://s0.cyberciti.org/images/rp/1/1.jpg)









{ 28 comments… read them below or add one }
Its a very good tip that can be used in a production evironment without any downtime
partprobe won’t always work. If you are lucky hdparm -z will work, but again cannot be guartenteed. The problem with Linux and partition tables carries on into the 21st century’s second decade.
Thank you!
And to make this a bit more googlable:
fdisk printout: “Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy”
When partprobe isn’t available you can also (sometimes) use:
# hdparm -z /dev/sdX
which will re-read that device’s partition table.
BLKRRPART failed: Device or resource busy
Thank You!
You saved me from having to restart my server!
(restarting is a real pain in the neck)
Thanks a lot !
And in order to install parted for gentoo users :
emerge -av parted
;)
Thanks for the tips (LINUXTITLI, Jason) and also thanks domen for making this more googlable!
Created a new partition from unformatted disk space (got error in re-reading the partition table: device busy) , partprobed, mkfs.ext3′d, e2labeled and mounted!
No reboot needed, thanks again. :)
i am run this command in rhel6 .and i want without reboot update partition table.when i am use partprobe ,kpartx, and hdperm -z command .
system are given massage device or resource busy due to failed .
Try stopping services like samba and nfs. I found restarting nfs freed up my disk even after I used fdisk on it.
I found this website while I was trying to figure out what the difference between the three ways I’ve found so far (partprobe, hdparm -z /dev/disk, and blockdev –rereadpt /dev/disk) is.
Boy was I happy to find this post. Just added a new partition to my gentoo production server after 463 days uptime and stumbled across the above mentioned ioctl warning. Thanks guys for the post and the comments :)
Never was able to get the disk formatting re-read using partprobe. Had to reboot servers. May be to note that I am working on Redhat clusters with gfs. That shouldn’t matter much, as I run partprobe on both nodes.
on RH systems you may need to run udevstart after partprobe
i am run this command in rhel6 .and i want without reboot update partition table.when i am use partprobe ,kpartx, and hdperm -z command .
system are give massage device or resource busy due to failed .
so what are doing me pls help???
I found that even after all the fdisk’ing, the partition/disk was still in use. Ended up being nfs (even though I was not sharing that disk any more and had run exportfs -av a few times). I had to restart nfs server to free the disk, then partprobe worked.
I thought I was heading for a reboot.
A 4th way is:
echo 1 > /sys/block/sdc/device/rescan
And follow dmesg to see the kernel rescan the disk. I found this worked on a server that partprobe did not.
Thank you very much for this great advice.
Btw, if you want to know what partitions kernel sees, glance at the /proc/partitions file
Thank you, I was going crazy trying to figure out why my table was not refreshing. Thank you,,,thank you,,,thank you.
excellent!
thank you very much!
Doesn’t seem to work for the disk that houses the root-partition or CentOS/RHEL machines. The resize2fs command simply stats the filesystem is already at maximum size. If I enter a value of 100 blocks less then available resize2fs tells me that the devices is not that big. Any hints?
- “partprobe” or “partprobe /dev/sda” does not provide any output and nothing is written in dmesg.
- “hdparm -z /dev/sda” throws me the same “device or resource busy” message as fdisk.
- “echo 1 > /sys/block/sda/device/rescan” doesn’t help either.
This is quite annoying as almost all of our machines are virtual machines which we can expand on-the-fly. Even more annoying is the fact that we can accomplish this with just a few clicks on a Windows machine…
Rakesh Gupta,
I’m getting the exact same errors. If you run across a fix for centos 6 please let me know.
I am trying to add partprobe in a bash script after I format the disk.
but its not rereading the partition table, can you suggest me a way to achieve it?
Hi,
For those on RH6/CentOS6 wondering why this does not work stop wondering, it never will. Due to stupid people frying their systems playing with partitions on the side the device will always block you with “BUSY” if there is even one active partition on a disk still in use. This was implemented by one of the developers, cant remember where I saw it but it was on BugZilla somewhere listed as a bug.
For example:
sda1 – In use
sda2 – Not in use
If you modify the partition data for sda2 and try to get it to reread in live without a reboot it will throw a device busy because sda1 is still active and in use. This at the end of the day is always going to lead to one of two paths, kill everything, unmount everything and try again or reboot. Both result in the same case scenario anyway, downtime of services.
You can rescan the bus for the devices but that wont reread in the partition information, only physical disk size. So you will have a disk that now accurately reflects the increase, say from 10GB to 20GB but you still wont be able to resize the partition to fill the space because the kernel cant reread in the changes to it you have made until after a reboot.
Please, if someone wants to point this out as being incorrect I beg of you please go right ahead because I seem to just keep running into dead ends.
Hi,
Further to my comment above here is the bug report I deduced this from:
https://bugzilla.redhat.com/show_bug.cgi?id=614357
Regards,
Jay
@Jay Porter, your problem should be caused by old version parted . After I upgrade from 2.1 ( centos6.3 default ) to 3.1 (build from source). I can happily make/delete partitions without booting now!
Looks like it is problem with older version parted. So gist of the story if you don’t have parted 3.1 in your system be ready to reboot your system. As none of the technique seems to work on RHEL 6
@fubupc
new parted(3.1) cann’t reload partition table for me when some program use one partition.