g) 执行parted –a/dev/sda一次或多次直到显示创建的新的分区
[root@bogon ~]# partx -a /dev/sda
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2
[root@bogon ~]# partx -a /dev/sda
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2
BLKPG: Device or resource busy
error adding partition 3
[root@bogon ~]# fdisk -l
Disk /dev/sda: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0004a6ba
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 7859 62914560 8e Linux LVM
/dev/sda3 7859 9164 10489446 83 Linux
partx -a 其实就是通知(告诉)内核,磁盘信息变动了,你更新一下,一次没有显示,我们可以多执行一下看看结果,是不是10G的主分区就创建成功了。因此,这里特别留意两个命令partx 和fdisk
主分区我们创建了,可是我想创建一个交换分区,怎么创建呢?下面我们就来看看
大家知道swap分区就是内存空间,空间前后那就是不一样的了,我们先来查看一下内存空间
[root@bogon ~]# free -m
total used free shared buffers cached
Mem: 845 157 687 0 12 55
-/+ buffers/cache: 90 754
Swap: 2047 0 2047
现在开始创建一个swap分区
[root@bogon ~]# mkswap /dev/sda4
mkswap: /dev/sda4: warning: don't erase bootbits sectors
(dos partition table detected). Use -f to force.
Setting up swapspace version 1, size = 31463296 KiB
no label, UUID=c0c990f9-9d68-41d6-8e75-1eb41b08c4fc
[root@bogon ~]# mkswap -f /dev/sda4
Setting up swapspace version 1, size = 31463296 KiB
no label, UUID=5017d30a-1d96-4e47-b4ba-274d132afeb9
[root@bogon ~]# free -m
total used free shared buffers cached
Mem: 845 157 687 0 12 55
-/+ buffers/cache: 90 754
Swap: 2047 0 2047
[root@bogon ~]# swapon /dev/sda4
[root@bogon ~]# free -m
total used free shared buffers cached
Mem: 845 180 664 0 12 55
-/+ buffers/cache: 112 732
Swap: 32773 0 32773
[root@bogon ~]#
当然我们也是可以把一个已经创建的分区调整为swap分区
a) Fdisk /dev/sda进入磁盘分区环境
b) n 添加一个新的磁盘
c) 回车选择默认的起始扇区
d) 输入格式为”+[MG]”磁盘空间大小
e) l 显示调整分区的系统ID,swap(82)
f) t 调整分区
g) 输入调整的分区号
h) 输入要想调整的分区类型ID(82)
i) p 查看分区调整的结果
j) w 保存
k) kpartx -af /dev/sda重读一次或者两次,或者手动调整,使用kpartx –a /dev/sda#,#是调整的那个分区号,手动的添加一个分区
l) fdisk –l /dev/sda 查看显示是否成功
下面是源码展示:步骤很清楚
[root@bogon ~]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): n
First cylinder (9165-13081, default 9165):
Using default value 9165
Last cylinder, +cylinders or +size{K,M,G} (9165-13081, default 13081): +100M
Command (m for help): l
0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 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 Syrinx
5 Extended 42 SFS 86 NTFS volume set da Non-FS data
6 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 Utility
8 AIX 4f QNX4.x 3rd part 8e Linux LVM df BootIt
9 AIX bootable 50 OnTrack DM 93 Amoeba e1 DOS access
a OS/2 Boot Manag 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 52 CP/M 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
e W95 FAT16 (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPT
f 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 b
11 Hidden FAT12 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
12 Compaq diagnost 61 SpeedStor a9 NetBSD f4 SpeedStor
14 Hidden FAT16 <3 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary
16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT
1e Hidden W95 FAT1
Command (m for help): t
Partition number (1-5): 5
Hex code (type L to list codes): 82
Changed system type of partition 5 to 82 (Linux swap / Solaris)
Command (m for help): p
Disk /dev/sda: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0004a6ba
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 7859 62914560 8e Linux LVM
/dev/sda3 7859 9164 10489446 83 Linux
/dev/sda4 9165 13081 31463302+ 5 Extended
/dev/sda5 9165 9178 112423+ 82 Linux swap / Solaris
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@bogon ~]# kpartx -a /dev/sda
device-mapper: reload ioctl on sda1 failed: Invalid argument
create/reload failed on sda1
device-mapper: reload ioctl on sda2 failed: Invalid argument
create/reload failed on sda2
device-mapper: reload ioctl on sda3 failed: Invalid argument
create/reload failed on sda3
device-mapper: reload ioctl on sda4 failed: Invalid argument
create/reload failed on sda4
device-mapper: reload ioctl on sda5 failed: Invalid argument
create/reload failed on sda5