Linux分区和挂载(mount命令的学习)
2012-06-11 07:27:17 来源:WEB开发网核心提示:(3)关于SATA和SCSI接口的硬盘的两种表示方法方法和IDE接口的硬盘相同,只是把hd换成sd,Linux分区和挂载(mount命令的学习)(3),下面通过实例来认识一下:在终端下输入fdisk-l命令(要在超级用户下查看):Disk/dev/sda: 500.1 GB, 500107862016 bytes255
(3)关于SATA和SCSI接口的硬盘的两种表示方法
方法和IDE接口的硬盘相同,只是把hd换成sd。
下面通过实例来认识一下:在终端下输入fdisk-l命令(要在超级用户下查看):
Disk/dev/sda: 500.1 GB, 500107862016 bytes
255heads, 63 sectors/track, 60801 cylinders
Units= cylinders of 16065 * 512 = 8225280 bytes
Sectorsize (logical/physical): 512 bytes / 512 bytes
I/Osize (minimum/optimal): 512 bytes / 512 bytes
Diskidentifier: 0x48000000
DeviceBoot Start End Blocks Id System
/dev/sda1 * 1 13054 104856223+ 7 HPFS/NTFS
/dev/sda2 13055 60802 383529250+ f W95 Ext'd (LBA)
/dev/sda5 13055 32635 157284351 7 HPFS/NTFS
/dev/sda6 32636 52216 157284351 7 HPFS/NTFS
/dev/sda7 55329 55578 1998848 82 Linux swap / Solaris
/dev/sda8 55578 55640 498688 83 Linux
/dev/sda9 55640 60802 41459712 83 Linux
/dev/sda10 52217 55328 24996864 83 Linux
文件中的第一行:Disk/dev/sda: 500.1 GB, 500107862016 bytes,这个就是表示机器中只有一个硬盘设备/dev/sda,大小为 500G;下面的就是硬盘的分区,每个分区都有详细的信息。
讲到这里,我们都会有点奇怪,既然上面说了IDE接口是hd表示,SATA和SCSI接口都是sd表示,那为什么grub文件有一行“setroot='(hd0,8)'”代码呢?不应该是“sd”吗?通过在网上查找的相关资料,对于grub文件来说,硬盘都是用hd表示的,磁盘号是从0开始计算的,分区号是则是从1开始计算的(grub2是从1开始计算的,grub1是从0开始计算的),而对于Linux内核来说,IDE硬盘是hd表示的,SATA硬盘是用sd表示的,磁盘序号从a开始计算的,分区号是从1开始计算的。我电脑中的Linux系统是Ubuntu10.04LTS版本,grub文件是grub2版本。所以grub文件中的(hd0,8)代表的是第一块硬盘上的第八个分区即sda8。
继续讲解上面的grub.cfg文件,search指令是寻找内核的意思,这就真正进入了Linux系统的引导过程,内核的存放位置是在/boot目录下。下面一行中的linux是一个指令,它告诉grub程序使用后面给出的内核,于是这个名为“vmlinuz-2.6.32-33-generic”的内核就被载入内存,并读取“root=UUID=abdb3fa2-45cd-447d-8cc5-83cf326195bd”这个分区的一些必要的文件。上段代码中的最后一行的命令的意思是:用名为“/initrd.img-2.6.32-33-generic”的文件先在内存中构造一个“虚拟”的根文件系统,以便于内核检测完硬件信息后载入必需的模块等等。grub的工作到此结束,下面将由Linux内核接管电脑的控制权,开始初始化阶段。到目前为止还没有挂载根分区。然后Linux系统会读取一个名为fstab的文件,并按照其中的指令逐行的执行,下面来看一下fstab文件(/etc/fstab)。以下是我的电脑中的fstab文件:
#/etc/fstab: static file system information.
#
#Use 'blkid -o value -s UUID' to print the universally uniqueidentifier
#for a device; this may be used with UUID= as a more robust way toname
#devices that works even if disks are added and removed. See fstab(5).
#
#<file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
#/ was on /dev/sda10 during installation
UUID=abdb3fa2-45cd-447d-8cc5-83cf326195bd/ ext4 errors=remount-ro 0 1
#/boot was on /dev/sda8 during installation
UUID=089b3e37-bf9b-4811-94f8-b2f73fc313f6/boot ext4 defaults 0 2
方法和IDE接口的硬盘相同,只是把hd换成sd。
下面通过实例来认识一下:在终端下输入fdisk-l命令(要在超级用户下查看):
Disk/dev/sda: 500.1 GB, 500107862016 bytes
255heads, 63 sectors/track, 60801 cylinders
Units= cylinders of 16065 * 512 = 8225280 bytes
Sectorsize (logical/physical): 512 bytes / 512 bytes
I/Osize (minimum/optimal): 512 bytes / 512 bytes
Diskidentifier: 0x48000000
DeviceBoot Start End Blocks Id System
/dev/sda1 * 1 13054 104856223+ 7 HPFS/NTFS
/dev/sda2 13055 60802 383529250+ f W95 Ext'd (LBA)
/dev/sda5 13055 32635 157284351 7 HPFS/NTFS
/dev/sda6 32636 52216 157284351 7 HPFS/NTFS
/dev/sda7 55329 55578 1998848 82 Linux swap / Solaris
/dev/sda8 55578 55640 498688 83 Linux
/dev/sda9 55640 60802 41459712 83 Linux
/dev/sda10 52217 55328 24996864 83 Linux
文件中的第一行:Disk/dev/sda: 500.1 GB, 500107862016 bytes,这个就是表示机器中只有一个硬盘设备/dev/sda,大小为 500G;下面的就是硬盘的分区,每个分区都有详细的信息。
讲到这里,我们都会有点奇怪,既然上面说了IDE接口是hd表示,SATA和SCSI接口都是sd表示,那为什么grub文件有一行“setroot='(hd0,8)'”代码呢?不应该是“sd”吗?通过在网上查找的相关资料,对于grub文件来说,硬盘都是用hd表示的,磁盘号是从0开始计算的,分区号是则是从1开始计算的(grub2是从1开始计算的,grub1是从0开始计算的),而对于Linux内核来说,IDE硬盘是hd表示的,SATA硬盘是用sd表示的,磁盘序号从a开始计算的,分区号是从1开始计算的。我电脑中的Linux系统是Ubuntu10.04LTS版本,grub文件是grub2版本。所以grub文件中的(hd0,8)代表的是第一块硬盘上的第八个分区即sda8。
继续讲解上面的grub.cfg文件,search指令是寻找内核的意思,这就真正进入了Linux系统的引导过程,内核的存放位置是在/boot目录下。下面一行中的linux是一个指令,它告诉grub程序使用后面给出的内核,于是这个名为“vmlinuz-2.6.32-33-generic”的内核就被载入内存,并读取“root=UUID=abdb3fa2-45cd-447d-8cc5-83cf326195bd”这个分区的一些必要的文件。上段代码中的最后一行的命令的意思是:用名为“/initrd.img-2.6.32-33-generic”的文件先在内存中构造一个“虚拟”的根文件系统,以便于内核检测完硬件信息后载入必需的模块等等。grub的工作到此结束,下面将由Linux内核接管电脑的控制权,开始初始化阶段。到目前为止还没有挂载根分区。然后Linux系统会读取一个名为fstab的文件,并按照其中的指令逐行的执行,下面来看一下fstab文件(/etc/fstab)。以下是我的电脑中的fstab文件:
#/etc/fstab: static file system information.
#
#Use 'blkid -o value -s UUID' to print the universally uniqueidentifier
#for a device; this may be used with UUID= as a more robust way toname
#devices that works even if disks are added and removed. See fstab(5).
#
#<file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
#/ was on /dev/sda10 during installation
UUID=abdb3fa2-45cd-447d-8cc5-83cf326195bd/ ext4 errors=remount-ro 0 1
#/boot was on /dev/sda8 during installation
UUID=089b3e37-bf9b-4811-94f8-b2f73fc313f6/boot ext4 defaults 0 2
更多精彩
赞助商链接