分享下liunx分区方法,以及linux的启动过程,帮助了解linux系统和挂载。
1.基本概念 安装操作系统和软件之前,首先需要对硬盘进行分区和格式化,然后才能使用硬盘保存各种信息。各个分区之间是相对独立的,你在一个分区上的操作不会影响到另一个分区。 之前都会认为c盘就是第一分区,d盘就是第二分区。其实这种看法是不恰当的,c盘,d盘等都是盘符号,是windows赋予的名称。在没有启动windows之前,它们就是一个个分区,而不是具体的盘符。这种盘符的概念,是windows“内在”的,也就是说就算是硬盘上没有安装windows系统,硬盘上的分区还是存在的。所以可以这样说:盘符-是软件级的概念;分区-是硬件级的概念。
1.2.linux文件系统的组织方式 linux中所谓绝对路径是指由根目录“/”为起点来表示系统中的某个文件或者目录的位置的方法; 相对路径则是以当前目录为起点,表示系统中某个文件或者目录在文件系统中的位置的方法。例如(以我电脑为例):在终端输入pwd(linux中的显示当前所在位置的命令),终端显示了“/home/csc”,这就是绝对路径。假如csc文件夹下有一个test文件夹,在终端输入"cdtest"(或者cd./test),test或者./test就是相对于csc文件夹的相对路径,其中“./”表示当前目录,通常可以省略。下面介绍一下linux中部分目录及其功能说明(以便后面讲述linux分区和启动过程)
/:linux文件系统的最上层目录,其他所有目录均是该目录的子目录
1.3.linux中的挂载点
2.分区的建议 (4)一个交换(swap)分区。交换分区用来支持虚拟内存。如果你的计算机内存小于16mb,就必须创建交换分区。即使你有更多的内存,仍然推荐使用交换分区。物理内存小于或等于512mb,建议分配实际物理内存容量2倍大小的swap;物理内存大于512mb,建议分配与物理内存等容量的swap。
3.linux的启动过程(以我的电脑为例)
menuentry'ubuntu,linux2.6.32-33-generic' --class ubuntu --class gnu-linux --class gnu--class os {
recordfail insmodext2 setroot='(hd0,8)' search--no-floppy --fs-uuid --set 089b3e37-bf9b-4811-94f8-b2f73fc313f6 linux /vmlinuz-2.6.32-33-genericroot=uuid=abdb3fa2-45cd-447d-8cc5-83cf326195bd ro quiet splash initrd /initrd.img-2.6.32-33-generic }
这是一个标准的ubuntu引导菜单,menuentry那一行显示了该项目的名称,insmod是linux下的指令,是加载模块的意思。这里涉及到了分区的命名,下面就来了解一下:
(2)ide接口硬盘分区的两种表示方法
(3)关于sata和scsi接口的硬盘的两种表示方法
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;下面的就是硬盘的分区,每个分区都有详细的信息。
继续讲解上面的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 #/home was on /dev/sda9 during installation uuid=11ec48a8-5ca9-4e39-9bff-fd56b811d58e/home ext4 defaults 0 2 #swap was on /dev/sda7 during installation uuid=2c80ec4a-769c-40c5-8d87-39a2332661cfnone swap sw 0 0
#号开头的行是注释,是说明性的文字,在执行指令的时候并不会执行它。
4.手动挂载分区
具体命令:
mount/dev/sda5 /home/csc/music
cd/home/csc/music ls
执行上述命令,可以在music目录下查看sda5分区中的文件了。 |