Linux list hdd devices

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

Читайте также:  Ubuntu linux subsystem on windows

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:

  1. Go to: «System tools» in your main launch list
  2. Launch «GParted»
  3. 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.
  4. 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

Читайте также:  Узнать версию системы astra linux

If you are doing that in node, you can convert the string into a array of occurrences using some code like

Источник

This post and this website contains affiliate links. See my disclosure about affiliate links.

how to list all hard disks in linux from command line

Hard Disk, Hard Drive, Disk Drive or Hard Disk Drive are all names for a data storage device (hardware device) for storing and retrieving digital information usually in a computer. A computer can have multiple hard disks attached to it, both internal and external.

Now these hard disks can be further divided to multiple logical containers in order to host different file systems or to keep file systems/files separate. These are called partitions and they can then mounted independently with out affecting the other disks and partitions. At a high level abstraction, you can view partition as separate disks as well.

Hard disks on a system are detected and/or identified by various device drivers in the kernel and then assigned an unique device id at boot time, enabling it to be mounted and read later (yeah, this is an over simplification of how it all works but it should suffice for this post). We will see later in the post how you can list disks that have been identified by the system.

The hard disks can be differentiated based on the interface used to interact with them. Some of the commonly used types of disk are SCSI (Small Computer System Interface), ATA or IDE (Advanced Technology Attachment), SATA (Serial ATA), SAS (Serial Attached SCSI) among others. As I mentioned, the physical hard disk is assigned an unique id at startup. This can configured (using udev among others) so that you can assign it pretty much id, but usually most systems follow some universally accepted conventions when naming devices.

By convention, the IDE disks use the device id prefixed with hd and the SCSI (and SATA) disks prefix their device id with sd. So, an IDE disk would be located at /dev/hd(*). eg: /dev/hda, /dev/hdb etc. Similarly, the SCSI disks would be /dev/sda, /dev/sdb etc or in general of the format /dev/sd(*).

Источник

Оцените статью
Adblock
detector