Linux系统分区和挂载
linux系统分区
Linux分区和Windows有很大的区别。在Linux中,没有图形化的分区界面,因此,我们无法看到Windows下C盘、D盘这样的磁盘分区界面。
1. 硬盘分区
- 硬盘分区的目的:提高管理效率。如果所有东西都放在一个分区,OS管理起来效率比较低。同时,操作系统在启动时会通过 MBR 来获得操作系统文件所在的分区,所以一个可引导分区是不能缺少的。
- 分区是和操作系统没有任何关系。因为安装操作系统之前,分区已经开始进行了。我们可以简单的认为分区就是把硬盘分割为不同的区域。
-
分区结构介绍 。
硬盘主引导扇区 = 硬盘主引导记录(MBR)+ 硬盘分区表(DPT),一共是512个字节,其中MBR占446个字节,分区表占64字节,然后还有2个字节的结束标志。引导扇区存储在硬盘的0头0道1扇区,也就是Boot Sector。
操作系统在启动时通过BIOS(BIOS实际是一个基础输入输出系统)程序把Boot Sector读入内存,然后执行其中MBR,这个时候BIOS就把启动交给MBR控制。MBR的作用是在4个分区表中搜索标志为活动的分区,找到后把活动分区的第一个扇区读入内存,然后开始执行它,运行特定系统的启动程序(LILO,GRUB,NT Loader)。这个时候启动任务就交给了操作系统的引导程序来控制了。然后操作系统进行一系列的初始化,最后把系统交给系统内核进行管理。
2. 分区类型
硬盘分区一共有3种:主分区,扩展分区和逻辑分区。
- 主分区上可以安装操作系统。因为MBR中记录了主分区信息,而系统启动时会到主分区来查找操作系统引导文件,所以操作系统的引导文件必须在主分区中,否则系统就无法启动。
- 最多只支持4个主分区。由于硬盘仅仅为分区表保留了64个字节的存储空间,而每个分区的参数占据16个字节,故主引导扇区中总计可以存储4个主分区的数据。操作系统只允许存储4个主分区的数据。
-
为了建立更多的逻辑磁盘供操作系统使用,系统引入了扩展分区的概念。扩展分区并不是一个真实存在的分区,它只是内存管理链表中的一个指针,指示出哪一块区域是扩展分区。
一个扩展分区也是一个主分区
。通过在扩展分区中划分逻辑分区
对系统分区进行扩展。实际上所有的逻辑分区都是在一个分区内,只是逻辑上分开。但对用户来说一切都是透明了,我们看起来系统中有很多分区。 -
各分区特性:
- 主分区和扩展分区最多可以有四个(硬盘的限制)。
- 扩展分区最多有一个(操作系统的限制)。
- 扩展分区无法被格式化。
- 在Linux系统中,主分区号和扩展分区号1-4,逻辑分区号必须从5开始。
3. linux分区
相比于Windows分区,Linux最大的区别就是我们看不到所谓的盘符了。,在Linux下使用/dev/hda,hdb..这样来标识硬盘,具体硬盘上的分区就用/dev/hda1、/dev/hda2,来表示.最后的数字代表分区号,主分区是1-4,逻辑分区是5以后的数字。
Liunx采用树形的文件管理系统,也就是在Linux系统中,可以说已经没有分区的概念了。分区在Linux中和其他设备一样都只是一个文件。要使用一个分区必须把它加载到文件系统
中。
4. linux挂载 所谓挂载
,就是利用一个目录当成进入点,将磁盘分区的数据放置在改目录下,进入该目录就可以读取该分区。
Linux中树形的文件结构,最顶层是/ 目录。在安装系统时,你必须选择把一个主分区挂载在/ 目录下,因为系统需要安装在/挂载的主分区下。
Linux整个系统结构如上, 我们安装系统的时候已经把分区1挂载到 / 目录下了. 而这个时候没有挂载其他任何分区,所以/ 目录下的所有其他目录都在这个分区下,也就是说,我在任何目录下读写操作实际都是操作的这个1号分区。
如果我们想使用其他分区,就必须把这个分区挂载到一个目录下,这个目录可以是已经存在的目录,比如/home,也可以是我们自己建立的目录,比如 /oracle。
当然,有些目录比如/lib, /dev, /etc, /usr这些都不能挂载其他分区,因为他们都存放着系统需要的文件,一旦被挂载其他分区,那么OS就无法找到所需的文件,系统就会崩溃。比如我们把分区2挂载到/usr/X11目录下时,系统就无法通过X11目录找到分区1上的文件,这个时候系统图形界面就无法使用了. 虽然文件还在硬盘上。前面说过,目录–分区 是通过挂载吧他们联系起来。你更换了分区,也就破坏了联系,就无法在找到之前的文件了。我们在看分区5和分区6,我们把它挂载到/home/ftp 和 /oracle目录下,这个时候我们在操作这2个目录是,就是操作对应的分区了.
- 在Linux系统中,我们使用
df -h
命令就可以看到系统目前分区情况。 - 通过
fdisk -l
命令可以看到目前系统中所有分区的信息。 - 常用的挂载和卸载分区及文件系统的命令是
mount和umount
,比如mount /orace /dev/hda5
,就是把5号分区挂载到/oracle目录下。具体的命令格式就不介绍了,网上很多,也可以使用man来查看。 - 通过编辑
/etc/fstab
文件来让系统开机时自动加载,具体这里不详细介绍。
5. 关于swap分区和/boot分区
在安装系统的过程中,建议分别给 /、/boot、swap创建单独的分区。
- swap:可以理解为虚拟内存。一般情况下,真实内存如果小于4GB,则分配给swap的空间为真实内存的两倍。如果超过4GB,则分配同等大小的空间。
- /:系统根目录。一般在主分区下,当然也可以分到扩展分区的逻辑分区中。
- /boot:将它挂载到单独的分区中,一般200MB即可。主要用于系统启动。避免根目录所在的分区被塞满导致系统无法启动。