parted命令分区--(GPT分区)MBR分区表(主引导记录分区表):2.1TB(1TB=1024GB).①最多⽀持4个主分区.②扩展分区只能有⼀个,并且扩展分区与主分区之和不超过4,扩展分区内不能写数据,只能写⼊逻辑分区.③逻辑分区可以有10个.GPT分区表(也叫GUID分区表,全局唯⼀标⽰分区表):9.4ZB(GB-TB-EB-PB-ZB 1024进制),最多⽀持128个分区.其中1个作为系统保留分区,剩余127个为⽤户⾃定义分区.parted命令直接建⽴的分区是ext2格式,并且,如果通过mkfs格式化为ext4,parted进⾏resize动态调整分区⼤⼩会失败.parted命令能够识别MBR 分区表,显⽰为msdos.[root@localhost ~]# parted #进⼊parted命令GNU Parted 2.1使⽤ /dev/sda #⼀定要看清楚,这是主磁盘,不能在这⾥做分区和格式化,不然系统将会⽆法开机Welcome to GNU Parted! Type 'help' to view a list of commands.(parted) quit #这是输⼊命令的位置,⽴马使⽤quit退出[root@localhost ~]# parted /dev/sdb #使⽤parted命令必须加⼊参数GNU Parted 2.1使⽤ /dev/sdbWelcome to GNU Parted! Type 'help' to view a list of commands.(parted)接下来进⾏如下⼏个实验:①建⽴GPT分区②已经建⽴分区进⾏扩容③mount挂载④⾃动加载GPT分区1.建⽴GPT分区:[root@localhost ~]# partedGNU Parted 2.1使⽤ /dev/sdaWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) help接下来会显⽰⼀堆的命令列表和命令内容概括,主要有⼀下⼏个需要知道:①help #显⽰命令帮助⽂档,特别是命令的输⼊格式②mklabel mktable #2个都是建⽴新的分区表(硬盘标签),感觉还是mktable更加习惯,好记③mkfs #为分区写⼊⽂件系统④mkpart #创建新的分区⑤print #打印分区信息(已经创建的分区使⽤这个命令查看)⑥quit #退出parted命令⑦rm #删除分区⑧select #选择分区设备,可以切换磁盘(parted) mktable #新建分区表新的磁盘标签类型? gpt #GPT分区表警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue? #提⽰"新建分区表会摧毁所有存在磁盘中的数据",是否继续?是/Yes/否/No? y #当然是啦(parted) print #显⽰结果Model: VMware, VMware Virtual S (scsi)Disk /dev/sdb: 5369MBSector size (logical/physical): 512B/512BPartition Table: gpt #是不是发现这⾥由msdos(表⽰MBR)变成了GPT(parted) mkpart #新建分区分区名称? []? nigulasi1 #⾃⼰命名,⽐如说尼古拉斯哈哈⽂件系统类型? [ext2]? #只能默认ext2起始点? 1 #起始点 1M结束点? 1G #结束点1G,注意下⼀个分区起始点不能⼩于1000M,也就是说要从1001M开始,不然会报错,告诉你已经分区了(parted) print #显⽰结果Model: VMware, VMware Virtual S (scsi)Disk /dev/sdb: 5369MBSector size (logical/physical): 512B/512BPartition Table: gptNumber Start End Size File system Name 标志1 1049kB 1000MB 999MB ext2 nigulasi12.已经建⽴的分区进⾏动态调整⼤⼩新建⼀个2G的分区(parted) resize 2 #重新设置分区⼤⼩WARNING: you are attempting to use parted to operate on (resize) a file system.parted's file system manipulation code is not as robust as what you'll find indedicated, file-system-specific packages like e2fsprogs. We recommendyou use parted only to manipulate partition tables, whenever possible.Support for performing most operations on most types of file systemswill be removed in an upcoming release.起始点? [1001MB]? #起始点默认回车结束点? [3000MB]? 2000M #结束点从3G改为2G(当前默认1G=1000M,⽅便计算)警告: A resize operation on this file system will use EXPERIMENTAL codethat MAY CORRUPT it (although no one has reported any such damage yet).You should at least backup your data first, and run 'e2fsck -f' afterwards.确认/OK/放弃/Cancel? ok #输⼊ok(parted) print #显⽰结果已经缩减⼤⼩Model: VMware, VMware Virtual S (scsi)Disk /dev/sdb: 5369MBSector size (logical/physical): 512B/512BPartition Table: gptNumber Start End Size File system Name 标志1 1049kB 900MB 899MB ext2 nigulasi12 1001MB 2000MB 999MB ext2 nigulasi2(parted) quit #退出其实resize按理来说可以变⼩,也可以变⼤,但是实际上扩容会报错,操作了⼗⼏遍只有⼀遍成功,确实很奇葩,这个parted⼯具还是不够完善,⽐如:操作resize后显⽰Warning:parted's file system manipulation code is not as robust as what you'll find in dedicated, file-system-specific packages like e2fsprogs.表⽰parted⼯具没有我们想的那么完善......毕竟我们马上要学习LVM逻辑卷组,以后只能⽤更⾼级的LVM,这些就当是回忆科技的过往吧.3.⼿动挂载[root@localhost ~]# mkdir /mnt/sdb1 #设置挂载点(挂载点就是已经建⽴的空⽬录)[root@localhost ~]# mkdir /mnt/sdb2 #设置挂载点,新建了2个分区,需要2个挂载点[root@localhost ~]# mount /dev/sdb1 /mnt/sdb1/ #把第⼆块SCSI硬盘上的第⼀个分区挂载到/mnt/sdb1⽬录上[root@localhost ~]# mount /dev/sdb2 /mnt/sdb2/ #把第⼆块SCSI硬盘上的第⼆个分区挂载到/mnt/sdb2⽬录上[root@localhost ~]# df -h #显⽰(只能看已经挂载的)磁盘信息,相当于双击打开"我的电脑"后的显⽰效果Filesystem Size Used Avail Use% Mounted on/dev/sda5 9.8G 2.4G 7.0G 26% /tmpfs 495M 0 495M 0% /dev/shm/dev/sda1 190M 33M 147M 19% /boot/dev/sda3 1.9G 3.5M 1.8G 1% /home/dev/sdb1 804M 13K 761M 1% /mnt/sdb1/dev/sdb2 893M 13K 845M 1% /mnt/sdb2接下来可以cd /mnt/sdb1/进⼊该分区,挂载点相当于⼀个进⼊磁盘对应分区的对应"门",不同分区不同门,进⼊这个⽬录(也就是挂载点),也就是进⼊了分区,新建⽂件,⽬录,包括增删改查都是在第⼆块SCSI硬盘的第⼀个分区上进⾏操作!命令⾏输⼊的mount命令是临时⽣效的,重启后将会失效,因此我们要实现永久⽣效,那就是把"配置信息"或者命令写⼊对应⽂档,那么来看下⼀⼩节.4.⾃动挂载(/etc/fstab)Linux开机时查看/etc/fstab这个配置⽂件,按照配置信息进⾏⾃动挂载.我们需要把新建分区的信息按照对应的格式填⼊这个⽂件内,即可达到⾃动挂载效果.vi /dec/fstab #进⼊配置⽂档#我们拿出⼀⾏来进⾏学习UUID=b9008873-894b-4586-bbd9-0690a052c5d6 /home ext4 defaults 1 2#第⼀列UUID,相当于硬盘分区的"⾝份证号码",通过这个号码识别硬盘,命令⾏模式下输⼊"ll /dev/disk/by-uuid/"查看对应分区的UUID号码.#第⼆列挂载点#第三列⽂件系统的格式#第四列默认参数配置,defaults就⾏,如果有其他功能添加,添加",功能名"即可#第五列是否备份,1-备份,0-不备份,默认1即可#第六列是开机fsck⼯具⾃检,0-不检,1-开机时检测,2-开机后检测,只有根分区默认开机⾃检, 其他分区默认2,有点像360优化开机选项,不然的话拖慢了开机速度.备注:这⾥存在⼀个很⼤的问题,导致很多⼈挂载失败!⾸先mount命令默认挂载的时候不需要我们⼿动配置信息,但是配置⽂件时需要UUID,这个数据是格式化后⽣成的,如果只是分区,但是没有格式化,⼀种可能是命令/"ll /dev/disk/by-uuid/"结果⾥没有你的设备对应的UUID,⽐如说/dev/sdb2,还有⼀种可能是显⽰的旧UUID,为什么说旧呢?因为你从最近⼀次⽂件修改时间可以看出来.因此你粘贴的UUID绝对是错的,重启后系统开机报错,说找不到UUID对应设备,谨记!如果开机报错,修复办法在上⼀篇⽂档"fdisk创建MBR分区"的末尾.在⽂档末尾添加如下内容:UUID=95988f1e-de1f-47e6-a791-4184a588d7ed /mnt/sdb1 ext2 defaults 1 2UUID=31f7fdbc-780b-42fd-9d3e-6764edbe68e3 /mnt/sdb2 ext2 defaults 1 2保存,退出⽂档.重启.[root@localhost ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda5 9.8G 2.4G 7.0G 26% /tmpfs 495M 0 495M 0% /dev/shm/dev/sda1 190M 33M 147M 19% /boot/dev/sda3 1.9G 3.5M 1.8G 1% /home/dev/sdb1 804M 13K 761M 1% /mnt/sdb1/dev/sdb2 893M 13K 845M 1% /mnt/sdb2可以看到分区已经⾃动挂载上来了,哇偶.⼋.建⽴swap分区实验:①建⽴swap分区②挂载⾄系统swap中③⾃动挂载swap分区在虚拟机⾥新添加⼀个空⽩盘给系统,1G⼤⼩⾜够了,只是做实验加⼊到swap分区中.记得添加空⽩盘后⽤命令"fdisk -l"如果不显⽰/dev/sdc,重启.[root@localhost ~]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes #当前测试Disk /dev/sdc,因此省略显⽰a/b盘Disk /dev/sdb: 5368 MB, 5368709120 bytesDisk /dev/sdc: 1073 MB, 1073741824 bytes #已经识别第三块SCSI硬盘了255 heads, 63 sectors/track, 130 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x000000001.使⽤fdisk⼯具创建swape分区:[root@localhost ~]# fdisk /dev/sdc #配置第三块硬盘,要写命令参数的Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabelBuilding a new DOS disklabel with disk identifier 0x1becc0ab.Changes will remain in memory only, until you decide to write them.After that, of course, the previous content won't be recoverable.#上⾯⼀⼤堆的警告意思就是:<你添加的空⽩盘是个三不像,啥格式都没有,我给你建了个DOS分区表格式,如果你保存,那就这个样写⼊了,写⼊后你的数据就没了>空⽩盘,不⽤管.Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)WARNING: DOS-compatible mode is deprecated. It's strongly recommended toswitch off the mode (command 'c') and change display units tosectors (command 'u').Command (m for help): p #显⽰分区信息,空⽩盘呗,要啥没啥.Disk /dev/sdc: 1073 MB, 1073741824 bytes255 heads, 63 sectors/track, 130 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x1becc0abDevice Boot Start End Blocks Id SystemCommand (m for help): t #直接改系统格式会报错,因为没有任何分区啊No partition is defined yet!Command (m for help): n #新建分区Command actione extendedp primary partition (1-4)p #输⼊p,选择主分区Partition number (1-4): 1 #分区号码,挨着顺序来First cylinder (1-130, default 1): #第⼀个柱⾯,默认就是1,直接回车就⾏Using default value 1Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130): #最后⼀个柱⾯,默认回车Using default value 130Command (m for help): p #显⽰分区信息Disk /dev/sdc: 1073 MB, 1073741824 bytes255 heads, 63 sectors/track, 130 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x1becc0abDevice Boot Start End Blocks Id System/dev/sdc1 1 130 1044193+ 83 Linux#最后⼀列System(系统)的内容是Linux,不⾏,我们要建swap分区,所以得改!Command (m for help): l #列举⽀持的系统格式(主要记swap是哪个号,恩,82)0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-3 XENIX usr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT-4 FAT16 <32M 41 PPC PReP Boot 85 Linux extended c7 Syrinx5 Extended 42 SFS 86 NTFS volume set da Non-FS data6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / .7 HPFS/NTFS 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility8 AIX 4f QNX4.x 3rd part 8e Linux LVM df BootIt9 AIX bootable 50 OnTrack DM 93 Amoeba e1 DOS accessa OS/2 Boot Manag 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/Ob W95 FAT32 52 CP/M 9f BSD/OS e4 SpeedStorc W95 FAT32 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fse W95 FAT16 (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPTf W95 Ext'd (LBA) 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/10 OPUS 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b11 Hidden FAT12 5c Priam Edisk a8 Darwin UFS f1 SpeedStor12 Compaq diagnost 61 SpeedStor a9 NetBSD f4 SpeedStor14 Hidden FAT16 <3 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT1e Hidden W95 FAT1Command (m for help): t #这回有分区了,再次修改系统格式Selected partition 1 #只有⼀个分区,所以没得选,只能是1Hex code (type L to list codes): 82 #这⾥输⼊82,意思就是改为swap格式Changed system type of partition 1 to 82 (Linux swap / Solaris)Command (m for help): p #显⽰结果Disk /dev/sdc: 1073 MB, 1073741824 bytes255 heads, 63 sectors/track, 130 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x1becc0abDevice Boot Start End Blocks Id System/dev/sdc1 1 130 1044193+ 82 Linux swap / Solaris#这⾥显⽰的效果就是我们要的swap分区了,仔细核对最后⼀列系统格式,别搞错了.#⼀定⼀定⼀定要保存,重要的事情说三遍,输⼊ wCommand (m for help): w #!!!!重要The partition table has been altered! #意思就是磁盘的分区表已经改了Calling ioctl() to re-read partition table. #调⽤ioctl()函数可以得到磁盘信息,除⾮你做开发,不然⽤不到Syncing disks. #信息已经同步到了磁盘1. 挂载⾄swap分区中:分区后,该做什么? 格式化啊啊啊啊 ![root@localhost ~]# mkswap /dev/sdc1 #⽤mkswap格式化/dev/sdc1分区Setting up swapspace version 1, size = 1044188 KiBno label, UUID=0ccb15e6-af00-475c-93b6-56cd1f543ccb #说好的格式化后⽣成UUID,信![root@localhost ~]# free -h #记录当前swap分区信息,不然你咋知道增⼤了没有?total used free shared buffers cachedMem: 988M 279M 709M 260K 19M 108M-/+ buffers/cache: 150M 837MSwap: 7.8G 0B 7.8G[root@localhost ~]# swapon /dev/sdc1 #⼿⼯把/dev/sdc1加⼊swap分区,没报错[root@localhost ~]# free -h #对照下,恩,确实变⼤了1G,成功!total used free shared buffers cachedMem: 988M 279M 708M 260K 19M 108M-/+ buffers/cache: 151M 836MSwap: 8.8G 0B 8.8G2. ⾃动挂载swapvi /etc/fstab⽂档末尾加⼊下⾯⼀⾏信息:UUID=0ccb15e6-af00-475c-93b6-56cd1f543ccb swap swap defaults 0 0保存退出.重启.开机后检查是否正常:Last login: Fri Apr 13 17:12:05 2018 from 192.168.41.1[root@localhost ~]# free -htotal used free shared buffers cachedMem: 988M 231M 757M 260K 18M 58M-/+ buffers/cache: 153M 834MSwap: 8.8G 0B 8.8G内存⼤⼩直接存7.8G变成了8.8G,不⽤再⼿动添加了,哈哈,省事.。