《鸟哥的Linux私房菜》读书笔记三

1.在Linux系统中,每个设备都被当成一个文件来对待,每个设备都会有设备文件名。比如 IDE接口的硬盘文件名为/dev/hd[a-d] 括号内的字母为a-d当中任意一个,即/dev/hda,/dev/hdb,/dev/hdc,/dev/hdd四个文件.

装置 装置在Linux内的档名
IDE硬碟机 /dev/hd[a-d]
SCSI/SATA/USB硬碟机 /dev/sd[a-p]
USB快闪碟 /dev/sd[ap](与SATA相同)
软碟机 /dev/fd[0-1]
印表机 25针: /dev/lp[0-2] 
USB: /dev/usb/lp[0-15]
滑鼠 USB: /dev/usb/mouse[0-15] 
PS2: /dev/psaux
当前CDROM/DVDROM /dev/cdrom
当前的滑鼠 /dev/mouse
磁带机 IDE: /dev/ht0 
SCSI: /dev/st0

更多Linux内核支持的设备参考网站:  http://www.kernel.org/pub/linux/docs/device-list/devices.txt


2.磁盘分区

以IDE介面来说,由于一个IDE排线可以连接两个IDE装置,又通常主机都会提供两个IDE介面,因此最多可以接到四个IDE装置。也就是说,如果你已经有一个光碟设备了,那么最多就只能再接三颗IDE介面的磁碟啰。这两个IDE介面通常被称为IDE1(primary)及IDE2(secondary),而每条排线上面的IDE装置可以被区分为Master与Slave这四个IDE装置的档名为:

IDE\Jumper Master Slave
IDE1(Primary) /dev/hda /dev/hdb
IDE2(Secondary) /dev/hdc
/dev/hdd


3.SATA接口使用SCSI模块来驱动,与IDE不同,SATA/USB接口的磁盘根本没有一定的顺序,这个时候就得根据Linux内核检测到磁盘的顺序了。

例子:如果PC上面有两个SATA磁盘以及一个USB磁盘,而主板上有六个SATA的插槽。这两个SATA磁盘分别安插在主板上的SATA1,SATA5插槽上,请问这三个磁盘在Linux中的设备文件名?

答:由于是使用检测到的顺序来决定设备文件名,并非与实际插槽代号有关,因此设备文件名如下:

SATA1插槽的文件名:/dev/sda

SATA5插槽的文件名:/dev/sdb

USB磁盘(开机完成后才被系统识别):/dev/sdc


4.磁盘的盘片上面可细分出扇区(Sector)与柱面(Cylinder)两种单位,其中扇区每个为512byte那么大。

磁盘的第一个扇区特别重要,因为它记录了整个磁盘的两个重要信息:

主引导分区(MBR):可以安装引导加载程序的地方,有446bytes。

分区表:记录整块硬盘分区的状态,有64bytes


5.在分区表中,总共分成四组记录区,每组记录区记录了该区段的起始与结束的柱面号码(分区的最小单位)

假设磁盘的设备文件名为/dev/hda,那么四个分区的设备文件名分别为:

P1:/dev/hda1     1~100

P2:/dev/hda2     101~200

P3:/dev/hda3     201~300

P4:/dev/hda4     301~400

注意的几点:

所谓的分区只是针对那个64byte的分区表设置

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

这四组分区信息我们称为主(Primary)或扩展(Extended)分区。

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

分区的作用:1.数据的安全性 2.系统的性能


6.可以在扩展分区上划分多个逻辑分区

注意1~4的数字保留给主分区或扩展分区使用,逻辑分区的设备名称号由5号开始

主分区与扩展分区最多可以有四个(硬盘的限制)

扩展分区最多只能有一个(操作系统的限制)

逻辑分区是由扩展分区持续切割出来的分区

能够被格式化作为数据访问的分区为主分区与逻辑分区,扩展分区本身无法格式化

逻辑分区的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分区(5号到63号),SATA硬盘则有11个逻辑分区(5号到15号)
如果扩展分区被破坏掉,所有上面的逻辑分区将会被删除


7.假如PC有两块SATA硬盘,我想在第二块硬盘分出6个可用的分区(可以被格式化来访问数据),那么每个分区在Linux系统下的设备文件名为何?且分区类型为何?至少写出两种不同的分区方式

答:由于P+E最多只能有4个,E最多只能有一个

第一种分法:

P+P+P+E

实际可用的是 /dev/sdb1,/dev/sdb2,/dev/sdb3,/dev/sdb5,/dev/sdb6,/dev/sdb7

第二种分法:

P+E

实际可用的是/dev/sdb1,/dev/sdb5,/dev/sdb6,/dev/sdb7,/dev/sdb8,/dev/sdb9


8.电脑开机流程到操作系统之前的动作应该是这样的:

   BIOS:开机主动执行的韧体(韧体就是写入到硬件上的一个软件程序),会认识第一个可开机的设备

   MBR:第一个可开机的设备的第一个扇区内的主引导分区块,内包含引导加载程序

   引导加载程序(Boot loader):一支可读取内核文件来执行的软件

   内核文件:开始操作系统功能


9.Boot loader的作用:提供菜单,载入内核文件,转交其他loader


10.每个分区都有自己的启动扇区(boot sector)

     实际可开机的内核文件是放置到各分区内的

     loader只会认识自己的系统分区内的可开机内核文件,以及其他loader而已

     loader可直接指向或是间接将管理权转交给另一个管理程序


11.Linux操作系统的文件使用目录树,与磁盘的对应需要有"挂载"的操作才行。所谓的挂载就是利用一个目录当成进入点,将磁盘分区的数据放置在该目录下,也就是进入该目录就可以读取该分区。 

 

posted @ 2013-08-17 12:42  Leo的银弹  阅读(220)  评论(0编辑  收藏  举报