一直对linux的磁盘管理的一些细节不大明白,现在觉得好好总结一下。首先,linux磁盘管理中最重要的就是根文件系统和挂载的概念了,这个比较好理解,系统启动是时,首先有一个分区挂载到了/根目录下,这是你在初次安装linux时手动配置的(当然也可以采用默认的安装配置),这个被挂载为/的分区,就叫做根分区(不管它是主分区还是逻辑分区),它从此开始在整儿linux系统里具有了特殊的地位,因为整儿电脑里的所有硬盘,包括其上的所有其他分区,不管是主分区、逻辑分区,都将以这个“根分区”为主干,开始构造linux大树,并最终成为这颗树上的一个分支或树叶。其实,任何一个分区,都可以挂载为/,windows分区也可以。只不过挂载根分区的目的是启动系统,如果/下面没有linux内核及其所需的系统文件的话,将无法引导系统而已。所以这个根分区并不神秘。其他分区的挂载看个人需要而定,一般/home/分区会挂载一个分区,如果是用作服务器,还要根据需要挂载相应的分区,比如作为web服务器的/var/www分区最好单独挂载。
如果一些在linux上有有一些移动存储设备,可以用mount/umout挂载或卸载一个存储设备:
408 sudo mkdir upan 409 ls 410 sudo mount /dev/sdb /mnt/upan 411 sudo umout /dev/sdb (注:也可为:/mnt/upan)ubuntu使用的窗口管理器是gnome套件,用于管理文件的程序(相当于windows的资源管理器)是nautilus(鹦鹉螺)。这个程序为了方便你的使用,精心打造了一种“点击挂载”方式,要说明的是,这种方式完全与fstab文件无关,它由另一个程序控制。每次启动gnome以后,nautilus会根据内核检测到的分区信息,逐一把所有未挂载的分区罗列出来,并显示在左侧的“Places”栏里。
当你要使用这个分区的时候,只需“点击”一下,就会在右侧显示出来。
其实这时候gnome执行了几个动作:
1. 根据用户点击的分区,在/media目录创建一个子目录,并使用分区卷标(没有卷标则使用分区容量)命名;
2. mount该分区到此目录;
3. 重启后就卸载,并删除此目录;
于是点击之后你就可以读写该分区了。
注:想要知道你的系统中有哪些磁盘设备,可以用df或sudo fdisk -l获得,要获得分区的UUID可以用sudo blkid命令。
关于fstab文件,这个是linux磁盘管理中特别重要的一个文件,位于/etc/fstab处,这是我系统中的fstab文件:
# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name 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 /host/ubuntu/disks/root.disk / ext4 loop,errors=remount-ro 0 1 /host/ubuntu/disks/swap.disk none swap loop,sw 0 0由于我是用wubi安装的ubuntu12.04,所以这个文件比较简单也比较怪,系统启动时,会读取这个文件,并按照其中的指令逐行执行之。如果系统中新增了一块硬盘,可以在fstab文件中增加一行(示例:/dev/sda2 <挂载点> <分区格式> <挂载参数> 0 0),将其挂载在某个目录下。然后执行mount -a即可,不用重启。