Taken from my old blog Unable to open /dev/sdb with fdisk
Fdisk is a menu driven program for creation and manipulation of partition tables. The device is usually something like /dev/sda, /dev/sdb. A device name refers to the entire disks. /dev/sd? is the partition of the device. For example, /dev/sda1 refers to the first partition of the first device.
If you issued a command and you receive a corresponding message “unable to open /dev/sdb”
# fdisk /dev/sdb
Unable to open /dev/sdb
Linux is unable to locate or find the partition. One method to verify that it is so, do a listing of the
devices fdisk can see. In this example below, the partition has been created already.
# fdisk -l
Disk /dev/sdb: 2997.4 GB, 2997426536960 bytes 255 heads, 63 sectors/track, 364416 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 267349 2147480811 83 Linux WARNING: The size of this disk is 3.0 TB (2997400633344 bytes). DOS partition table format can not be used on drives for volumes larger than 2.2 TB (2199023255040 bytes). Use parted(1) and GUID partition table format (GPT).
Once you have verified the presence of the device, do a fdisk /dev/sdb again