`

Linux中的主机规划和磁盘分区

阅读更多

以下内容摘自《鸟哥的私房菜》

 

在Linux系统中,每个设备都被当成一个文件来对待。比如说:IDE接口的硬盘文件的文件名是/dev/hd[a-d]。

下面列出了一些常见设备在Linux中的文件名

 

                  设备                                                                             设备在Linux内的文件名                                
IDE硬盘 /dev/hd[a-d]
SCSI/SATA/USB硬盘(也就是移动硬盘??) /dev/sd[a-p]
U盘 /dev/sd[a-p]同上一样
软驱(还有人用???) /dev/fd[0-1]
打印机

25针:/dev/lp[0-2]

USB:/dev/usb/lp[0-15]

鼠标

USB:/dev/usb/mouse[0-15]

PS2:/dev/psaux

当前CD ROM/DVD ROM /dev/cdrom
当前鼠标 /dev/mouse
磁带机(还有人用???)

IDE:/dev/ht0

IDE:/dev/st0

 

那么下来我们来看看磁盘分区

 

1)磁盘连接的方式与设备文件名的关系

 

   对着上面的图就可以知道他们之间的关系

 

      Q: 为什么IDE接口的设备名只能是/dev/hd[a-d]四个呢??

 

      A:这是因为一个IDE扁平电缆可以连接两个IDE设备,通常情况下,主机又都只提供2个这样的电缆,因此最多只能连接4个IDE设备。

 

  2)磁盘的组成

      我们知道磁盘主要有盘片、机械手臂、磁头与主轴马达等组成,而数据的写入其实只是在盘片。盘片上面又可以细分为扇区与柱面两种单位,其中每个扇区的大小为512bytes那么大。柱面是文件系统最小的单位,也是分区的最小单位。

 

      一个盘片有多个扇区,但是第一个扇区特别重要,这是因为他记录了整块磁盘的重要信息。最主要的两个信息为:

    1)主引导分区(Master Boot Record,MBR):可以安装引导加载程序的地方,大小为446bytes。

          MBR非常的重要,因为系统在开机的时候会主动去读取这个区域的信息,这样系统才会知道你的程序放在哪里,且该如何开机。

    2)分区表(partition table):记录整块磁盘分区的状态,有64bytes。

         在分区表的64bytes容量中,总共分为四组记录区,每组记录区记录了该区段的起始于与结束的柱面号码。如下图所示:

 

 

                                            图:磁盘分区表的作用示意图

 

 从上图我们可以得到:

           所谓的分区只是针对那个64bytes的分区表进行设置而已

           磁盘默认的分区表仅能写入四组分区信息

           这四组分区我们成为主分区(Primary)或扩展分区(Extended)

           分区最小的单位是柱面(cylinder)

 

       Q:既然第一个磁区所在的分割表只能记录四笔数据, 那我可否利用额外的磁区来记录更多的分割资讯???

       A: 可以。如下图所示:

 

          在上图当中,我们知道硬盘的四个分割记录区仅使用到两个,P1为主要分割,而P2则为扩展分配。请注意, 扩展分配的目的是使用额外的磁区来记录分割资讯,扩展分配本身并不能被拿来格式化 然后我们可以透过扩展分配所指向的那个区块继续作分割的记录。

 

如上图右下方那个区块有继续分割出五个分割槽, 这五个由扩展分配继续切出来的分割槽,就被称为逻辑分割槽(logical partition)。 同时注意一下,由於逻辑分割槽是由扩展分配继续分割出来的,所以他可以使用的磁柱范围就是扩展分配所配置的范围喔! 也就是图中的101~400啦!

同样的,上述的分割槽在Linux系统中的装置档名分别如下:

  • P1:/dev/hda1
  • P2:/dev/hda2
  • L1:/dev/hda5
  • L2:/dev/hda6
  • L3:/dev/hda7
  • L4:/dev/hda8
  • L5:/dev/hda9

       仔细看看,怎么装置档名没有/dev/hda3与/dev/hda4呢?因为前面四个号码都是保留给Primary或Extended用的嘛! 所以逻辑分割槽的装置名称号码就由5号开始了!这是个很重要的特性,不能忘记喔!

    所以我们总结一下:

    1)主分区与扩展分区最多可以有4个

    2)扩展分区最多只能有一个

    3)逻辑分区时由扩展分区持续切割出来的分区

    4)能被格式化后作为数据访问的分区为主分区和逻辑分区,扩展分区是无法格式化的。

    5)逻辑分区的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分区,SATA硬盘则有11个逻辑分区。

 

3)开机流程与主引导分区(MBR)

   简单的说,整个启动流程到操作系统之前的动作应该是这样的:

  1. BIOS:启动主动运行的韧体,会认识第一个可启动的装置;
  2. MBR:第一个可启动装置的第一个磁区内的主要启动记录区块,内含启动管理程序;
  3. 启动管理程序(boot loader):一支可读取核心文件来运行的软件;
  4. 核心文件:开始操作系统的功能...

 

由上面的说明我们会知道,BIOS与MBR都是硬件本身会支持的功能,至於Boot loader则是操作系统安装在MBR上面的一套软件了。由於MBR仅有446 bytes而已,因此这个启动管理程序是非常小而美的。 这个boot loader的主要任务有底下这些项目:

  • 提供菜单:使用者可以选择不同的启动项目,这也是多重启动的重要功能!
  • 加载核心文件:直接指向可启动的程序区段来开始操作系统;
  • 转交其他loader:将启动管理功能转交给其他loader负责。

         上面前两点还容易理解,但是第三点很有趣喔!那表示你的计算机系统里面可能具有两个以上的启动管理程序呢! 有可能吗?我们的硬盘不是只有一个MBR而已?是没错啦!但是启动管理程序除了可以安装在MBR之外, 还可以安装在每个分割槽的启动磁区(boot sector)喔!瞎密?分割槽还有各别的启动磁区喔? 没错啊!这个特色才能造就『多重启动』的功能啊!

      我们举一个例子来说,假设你的个人计算机只有一个硬盘,里面切成四个分割槽,其中第一、二分割槽分别安装了Windows及Linux, 你要如何在启动的时候选择用Windows还是Linux启动呢?假设MBR内安装的是可同时认识Windows/Linux操作系统的启动管理程序, 那么整个流程可以图示如下:



在上图中我们可以发现,MBR的启动管理程序提供两个菜单,菜单一(M1)可以直接加载Windows的核心文件来启动; 菜单二(M2)则是将启动管理工作交给第二个分割槽的启动磁区(boot sector)。当使用者在启动的时候选择菜单二时, 那么整个启动管理工作就会交给第二分割槽的启动管理程序了。 当第二个启动管理程序启动后,该启动管理程序内(上图中)仅有一个启动菜单,因此就能够使用Linux的核心文件来启动罗。 这就是多重启动的工作情况啦!我们将上图作个总结:

  • 每个分割槽都拥有自己的启动磁区(boot sector)
  • 图中的系统槽为第一及第二分割槽,
  • 实际可启动的核心文件是放置到各分割槽内的!
  • loader只会认识自己的系统槽内的可启动核心文件,以及其他loader而已;
  • loader可直接指向或者是间接将管理权转交给另一个管理程序。

那现在请你想一想,为什么人家常常说:『如果要安装多重启动, 最好先安装Windows再安装 Linux』呢?这是因为:

         Linux在安装的时候,你可以选择将启动管理程序安装在MBR或各别分割槽的启动磁区, 而且Linux的loader可以手动配置菜单(就是上图的M1, M2...),所以你可以在Linux的boot loader里面加入Windows启动的选项
        Windows在安装的时候,他的安装程序会主动的覆盖掉MBR以及自己所在分割槽的启动磁区,你没有选择的机会, 而且他没有让我们自己选择菜单的功能。

分享到:
评论

相关推荐

    Linux 主机规划与磁盘分区

    鸟哥的 Linux 私房菜 -- Linux 主机规划与磁盘分区

    鸟哥的 Linux 私房菜第03章-主机规划与磁盘分区1

    第三章、主机规划与磁盘分区最近更新日期:2008/08/21事实上,要安装好一部 Linux 主机并不是那么简单的事情,你必须要针对 distributions

    Linux应用技术:磁盘分区和LVM管理.docx

    任务6 磁盘分区和LVM管理 实验目的 学会磁盘分区 学会LVM管理 学会分区/逻辑卷的格式化及文件系统的建立 学会mount挂载及开机自动挂载 实验内容 注意!实验前,请将主机名修改为zhangsan(zhangsan为自己姓名全拼) ...

    Linux磁盘自动挂载

    Linux磁盘挂载是比较常见的对linux系统管理的操作之一,需要耐心才能正确实现自动挂载,便于日后提高...首先,为了需要,新添加一块磁盘到linux主机中,目的是让这个新添加的磁盘分区格式化并可以随系统启动自动挂载。

    Linux操作系统学习

    第3章 主机规划与磁盘分区 第4章 安装Centos5.x 与多重引导小技巧 第5章 首次登入与在线求助(man page) 第6章 Linux的档案权限与目录配置 第7章 Linux档案与目录管理 第8章 Linux磁盘与文件系统管理 第9章 档案与...

    Linux-基础篇

    Linux系统的整体介绍:计算机概论,Linux是什么与如何学习,主机规划与磁盘分区,安装CentOS7.x,等一系列内容。

    鸟哥的私房菜.pdf

    第3章 主机规划与磁盘分区 第4章 安装CentOS 5.x与多重引导小技巧 第5章 首次登录与在线求助man page 第二部分 Linux文件、目录与磁盘格式 第6章 Linux的文件权限与目录配置 第7章 Linux文件与目录管理 第8章...

    Linux安全配置步骤大全

    1)根目录(/)、用户目录(/home)、临时目录(/tmp)和/var目录应分开到不同的磁盘分区; 2)以上各目录所在分区的磁盘空间大小应充分考虑,避免因某些原因造成分区空间用完而导致系统崩溃; 2、对于/tmp和/var...

    在windows xp下读取linux格式磁盘的软件

    先将Linux 格式的磁盘或者U盘连接到WINDOWS主机上,等稳定连接后,运行本软件,为新连接上的磁盘或者U盘分配驱动器盘符。然后在我的电脑中即可找到LINUX下分区,读取相应的文件。

    LINUX操作系统(电子教案,参考答案)

    芬兰青年Linus Torvalds和其杰作的传奇故事吸引了无数的电脑爱好者尝试去使用Linux,但他们中的大多数人却被Unix类操作系统传统的枯燥的字符界面、艰涩难懂的操作命令和数量庞大的基本概念以及基础知识所吓退。Linux...

    linux系统-硬盘监测、分区、格式化、挂载 详细教程.docx

    linux系统——硬盘监测、分区、格式化、挂载 详细教程 使用lsblk命令查看硬盘信息;磁盘用fdisk分区;磁盘>2T用parted分区;...将挂载信息按指定格式写入到 /etc/fstab文件中(这样主机重启后,挂载才能永久有效)

    Linux-基础篇.rar

    第二章:主机规划与磁盘分区 第三章:安装centOS 第四章:首次登入与在线求助 第五章:Linux的文件权限与目录配置 第六章:Linux文件与目录管理 第七章:Linux磁盘与文件系统管理 第八章:文件与文件系统的压缩,...

    Linux系统日常维护标准.docx

    7.4 格式化磁盘分区 44 7.4挂载磁盘文件系统 44 八、【linux系统日志】 44 九、【xargs与-exec】 47 9.1. xargs介绍 47 9.2. –exec 选项 48 十、【screen工具介绍】 48 10.1. 使用nohup 49 10、2. screen工具的...

    深度学习主机搭建

    3、GPT分区:全名为Globally Unique Identifier Partition Table Format,即全局唯一标示磁盘分区表格式。GPT还有另一个名字叫做GUID分区表格式,我们在许多磁盘管理软件中能够看到这个名字。而GPT也是UEFI所使用的...

    Linux磁盘设备与LVM管理命令示例详解

    这些文件绝大多数位于 /dev 目录下,用来表示 Linux 主机检测到的某个具体的硬件设备。 比如 /dev/sda 文件通常用来指代系统中的第一块硬盘。 Linux 操作系统及其应用与服务则通过这些设备文件与对应的硬件设备...

    LINUX安装与配置简明手册

    本书详细介绍如何在个人电脑上安装配置Caldera和Red Hat两种发行版本的Linux操作系统,并能帮助用户解决安装和配置过程中出现的各种问题。本书既能指导你进行基本的安装步骤,也能指导你定制独具特色的Linux 操作...

    Linux复习题综合练习

    12、安装Linux系统对磁盘分区的要求是( ) A 至少有一个磁盘分区 B 至少有两个磁盘分区 C 至少有三个磁盘分区 D 至少有四个磁盘分区 13、下面哪个文件包含了主机名到ip地址的映射关系() A. /etc/hostname B. ...

    Linux服务器配置与管理:GPT分区划分.pptx

    掌握:磁盘的GPT分区 【能力目标】 会使用gdisk命令对磁盘进行分区 【思政目标】 磁盘操作程序来不得半点马虎,培养学生精益求精的工匠精神。 1.添加新磁盘 步骤1:为了不影响正在运行的服务业务,需要在不关闭或重启...

    Linux性能监控脚本

    对系统负载、CPU使用率、内存、交换分区、磁盘空间、用户登录情况进行监控,并写入监控日志、各项指标超过警告值则邮件报警

Global site tag (gtag.js) - Google Analytics