利用 GNU 的 parted 进行分割行为
虽然你可以使用 fdisk 很快速的将你的分割槽切割妥当,不过 fdisk 却无法支持到高于 2TB 以上的分割槽! 此时就得需要 parted 来处理了。不要觉得 2TB 你用不着! 2009 年的现在已经有单颗硬盘高达 2TB 的容量了! 如果再搭配主机系统有内建磁盘阵列装置,要使用数个 TB 的单一磁盘装置也不是不可能的! 所以,还是得要学一下这个重要的工具! parted !
parted 可以直接在一行命令列就完成分割,是一个非常好用的命令!他的语法有点像这样:
[root@www ~]# parted [装置] [命令 [参数]]
选项与参数:
命令功能:
新增分割:mkpart [primary|logical|extended] [ext3|vfat] 开始 结束
分割表 :print
删除分割:rm [partition]
以 parted 列出目前本机的分割表数据
[root@www ~]# parted /dev/hdc print
Model: IC35L040AVER07-0 (ide) <==硬盘接口与型号
Disk /dev/hdc: 41.2GB <==磁盘文件名与容量
Sector size (logical/physical): 512B/512B <==每个扇区的大小
Partition Table: msdos <==分割表形式 Number Start End Size Type File system Flags
1 32.3kB 107MB 107MB primary ext3 boot
2 107MB 10.6GB 10.5GB primary ext3
3 10.6GB 15.8GB 5240MB primary ext3
4 15.8GB 41.2GB 25.3GB extended
5 15.8GB 16.9GB 1045MB logical linux-swap
6 16.9GB 18.9GB 2056MB logical ext3
7 18.9GB 19.2GB 263MB logical linux-swap
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ]
上面是最简单的 parted 命令功能简介,你可以使用『 man parted 』,或者是『 parted /dev/hdc help mkpart 』去查询更详细的数据。比较有趣的地方在于分割表的输出。我们将上述的分割表示意拆成六部分来说明:
- Number:这个就是分割槽的号码啦!举例来说,1号代表的是 /dev/hdc1 的意思;
- Start:起始的磁柱位置在这颗磁盘的多少 MB 处?有趣吧!他以容量作为单位喔!
- End:结束的磁柱位置在这颗磁盘的多少 MB 处?
- Size:由上述两者的分析,得到这个分割槽有多少容量;
- Type:就是分割槽的类型,有primary, extended, logical等类型;
- File system:就如同 fdisk 的 System ID 之意。
接下来我们尝试来创建一个全新的分割槽吧!因为我们仅剩下逻辑分割槽可用,所以等一下底下我们选择的会是 logical 的分割类型喔!
创建一个约为 512MB 容量的逻辑分割槽
[root@www ~]# parted /dev/hdc mkpart logical ext3 19.2GB 19.7GB
# 请参考前一表格的命令介绍,因为我们的 /dev/hdc7 在 19.2GB 位置结束,
# 所以我们当然要由 19.2GB 位置处继续下一个分割,这样懂了吧?
[root@www ~]# parted /dev/hdc print
.....前面省略.....
7 18.9GB 19.2GB 263MB logical linux-swap
8 19.2GB 19.7GB 502MB logical <==就是刚刚创建的啦!
将刚刚创建的第八号磁盘分区槽删除掉吧
[root@www ~]# parted /dev/hdc rm 8
# 这样就删除了!实在很厉害!所以这个命令的下达要特别注意!
# 因为...命令一下去就立即生效了~如果写错的话,会哭死~
Linux大于2T的磁盘使用GPT分区
众所周知,在linux下磁盘分区大于2TB的时候我不能使用常用Fdisk命令。是不是就没有办法在linux使用大容量的磁盘呢?答案:不是。
在linux我们可以先把大容量的磁盘进行转换,转换为GPT格式。由于GPT格式的磁盘相当于原来MBR磁盘中原来保留4个 partition table的4*16个字节只留第一个16个字节,其它的类似于扩展分区,真正的partition table在512字节之后,所以对GPT磁盘表来讲没有四个主分区的限制。
对GPT磁盘分区表进行操作,我们要使用功能强大的parted命令。
# parted /dev/sdb
GNU Parted 1.8.1
Using /dev/sdb
Welcome to GNU Parted! Type \'help\' to view a list of commands.
(parted) mklabel gpt
#将MBR磁盘格式化为GPT (parted) mkpart primary 0 100
#划分一个起始位置为0大小为100M的主分区 (parted) mkpart primary 100 200
#划分一个起始位置为100M大小为100M的主分区 (parted) mkpart primary 0 -1
#划分所有空间到一个分区 (parted) print
#打印当前分区 (parted) quit #可能还会用到的一些命令
(parted) mklable msdos
#如果要反过来.将GPT磁盘转化为MBR磁盘 在这样分完分区后,还要使用mkfs.ext3来进行格式化 #partprobe
#mkfs.ext3 -F /dev/sdb1
转自 http://vbird.dic.ksu.edu.tw/linux_basic/0230filesystem_6.php