磁盘与分区

我们回忆一下,在安装windows操作系统的时候,一般的流程是:

  • 1、在磁盘(就是硬盘)上创建一个主分区

  • 2、剩下的空间用来创建一个扩展分区

  • 3、在扩展分区中再创建若干个逻辑分区

  • 4、格式化主分区及逻辑分区

  • 5、设置主分区为活动分区

  • 6、在主分区上安装操作系统

我们需要注意的是,一个硬盘最少要有一个主分区,最多四个主分区;最多一个扩展分区;主分区与扩展分区之和不能超过四个。扩展分区不能直接格式化,必须在扩展分区中创建逻辑分区,一个扩展分区可以创建若干个逻辑分区。主分区和逻辑分区可以直接格式化。操作系统只能安装在主分区中,不能安装在逻辑分区中。

比如我们安装windows操作系统,一般创建一个主分区,命名为C盘。其余的空间都来创建一个扩展分区,然后再在扩展分区中创建两个逻辑分区,命名为D盘与E盘。

当然,我们有时需要在一块硬盘上同时装windows与linux双系统。此时,我们一般创建两个主分区,分别用来装windows与linux;其余的空间我们用来创建一个扩展分区,然后再创建逻辑分区。由于有两个操作系统,如何指定启动哪一个操作系统呢?此时,活动分区就出来了。我们可以在两个主分区中指定其中一个为活动分区(且必须指定一个),那么启动的时候,就是从拉起活动分区中的操作系统。

接下来,我们从linux操作系统的视角下,来看一下磁盘与分区是什么样的。

首先我们查看一下所有的硬盘以及硬盘的分区情况。可以看出,系统中有两块硬盘sdasdb。硬盘sda有一个分区sda1,大小为50G,且已经挂载到了目录/下。硬盘sdb还没有进行分区。

[root@localhost ~]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    1   837G  0 disk 
└─sda1   8:1    1    50G  0 part /
sdb      8:16   1 223.4G  0 disk

我们用fdsik命令来查看一下磁盘及分区情况,如下

[root@localhost ~]# fdisk -l

Disk /dev/sda: 898.7 GB, 898708275200 bytes, 1755289600 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 label type: dos
Disk identifier: 0x0009613d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   104859647    52428800   83  Linux

Disk /dev/sdb: 239.9 GB, 239902654464 bytes, 468559872 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

我们发现,这两个命令看到的内容有些不一样。首先,硬盘与分区的名字不一样,lsblk中硬盘叫sdafdisk中叫/dev/sdalsblk中分区叫/dev/sda1fdisk中分区叫/dev/sda1;那到底该怎么叫呢?我们这样理解,/dev/sda是全称,sda是缩写。第二个不同的地方是,两个命令看到的磁盘大小不一致,为什么呢?我们暂时这样理解:fdisk看到的是磁盘的实际大小,lsblk看到的是磁盘的可用大小;由于系统会占用磁盘一定的空间,所以可用大小与实际大小不一致。

通过这两个命令的输出可以判断/dev/sda1是主分区还是扩展分区或者是逻辑分区吗?其实fdisk命令的输出是可以的判断,不过这里先不讲,下一节有对比的时候再讲。

Reference

[1] http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/03/2997098.html

Last updated