How do I view all available HDD’s/partitions?
I found a 6 GB IDE HDD in my basement. I want to plug it in and see what might be on it. The drive seems to be recognized in BIOS. I can’t find it in Ubuntu to view files, and Ubuntu is the only OS on that particular computer. I was wondering if Ubuntu has an equivalent to the Windows feature «My Computer», which lists all available drives/storage devices. Typically, My Computer shows C:, which can be opened to view all of your directories and files. At this point, it is very similar to Ubuntu’s Home Folder. How to view/select all available partitions of that drive or all available HDD’s without formatting or tampering with the contents in any way?
Use Gparted, but with care! This can be a dangerous tool. If you just look at the partitions it’s fine
df -h —human-readable is a nice, short way of doing it. (Point out any errors that I may have) Thanks! Best wishes to the future //Will
11 Answers 11
There are many ways but my favorite is lsblk . Here is a demonstration:
sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
That would show the following:
NAME FSTYPE SIZE MOUNTPOINT LABEL sda 111.8G ├─sda1 swap 121M [SWAP] └─sda2 ext4 111.7G / sdb 2.7T └─sdb1 ext4 2.7T xtreme sdc 3.7T └─sdc1 ext4 3.7T titan
- The name of the drive and the partitions it has.
- The type of file system.
- The size the whole drive has and the size each partition has.
- The mount point and if available, the label for them.
You can play around with the options by first looking at the ones available with lsblk —help . I like lsblk because of the friendly way of showing the information if compared for example with fdisk or parted .
- to check which drives your system can see:
If your drive is in the list, you’ll be able to see what partitions are on the drive, like this:
Disk /dev/sda: 160.0 GB, 160041885696 bytes . Device Boot Start End Blocks Id System /dev/sda1 * 63 208844 104391 83 Linux /dev/sda2 208845 2313359 1052257+ 82 Linux swap / Solaris /dev/sda3 2313360 312576704 155131672+ 83 Linux
Then create a directory somewhere and mount one of the partitions. For example, to mount a FAT32 partition located at dev/sda3 read-only into directory /media/my_test_mount you can do
sudo mount -t cifs -o ro /dev/sda3 /media/my_test_mount
This approach gives you more control, as you can use different mount options, for example mount the partition read-only.
See man mount for details.
I second Luis in that lsblk(8) is probably the most straightforward and concise solution. It’s very easy to visualize what is there and gives you all of the information needed quickly:
sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
For your convenience, here is a list of all available columns that can be used.
Available columns: NAME device name KNAME internal kernel device name MAJ:MIN major:minor device number FSTYPE filesystem type MOUNTPOINT where the device is mounted LABEL filesystem LABEL UUID filesystem UUID RO read-only device RM removable device MODEL device identifier SIZE size of the device STATE state of the device OWNER user name GROUP group name MODE device node permissions ALIGNMENT alignment offset MIN-IO minimum I/O size OPT-IO optimal I/O size PHY-SEC physical sector size LOG-SEC logical sector size ROTA rotational device SCHED I/O scheduler name RQ-SIZE request queue size TYPE device type DISC-ALN discard alignment offset DISC-GRAN discard granularity DISC-MAX discard max bytes DISC-ZERO discard zeroes data
To list the hard drives/disks, I use
Model: ATA Samsung SSD 850 (scsi) Disk /dev/sda: 250GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 1049kB 256MB 255MB primary ext2 boot 2 257MB 120GB 120GB extended 5 257MB 120GB 120GB logical lvm Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/ubuntu--vg-swap_1: 8573MB Sector size (logical/physical): 512B/512B Partition Table: loop Number Start End Size File system Flags 1 0.00B 8573MB 8573MB linux-swap(v1) Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/ubuntu--vg-root: 111GB Sector size (logical/physical): 512B/512B Partition Table: loop Number Start End Size File system Flags 1 0.00B 111GB 111GB ext4
And then to list the partitions as other people have already suggested you can use:
Which will tell you the file system partition types
parted gives me the hardware information and lsblk gives me the partition information. Looks like what I needed. Too bad there’s no single command to document everything to support disaster recovery. Thank you!
Use the following command lines, that together will give you a good overview of the partitions (location, sizes, free space and mount points),
df -h sudo parted -ls sudo lsblk -f sudo lsblk -m
If your terminal window is wide enough (for example 130 characters), you can combine the lsblk commands to
Nautilus (where you view your home folder) will show all mounted drives on the system. If the drive is recognized by the computer you can mount it and begin to use it.
Directions and information about mounting drives can be found here: https://help.ubuntu.com/community/Mount
The solution below is very easy, clear, a GUI approach and it shows you exactly what you have laid out on your HDD:
- Go to: «System tools» in your main launch list
- Launch «GParted»
- Enter your password (should be your log on password if you are the admin.) You will be shown your HDD layouts, partitions sizes and amounts used.
- Quit the GParted application
CAUTION: Do not change ANYTHING unless you know what you are doing!
(building on previous advise in regards to lsblk ).
For the lazy typist (and if you don’t need the sizes) you can use:
which is same as using -o NAME,FSTYPE,LABEL,MOUNTPOINT
NAME FSTYPE LABEL MOUNTPOINT sda └─sda1 ntfs TOSHIBA sdb └─sdb1 LVM2_member └─root-root (dm-0) ext4 /
I have created some regex to help those who want to read this data into some application.
To do that, The lsblk command it is more usefully when you use the «-P» command. Here a example:
$ lsblk -P -o KNAME,FSTYPE,SIZE,MOUNTPOINT,LABEL,MODEL KNAME="sda" FSTYPE="" SIZE="80G" MOUNTPOINT="" LABEL="" MODEL="VBOX HARDDISK " KNAME="sda1" FSTYPE="" SIZE="243M" MOUNTPOINT="/boot" LABEL="" MODEL="" KNAME="sda2" FSTYPE="" SIZE="1K" MOUNTPOINT="" LABEL="" MODEL="" KNAME="sda5" FSTYPE="" SIZE="79.8G" MOUNTPOINT="" LABEL="" MODEL="" KNAME="dm-0" FSTYPE="" SIZE="79G" MOUNTPOINT="/" LABEL="" MODEL="" KNAME="dm-1" FSTYPE="" SIZE="768M" MOUNTPOINT="[SWAP]" LABEL="" MODEL="" KNAME="sr0" FSTYPE="" SIZE="1024M" MOUNTPOINT="" LABEL="" MODEL="CD-ROM " KNAME="sr1" FSTYPE="" SIZE="1024M" MOUNTPOINT="" LABEL="" MODEL="CD-ROM "
You can read this output usign some regex like
/KNAME=\"(.*)\" FSTYPE=\"(.*)\" SIZE=\"(.*)\" MOUNTPOINT=\"(.)*\" LABEL=\"(.*)\" MODEL=\"(.*)\"/g
If you don’t need the size of the partition, you can use the mount -l to
$ mount -l /dev/mapper/precise32-root 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) none 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) /dev/sda1 on /boot type ext2 (rw) rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw) /vagrant on /vagrant type vboxsf (uid=1000,gid=1000,rw)
And read it using some Regex like that
If you are doing that in node, you can convert the string into a array of occurrences using some code like
4 Ways to View Disks and Partitions in Linux
In this guide, we will show how to list storage disks and partitions in Linux systems. We will cover both command-line tools and GUI utilities. By the end of this guide, you will learn how to view or report information about disks and partitions on your Linux server or desktop computer, or workstation.
1. List Linux Disks Using fdisk Command
fdisk is a widely-used command-line tool for manipulating disk partition tables. You can use it to view disks and partitions on your Linux server as follows.
The -l flag implies list partitions, if no device is specified, fdisk will display partitions from all disks. It requires root privileges for you to invoke it, so use the sudo command where necessary:
2. View Linux Disk Partitions Using lsblk Command
lsblk is a utility for listing block devices. You can use it to view disks and partitions on your Linux computer as follows. It runs well without the sudo command:
To view extra information about disks, use the -f command line option as shown:
3. View Linux Disks Using hwinfo Command
hwinfo is another useful utility for viewing information about your hardware, particularly storage disks. If you can not find the hwinfo command on your system, run the following command to install it:
$ sudo apt install hwinfo [On Debian, Ubuntu and Mint] $ sudo yum install hwinfo [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo emerge -a sys-apps/hwinfo [On Gentoo Linux] $ sudo pacman -S hwinfo [On Arch Linux] $ sudo zypper install hwinfo [On OpenSUSE]
Once you have the hwinfo package installed, run the command with the —disk command line option as shown:
From the output of the previous command, there is a lot of information about a disk or its partitions that hwinfo displays. If you wish to view an overview of block devices, run this command:
To show a summary of all disks, run the command:
4. Find Linux Partitions Information Using Disk Tool
On a Linux desktop computer, you can also use a graphical user interface (GUI) application to view a list of disks attached to your computer. First, search for disks application in the system menu. Then open it to view your disks and their partitions.
That’s all for now. For more information about the commands used in this guide, check out their man pages. You can also share your thoughts with us via the comment form below.