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)

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

BIOS:启动主动运行的韧体,会认识第一个可启动的装置;

MBR:第一个可启动装置的第一个磁区内的主要启动记录区块,内含启动管理程序;

启动管理程序(boot loader):一支可读取核心文件来运行的软件;

核心文件:开始操作系统的功能...

由上面的说明我们会知道,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中的主机规划跟磁盘分区相关推荐

  1. 在Windows和Linux系统中,有以下常用的磁盘修复命令

    在Windows和Linux系统中,有以下常用的磁盘修复命令: Windows系统: 1. CHKDSK命令:检查磁盘上的文件系统错误,并对损坏的扇区进行恢复.格式:CHKDSK [驱动器:] [参数 ...

  2. Linux系统中df与du命令查看分区大小

    一. df:检查文件系统占用磁盘情况 disk free的缩写,使用 statfs 系统调用,直接读取分区的超级块信息获取分区使用情况.它的数据是基于分区元数据的,所以只能针对整个分区.由于 df 直 ...

  3. azure linux 磁盘,在Azure Linux VM中,还有什么?什么磁盘收费?

    MikeWo.. 7 我还没有使用过Linux的IaaS实例,但我想我可以根据我对基础设施如何工作的理解来回答其中一些问题. 当您创建VM时,您拥有操作系统磁盘(它映射到上面的根目录,我相信启动也可以 ...

  4. linux系统修改主机名会不会影响,在Linux系统中修改主机名

    **知识点:linux常用命令 方法概要: 更改/etc/sysconfig下的network文件,在提示符下输入vi /etc/sysconfig/network,然后将HOSTNAME后面的值改为 ...

  5. Linux 系统中成功恢复已删除的文件

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 当用户意外地删除 ...

  6. 怎样在 Linux 系统中恢复被删除文件

    导读 当用户意外地删除了一个仍然需要的文件时,大多数情况下,是没有简便的方法可以重新找回或重建这个文件.不过,幸运的是文件是可以通过一些方法恢复的.当用户删除了一个文件,该文件并没有消失,只是被隐藏了 ...

  7. 成功恢复 Linux 系统中已删除的文件

    点击关注公众号,回复"1024"获取2TB学习资源! 当用户意外地删除了一个仍然需要的文件时,大多数情况下,是没有简便的方法可以重新找回或重建这个文件.不过,幸运的是文件是可以通过 ...

  8. Linux 系统中恢复已删除的文件

    注:文章内容仅用于本人日常学习记录 Linux 系统中恢复已删除的文件 当用户意外地删除了一个仍然需要的文件时,大多数情况下,是没有简便的方法可以重新找回或重建这个文件.不过,幸运的是文件是可以通过一 ...

  9. Linux内核中的内存管理(图例解析)

    一 ,内核管理内存的方式 (1)内核把物理页作为内存管理的基本单位,内存管理单元通常以页为单位进行处理,所以,从虚拟内存角度来看,页就是最小单位. 大多数32位系统支持4kb的页,64位系统支持8kb ...

  10. 鸟哥的Linux私房菜(基础篇)-第三章、主机规划与磁盘分区(三.4. 重点回顾)

    第三章.主机规划与磁盘分区 最近升级日期:2009/08/06 4. 重点回顾 5. 本章习题 6. 参考数据与延伸阅读 7. 针对本文的建议:http://phorum.vbird.org/view ...

最新文章

  1. 【iCore3 双核心板_FPGA】实验二十七:基于SDRAM的TFT驱动器的设计
  2. 目标检测——从RCNN到Faster RCNN 串烧
  3. site_url()和base_url()
  4. xshell搭建宝塔没有远程命令密码框框弹出来_服务器安装宝塔控制面板+wordpress搭建个人网站...
  5. [Linux主机] 优化你的php-fpm(php5.3+)让你的网站跑得更快
  6. 【开源框架】:解决方案级别的代码生成器 WebFirst
  7. 攻略:需求评审怎样才能高效易懂?
  8. 解析 URL Params 为对象
  9. Lanenet论文解读
  10. JSP详细教学新手必看
  11. jdbc学习笔记3,blob类型数据的操作,preparedstatement的批量操作,数据库的事务,以及事务的特性,隔离权限的修改
  12. vue CAD-dwg格式文件预览
  13. 计算机上如何设置访问密码忘了怎么办,电脑设置的密码忘记了怎么办
  14. C++11特性及其它常用特性
  15. UI设计师=美工?不同是人眼里UI设计师~
  16. ORA-00001: unique constraint (...) violated解决方案
  17. 电影票房多视图可视化(echarts)
  18. linux虚拟机按键不好用,虚拟机(vmware)linux中ctrl按键失灵 解决办法
  19. 卷积神经网络使用到的公式
  20. 解决mysql的赋权操作之GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION问题

热门文章

  1. 生成相机光线:栅格空间-NDC-屏幕空间-世界
  2. NSCalendar 日历
  3. 依赖IVI、VISA的设备调用问题
  4. 仪器仪表编程基础和概念
  5. 【VUE】报错 ENOENT: no such file or directory, open 'XXX\package.json'
  6. 关于服务器虚拟化项目的进度管理,虚拟项目实例:PM该如何进行项目管理?
  7. 2021单招计算机考试题,2021年单招考试数学必考题型
  8. oVirt4.2给虚拟机分配vGPU
  9. 微擎人人分销h5小程序分享没有mid,无法成为下级
  10. 【洛谷P5249】【LnOI2019】—加特林轮盘赌(概率dp)