首页 > 代码库 > linux下硬盘的分区:
linux下硬盘的分区:
提到硬盘的分区,以前就是很乱,有什么主分区/扩展分区/逻辑分区等;它们有什么区别呢?现在简单的了解一下;
由于在MBR的主引导记录中的分区表里面最多只能记录4个分区记录,这个不够用啊,为了解决这个问题,就允许创建一个扩展分区,在扩展分区里面我们可以继续分区(即逻辑分区);例如:我们最多可以创建4个主分区,当我们要创建6个分区时:我们可以创建3个主分区1个扩展分区,然后再在扩展分区里面创建3个逻辑分区;
在主引导记录里面,只包含主分区与扩展分区的信息,而逻辑分区的信息都被保存在了扩展分区里面;
在Linux 是通过hd*x 或 sd*x 表示的,其中 * 表示的是a、b、c …… …… x表示的数字 1、2、3 …… …… hd大多是IDE硬盘;sd大多是SCSI或移动存储;
学习一个linux下的分区工具,fdisk命令;
fdisk 是linux下的硬盘分区工具,但是fdisk 只能划分小于2T 的分区;
语法: fdisk [-l] [设备名称」
当 -l 后面不跟设备名时,会列出所有的磁盘及分区表,当加设备名时,会列出所写设备的分区表;
例如,不跟设备名字时:
fdisk -l Partition 3 does not start on physical sector boundary. Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0xcef2688c Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 960833535 960831488 458.2G 83 Linux /dev/sda2 960835582 976771071 15935490 7.6G 5 Extended /dev/sda5 960835584 976771071 15935488 7.6G 82 Linux swap / Solaris
跟设备名字时:
fdisk -l /dev/sda: Partition 3 does not start on physical sector boundary. Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0xcef2688c Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 960833535 960831488 458.2G 83 Linux /dev/sda2 960835582 976771071 15935490 7.6G 5 Extended /dev/sda5 960835584 976771071 15935488 7.6G 82 Linux swap / Solaris因为,我们电脑上就一块硬盘,所以结果显示一样;
当fdisk 不加 -l 时,会进入另一个模式,此时可以对磁盘进行分区操作;
如:
fdisk /dev/sda Welcome to fdisk (util-linux 2.25.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help):此时,按m键,会出来各个按键的作用:
Help: DOS (MBR) a toggle a bootable flag //设置可活动的分区,即可以引导用于启动系统; b edit nested BSD disklabel c toggle the dos compatibility flag Generic d delete a partition //删除一个分区; l list known partition types //显示所以分区类型; n add a new partition //新建一个分区; p print the partition table //显示分区列表; t change a partition type //改变分区类型;很厉害的; v verify the partition table Misc m print this menu //显示这个帮助菜单; u change display/entry units x extra functionality (experts only) Save & Exit w write table to disk and exit //改入分区表,保存修改; q quit without saving changes //不保存退出; Create a new label g create a new empty GPT partition table G create a new empty SGI (IRIX) partition table o create a new empty DOS partition table s create a new empty Sun partition table Command (m for help):
常用到的用中文标明了;,别外说明几点:
键入’t‘,改变分区标志(这是Linux的fdisk最精华的部份!),新建的分区默认标志是83(Linux Ext2),你可以把它改为82(Linux 交换区)、或是‘b‘(FAT32)、‘f‘(FAT32 Extend,只限于扩展分区)、‘86‘(NTFS)。。。等几十种类型。这样一来,使用多操作系统的朋友们就可以用Linux的fdisk划分出你想要的所有分区了!
键入‘a‘,切换分区激活开关。请注意:每键入一次,被选的分区就会在激活与非激活间变化一次,但你必须保证最后只有一个分区被激活。这时就用得到‘p‘命令了,被激活的分区上会有个‘*‘号。
键入‘d‘, 删除扩展分区时,如果扩展分区里有逻辑分区时,会把逻辑分区也册除掉的;在分区时,注意看看英文的提示就可以了;
下面把过程走一遍哈:
(补充一个过程)
格式化磁盘分区:
磁盘分区完成以后,需要对磁盘的每一个分区格式化以后才能使用;对磁盘的格式化的实质:
硬盘格式化,其实就是对文件系统的初始化过程,建立目录区和文件分配表;文件系统,即文件的目录/文件夹等数据的存储/管理系统;windows下通常使用NTFS,Linux 下通常使用 ext3 或 ext4.所以呢,每一个分区上都有一个文件管理系统;
下面的知识引用(http://www.apelearn.com/study_v2/chapter9.html#id2, 阿铭的linuux教学)
命令 : mke2fs, mkfs.ext2, mkfs.ext3, mkfs.ext4:
当用man查询这四个命令的帮助文档时,你会发现我们看到了同一个帮助文档,这说明四个命令是一样的。mke2fs常用的选项有:
‘-b’ 分区时设定每个数据区块占用空间大小,目前支持1024, 2048 以及4096 bytes每个块。 ‘-i’ 设定inode的大小 ‘-N’ 设定inode数量,有时使用默认的inode数不够用,所以要自定设定inode数量。 ‘-c’ 在格式化前先检测一下磁盘是否有问题,加上这个选项后会非常慢 ‘-L’ 预设该分区的标签label ‘-j’ 建立ext3格式的分区,如果使用mkfs.ext3 就不用加这个选项了 ‘-t’ 用来指定什么类型的文件系统,可以是ext2, ext3 也可以是 ext4每个块。
所以呢,记住mke2fs就可以了; mke2fs -t ext2/ext3/ext4 就相当于mkfs.ext2/mkfs.ext3/mkfs.ext4命令;
例如:[root@localhost ~]# mke2fs -t ext4 /dev/sdb5
格式化完成以后,挂载磁盘:
使用mount 命令:
如: mount /dev/sda6 /new_drir
到此,这块磁盘就可以使用,完成!
linux下硬盘的分区: