硬盘是hard disk

所以如果我们liunx的硬盘的IDE的那么就命令为hd;

但是如果接口是SATA的那么硬盘名字就应该是sd;


hda一般是指IDE接口的硬盘,hda一般指第一块硬盘,类似的有hdb,hdc等
sda一般是指SATA接口的硬盘,sda一般指第一块硬盘,类似的有sdb,sdc等


hda1:意思是a表示第一块硬盘,1表示第一块硬盘的第一个分区。如果有第二块硬盘就是hdb;

打个比方,比如说你的硬盘是IDE的,那么在Linux下的hda1就相当于windows下的C盘,hda2就相当于你的拓展分区(不可见的)(Linux下hda1 至hda4可
以是主分区,hda5开始是逻辑分区)。那么hda5就相当于你的D盘,hda6相当于E盘,同理hda7地位等同与F盘。


这个可以解释为:


GRUB是什么?怎么区分各个分区的编号? (hd0,1)还是(hd1,0)?

一个硬盘的结构如下:

MBR|主分区1|主分区2|主分区3|主分区4(扩展分区)|

其中扩展分区可以分为: |逻辑分区1|逻辑分区2|……|逻辑分区n|


GRUB是一个引导程序,它被安装在MBR(Master Boot Record即“主引导记录”)用于在启动时告诉电脑该启动哪一个OS(Operation System即“操作系统”)。


GRUB会将BIOS检测到的所有硬盘编号,从0开始计数,0,1,2,3……,所以就是hd0,hd1,hd2,hd3……,hd就是hard disk即硬盘(SATA和IDE硬盘都是hd)。


大家知道同一块硬盘最多只能共存四个主分区,所以对于hd0硬盘,依次是(hd0,0)、(hd0,1)、(hd0,2)、(hd0,3),这是只分出四个主分区的情况,这个编号永远固定不变;不过这样的话,你就无法使用更多的分区了,所以通常应该牺牲掉一个主分区(通常是最后一个)把它转换为扩展分区(extend),以便在其中再细分出更多的逻辑分区(logic)。逻辑分区一律从(hd0,4)开始编号(因为0~3被主分区占据了),依次为(hd0,4)、(hd0,5)、(hd0,6)、(hd0,7)……
ok,对于大多数人来说,两个以上的主分区根本没用,所以惯常的做法是————一个主分区、一个扩展分区(包含若干个逻辑分区)。所以,惯常会使用在同一块硬盘上的编号是:(hd0,0)、(hd0,4)、(hd0,5)、(hd0,6)……。以此类推,第二硬盘是 (hd1,0)、(hd1,4)、(hd1,5)、(hd1,6)……。

而linux的编号方法又和GRUB不同。是严格按照BIOS检测结果,第一硬盘是sda,第二硬盘是sdb,第三硬盘是sdc……,而不管哪个是启动盘。具体来说,我用第三硬盘启动的系统,GRUB认为它是(hd0),而linux依然认为它是sdc,明白?

但貌似,Ubuntu自8.04起,所有硬盘都编号为“sdx”,即不管IDE还是SATA,一律认作SCIS硬盘。




附注:


linux硬盘使用状况查询命令: sfdisk -l 

硬盘接口分为:

ide  (integrated drive electronics)  把盘体和控制器集成在一起
scsi (small computer system interface)
光纤通道 fibre channel
sata (serial ATA(advanced technology attachment))

GitHub 加速计划 / li / linux-dash
10
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:1 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐