linux磁盘分区管理
本文主要关于linux传统的磁盘管理方法,包括分区,挂在等步骤,所有命令在debian6.0.6上亲测可用
刚才无意间打开博客,发现好想直接就开始一堆命令上来,不懂的人也看不明白吧...
没有基础的同学们请直接转到文章最后鸟哥的网站,非常详细易懂,我再怎么写也是捉襟见肘。看完了可以再到这看一些实践性的内容,尝试一下才能见真章。
如果想看lvm分区的方法,可以移步到这
http://www.cnblogs.com/fangfangmian/archive/2013/01/10/2855374.html
dump2efs查看分割信息
dump2efs -h /dev/sda1
输出信息如下:
... Filesystem UUID: 999ca079-423b-4adc-9770-8c7630c16a3d Filesystem magic number: 0xEF53 ... Filesystem state: not clean Errors behavior: Continue Filesystem OS type: Linux ... Free blocks: 217354 Free inodes: 124274 First block: 1 Block size: 1024 Fragment size: 1024 ... Last mount time: Wed Dec 19 02:41:47 2012 Last write time: Wed Dec 19 02:41:47 2012 ... First inode: 11 Inode size: 128
可以看到磁盘何时被挂载,block大小,block数量,inode数量
fdisk命令可以进行磁盘分区
fdisk /dev/sda #注意,这里没有数字,一定要选磁盘,而非一个分割
进入fdisk文字操作界面
m为帮助信息,会将所有命令打印出来
p为现实当前磁盘分割情况输出如下
Command (m for help): p Disk /dev/sda: 75 GB, 75154383360 bytes 255 heads, 63 sectors/track, 9137 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 32 257008 83 Linux Warning: Partition 1 does not end on cylinder boundary. /dev/sda2 32 6527 52171087 5 Extended Warning: Partition 2 does not end on cylinder boundary. /dev/sda5 32 6527 52171087 8e Linux LVM Warning: Partition 5 does not end on cylinder boundary.
开始部分时一些硬盘方面的信息,磁头,磁道,柱面等信息。
说明:我的虚拟机虚拟磁盘有9137个柱面,每个柱面通过255个磁头管理读写操作,每个磁头管理63个扇区,每个扇区的大小为512个字节,所以每个柱面就有8225280个字节的空间了,在*9137就得到了这个磁盘的容量了。
需要注意的是下面Blocks下,为blocks为1k时的block的数量,可以理解为容量,可以简单换算以下,大概就是sda2有50G
我的虚拟机现在硬盘总量是70多G,还有将近20G的空间没有分配,下面通过命令对其进行分配
Command (m for help): n #n为创建新新的partition Partition type l logical (5 or over) p primary partition (1-4) p #提示是主分区还是逻辑分区时,选择主分区,逻辑分区已经有了 First cylinder (default 0cyl): 6528 Last cylinder or +size or +sizeMB or +sizeKB (default 9136cyl): 9137 #把剩余的柱面统统分给他,回车就成了
通过p命令看一下
Command (m for help): p Disk /dev/sda: 75 GB, 75154383360 bytes 255 heads, 63 sectors/track, 9137 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 32 257008 83 Linux Warning: Partition 1 does not end on cylinder boundary. /dev/sda2 32 6527 52171087 5 Extended Warning: Partition 2 does not end on cylinder boundary. /dev/sda5 32 6527 52171087 8e Linux LVM Warning: Partition 5 does not end on cylinder boundary. /dev/sda3 6528 9137 20956792 83 Linux
t命令可以更改device id
重启或者运行partprobe使其生效,partprobe命令属于parted工具
多了一个20G的分区,按w保存退出(如果不想保存的话,按q退出就行了,所以fdisk是可以随便折腾得,呵呵)
分区结束后这块分区还是不能使用的,因为没有格式化,里面什么文件描述信息都没有,格式化命令
mkfs -t type /dev/sda3 其中type就是文件系统的格式,不懂的话就写ext4就好了...
很简单,输入完回车,一小会儿就提示完成。
接下来是如何利用这块分区
也就是挂载啦...linux是通过文件描述所有东西的,所以这些分区也需要挂载到文件上才可以使用,这个文件必须是目录哦。
挂载指令mount -t type /dev/sda3 /home/test/sda3
上面的/home/test/sda3是事先创建好的,请保证sda3是空的,否则其中原来的内容会被暂时隐藏,无法使用。type是你的磁盘分区的格式,其实不指定也可以的,现在的linux系统一般都是可以自动识别的。
此时你就可以通过/home/test/sda3来使用sda3这块分区来工作了
但是这样你每次重启后都是需要挂载的,岂不是很麻烦
所以我们就需要系统自动把我们的想要的分区在每次重新启动时将磁盘挂载上去,这就需要fstab文件来帮忙了
输入命令cat /etc/fstab来看看
很乱吧,下面解释一下各个字段的意义:
第一个是各个分区的文件描述符,就是他的名字;
第二个就是挂载点,也就是实际你操作的目录,比如/home/test/sda3;
第三个是他的格式,这里跟mount不同,必须要指定磁盘的文件系统的格式,我们的例子里就是ext4啦;
第四个是属性,包括一些读写,只读,是否允许普通user挂载,是否可以通过mount -a自动挂载,是否可以执行可执行文件等等,如果你搞不懂的话,可以使用defaults,linux会帮你选一个比较合适的属性的;
第五个是是否愿意被dump备份,0代表不备份,1代表每天备份,还有一个2不定日期的备份,一般就选0或者1就好了;
第六个是是否以fsck检验分区,0不检验,1最早检验,2普通检验,一般根目录设为1,其他2
因为这个文件比较重要,如果写错了,可能导致无法开机,所以重点介绍一下
我们可以把sda3的相关挂载动作的信息写进这个文件里,内容如下:
/dev/sda3 /home/jck/sda3 ext4 rw,nouser,auto 0 0
保存退出
此时你可以将sda3卸载,然后在/home/jck/sda3里创建一个文件,重启系统,再进入/home/jck/sda3看看,是不是那个文件已经不见了?这就证明你现在看到的是/dev/sda3里面了。
输入mount -l 看一下会出现如下字样
/dev/sda3 on /home/jck/sda3 type ext4 (rw)
证明其开机自动挂载已经设置正确了
!!!如果写错了导致无法重新启动怎么办?
1.单人维护模式
2.mount -n -o remount,rw /
我没试过啊我没试过
上帝一般的鸟哥:http://linux.vbird.org/linux_basic/0230filesystem.php#harddisk-physical