Linux – mkfs fails complaining that: “/dev/sdb is apparently in use by the system; will not make a filesystem here”

linuxmkfsmount

This is Ubuntu server 11.10.

/dev/sdb is not mounted (see outputs below) and is not used by any process that I can see. Its not used for swap as well. This is a 2nd IDE drive in the server, connected to the secondary IDE and set up in hardware raid as array 2.

I cannot mount the drive as I get a complaint it might already be in use. I did run fdisk, deleted all the previous partitions and created a single primary one.

root@sargent:/home/harel# fdisk -l /dev/sdb

Disk /dev/sdb: 122.9 GB, 122942324736 bytes
226 heads, 63 sectors/track, 16864 cylinders, total 240121728 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00083711

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   240121727   120059840   83  Linux


root@sargent:/home/harel# mkfs -t ext4 /dev/sdb
mke2fs 1.41.14 (22-Dec-2010)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
/dev/sdb is apparently in use by the system; will not make a filesystem here!

root@sargent:/home/harel# cat /proc/swaps 
Filename                Type        Size    Used    Priority
/dev/sda5                               partition   2619388 0   -1

root@sargent:/home/harel# mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)

Best Answer

Check your partitioning once again, but without specifying /dev/sda:

# fdisk -l

Then if you find in output something like /dev/md0, - it means that you have got sw array, and disk that you're trying to format contains metadata of that array.

In this case:

# umount /dev/md0
# mdadm --stop /dev/md0

Clear superblock of disk:

# mdadm --zero-superblock /dev/sdb

Remove array

# mdadm --remove /dev/md0

No you can work with your drive.

Related Topic