First off, let's correct a little misconception:
Let's say I have a HDD formatted as ext4, if I create 2 partitions...
You don't format a hard disk to a file system like ext4 or NTFS or FAT32, you format partitions to those file systems. When people say they've formatted a hard disk to ext4, they generally mean they've created a single partition covering the entire disk, and created an ext4 file system for that partition.
In Windows, partitions are each assigned a different drive letter (
D:, etc). This makes it easier to discover which files are placed in which partitions. A hard disk can have several partitions, and a computer can have several hard disks and other storage devices. The downside is that you can't easily put different directories in different partitions, you can't put
C:\Windows in one partition and
C:\Users in other for example, they both must be in the
In Linux, everything is a file, and it is all found under the root directory,
/. A partition can be mounted to any directory under
/. For example, you could mount one partition to
/home, another to
/var, and another to
/, which would contain all the other files, but not ones in
In Linux, even devices and running processes are files. For example, under
/proc, you will find all the running processes, and under
/dev/, all the connected devices. Hard disks are typically named
/dev/sbc, etc. Partitions with hard disks are typically named
sda represents the hard drive, and
1 represents the number of the partition within that hard drive. Every partition is then mounted to a directory in your file system. For example, your CD-ROM drive
/dev/cdrom0 could be mounted to
/media/cdrom0. In your file explorer, you would navigate to
/media/cdrom0 to see the CD's files.
While this makes conceptually more difficult than Windows' system, it is much more flexible, as you can assign any directory to a new partition.