红联Linux门户
Linux帮助

GRUB中硬盘和分区编号,UUID

发布时间:2014-12-21 15:39:18来源:linux网站作者:linux人

硬盘编号:
首先,如果你是单硬盘的话,不用想了,只会是hd0。那么如果有两块或更多的硬盘呢?你可以这样:在开机检测出现BIOS画面时,等到全部硬盘的数据出现时,立即按下“Pause”键(我的位于“Page Up”键的上方),这时启动过程会暂停,然后仔细看看吧。比如我有四块硬盘————两块IDE的,分别是40G、160G,还有两块SATA的,分别是80G和320G。BIOS检测顺序是这样:IDE40,IDE160,SATA320,SATA80,所以GRUB表示为:IDE40(hd0),IDE160(hd1),SATA320(hd2),SATA80(hd3),就这样啦,赶快记下吧!


注意:这里有一个变数:启动盘顺序。
还是上面的例子,因为我的GRUB安装在SATA320的MBR,并且平时就是用这块硬盘启动电脑,所以这时候SATA320中的GRUB认为我的硬盘应该这样编号:SATA320(hd0),IDE40(hd1),IDE160(hd2),SATA80(hd3)。
呵呵,明白了吧!GRUB编号的原则是这样的:
1.多快硬盘的顺序完全照抄BIOS检测结果;
2.启动盘一定是hd0(不管BIOS如何),其他硬盘依次按BIOS检测结果重排。
3.不管IDE还是SATA,一律认作IDE硬盘!即不使用类似(sd0,0)这样的编号,这个和linux的方式不同!


分区编号:
大家知道同一块硬盘最多只能共存四个主分区,所以对于hd0硬盘,依次是(hd0,0)、(hd0,1)、(hd0,2)、(hd0,3),这是只分出四个主分区的情况,这个编号永远固定不变;
不过这样的话,你就无法使用更多的分区了,所以通常应该牺牲掉一个主分区(通常是最后一个)把它转换为扩展分区(extend),以便在其中再细分出更多的逻辑分区(logic,注意和卖鼠标那个公司没关系啊)。
扩展分区可能是(hd0,0~3)其中的任何一个,这个编号永远不会在menu.lst中被使用,原因自己想想喽。
逻辑分区一律从(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的编号方法。
呵呵,这个简单了,严格按照BIOS检测结果,第一硬盘是sda,第二硬盘是sdb,第三硬盘是sdc……,而不管哪个是启动盘。
具体来说,我用第三硬盘启动的系统,GRUB认为它是(hd0),而linux依然认为它是sdc,明白?
另外,自8.04开始,所有硬盘都编号为“sdxx”,即不管IDE还是SATA,一律认作SCIS硬盘

UUID:(推荐的在fstab中指定挂载位置方式)

每个分区都需要挂载(mount)以后才能使用,包括系统根分区,家目录,swap等等,这些是启动时系统已经帮你搞定的,只是你不知道而已。
那么系统是怎么搞定的呢?通过fstab文件啊!你可以打开/etc/fstab自己看看

# /dev/sdb5
UUID=3E40C99340C95277   /home/winD   ntfs-3g   defaults   0   0

第一行是注释,特征是开头一定有一个字符“#”, 这是linux的语法格式,在其他配置文件里也可以见到。
第二行是真正的重点,注意其中每一个空格或者Tab符号都代表一个指令串的结束,一个或连续的多个空格或者Tab符号都将被视为一个。


5个Tab把这一句分为了六个部分:
1.目标分区,常用三种方式指定
UUID(通用唯一识别码 Universally Unique Identifier), ls -al /dev/disk/by-uuid 可查看所有分区的UUID
设备名称(如“/dev/sdb1”)
分区卷标(如“LABEL=winD”,当然。必须要存在。可以在windows资源管理器里改)。
2. 挂载目录,必须事先创建好。
3. 这个分区用的是什么文件系统, 如果是FAT和FAT32,就写成“vfat”;如果是NTFS,就写成“ntfs-3g”;或者ext3,ext4.
4.第四栏是很复杂的参数,但必不可少。好在一般应用,输入“defaults”即默认设置即可。如果你想进行更严格的存取控制的话就自己研究。
5.最后两栏也是必不可少的参数,对于win分区,就写成“0 0”即可。

改完fstab以后 sudo mount -a即可。