Linux命令之fdisk
发表于:2024-10-24 作者:千家信息网编辑
千家信息网最后更新 2024年10月24日,fdiskfdisk [选项] 改变分区表fdisk [选项] -l 列出所有分区表fdisk -s 以分区块为单位,给出指定分区的大小这是一个创建和维护分区的命令,兼容DOS类型的分区表、BS
千家信息网最后更新 2024年10月24日Linux命令之fdisk
fdisk
fdisk [选项]
fdisk [选项] -l
fdisk -s
这是一个创建和维护分区的命令,兼容DOS类型的分区表、BSD或SUN类型的磁盘列表。 注意fdisk不支持2T以上的硬盘分区,此时需要使用gdisk。
相关了解:
磁头数(Heads)表示硬盘有几个磁头,也就是有几面盘片,一个硬盘最多有255个磁头
柱面数(Cylinders)表示硬盘每面盘片上有几条磁道
扇区数(Sectors)表示每条磁道上有几个扇区,每条磁道最多有63个扇区
(1).选项
1 2 3 4 5 6 | -b < size > 指定扇区大小(512,1024,2048或4096 B) -c 关闭DOS兼容模式 -u < size > 以扇区编号取代柱面编号来表示每个分区的起始地址,一般与-l选项联合使用 -C < number > 指定柱面编号 -H < number > 指定磁头编号 -S < number > 指定磁道扇区编号 |
(2).菜单操作说明:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | a 设置可引导标记(活动分区/引导分区之间切换) b 编辑BSD磁盘标签 c 设置DOS操作系统兼容标记(兼容/不兼容之间切换) d 删除一个分区 l 显示已知的分区类型,其中82为Linux swap分区,83为Linux分区 m 显示帮助信息 n 增加一个新的分区 o 创建一个新的空白的DOS分区表 p 显示磁盘当前的分区表 q 退出fdisk程序,不保存任何修改 s 创建一个新的空白的Sun磁盘标签 t 改变一个分区的系统ID,就是改变分区类型(比如把Linux Swap分区改为Linux分区) u 改变显示或输入单位 v 验证磁盘分区表 w 将分区表写入磁盘并退出(保存并退出) x 额外功能(专家级) |
(3).扩展
sda和hda的区别
1 2 3 4 | sd代表的是SCSI,SATA接口硬盘 hd代表IDE接口的硬盘 sda和hda最后面的a都代表的是第一块硬盘 sda1和hda1则代表的是该硬盘的第一分区 |
(4).实例
1).使用-l选项,列出所有分区表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | /*盘/dev/sda:107.4G,107374182400字节(B),255个磁头,63个扇区,13054柱面(磁道) * 1单位=16065柱面(磁道)*512=8225280字节(B) * 扇区大小(逻辑/物理):512字节(B)/512字节(B) *输入/输出大小(最小/最佳):512字节(B)/512字节(B) *磁盘标识:0x00079700 */ Disk /dev/sda: 107.4 GB, 107374182400 bytes 255 heads, 63 sectors/track, 13054 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: 0x00079700 /*设备 启动标识 开始位置 结束位置 分区块的大小 分区ID 系统(分区类型) * /dev/sda1 * 1 64 512000 83 Linux * 分区1不以柱面边界结束 * /dev/sda2 64 13055 104344576 8e Linux LVM */ Device Boot Start End Blocks Id System /dev/sda1 * 1 64 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 64 13055 104344576 8e Linux LVM Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 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: 0x00000000 Disk /dev/mapper/vg_centos6-lv_root: 53.7 GB, 53687091200 bytes 255 heads, 63 sectors/track, 6527 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: 0x00000000 Disk /dev/mapper/vg_centos6-lv_swap: 4194 MB, 4194304000 bytes 255 heads, 63 sectors/track, 509 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: 0x00000000 Disk /dev/mapper/vg_centos6-lv_home: 49.0 GB, 48964304896 bytes 255 heads, 63 sectors/track, 5952 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: 0x00000000 |
2).使用-l和-u选项,用扇区编号取代柱面编号显示所有分区表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | Disk /dev/sda: 107.4 GB, 107374182400 bytes 255 heads, 63 sectors/track, 13054 cylinders, total 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00079700 Device Boot Start End Blocks Id System /dev/sda1 * 2048 1026047 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 1026048 209715199 104344576 8e Linux LVM Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/mapper/vg_centos6-lv_root: 53.7 GB, 53687091200 bytes 255 heads, 63 sectors/track, 6527 cylinders, total 104857600 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/mapper/vg_centos6-lv_swap: 4194 MB, 4194304000 bytes 255 heads, 63 sectors/track, 509 cylinders, total 8192000 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/mapper/vg_centos6-lv_home: 49.0 GB, 48964304896 bytes 255 heads, 63 sectors/track, 5952 cylinders, total 95633408 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 |
3).你们也看到了,我的/dev/sdb还没有开始使用,下面就用这个硬盘简单的演示下fdisk主要用到的操作菜单
1.在操作菜单下,创建一个新的分区
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | [root@CentOS6 桌面]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0xe8517189. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) 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 Command action e extended //扩展分区,创建扩展分区会占用一个主分区,并且只有创建扩展分区后才能创建逻辑分区 p primary partition (1-4) //主分区,最多创建4个 e Partition number (1-4): 1 First cylinder (1-2610, default 1): //起始柱面,默认为1 Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): //终止柱面,默认为最后一个数 Using default value 2610 Command (m for help): n Command action l logical (5 or over) //逻辑分区 p primary partition (1-4) //主分区 l First cylinder (1-2610, default 1): 1 Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +10G //终止柱面不仅可以用柱面数表示,还可以用+[数值][单位]的格式表示 Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l First cylinder (1307-2610, default 1307): Using default value 1307 Last cylinder, +cylinders or +size{K,M,G} (1307-2610, default 2610): Using default value 2610 Command (m for help): p Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 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: 0xe8517189 Device Boot Start End Blocks Id System /dev/sdb1 1 2610 20964793+ 5 Extended /dev/sdb5 1 1306 10490382 83 Linux /dev/sdb6 1307 2610 10474348+ 83 Linux Command (m for help): w //写入磁盘,保存并退出,否则之前的操作都无效。如果不想写入磁盘就使用q The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. |
2.在操作菜单下,删除 一个分区
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | [root@CentOS6 桌面]# fdisk /dev/sdb 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): p Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 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: 0xe8517189 Device Boot Start End Blocks Id System /dev/sdb1 1 2610 20964793+ 5 Extended /dev/sdb5 1 1306 10490382 83 Linux /dev/sdb6 1307 2610 10474348+ 83 Linux Command (m for help): d Partition number (1-6): 6 //这里输入的始分区编号,如果删除扩展分区,那扩展分区下的逻辑分区也会被删除 Command (m for help): p Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 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: 0xe8517189 Device Boot Start End Blocks Id System /dev/sdb1 1 2610 20964793+ 5 Extended /dev/sdb5 1 1306 10490382 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. |
3.在操作菜单下,修改分区类型
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | 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): t Partition number (1-5): 5 //操作哪一个分区 Hex code (type L to list codes): L //这里会提示你使用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 Hex code (type L to list codes): b Changed system type of partition 5 to b (W95 FAT32) Command (m for help): p //可以看到由原来的Linux改成了W95 FAT32 Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 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: 0xe8517189 Device Boot Start End Blocks Id System /dev/sdb1 1 2610 20964793+ 5 Extended /dev/sdb5 1 1306 10490382 b W95 FAT32 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: If you have created or modified any DOS 6.x partitions, please see the fdisk manual page for additional information. Syncing disks. |
4).对正在使用的磁盘,再次进行分区时会出现以下提示
1 2 3 | WARNING: Re-reading the partition table failed with error 16: 设备或资源忙. 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) |
注意此时分区并不会立刻生效,可以重启系统,也可以使用提示的命令partprobe或kpartx。
下面展示完整情况内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | [root@xuexi ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 命令(输入 m 获取帮助):n //新建分区 Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select ( default p): p //创建主分区 分区号 (2-4,默认 2): 起始 扇区 (2099200-4194303,默认为 2099200): 将使用默认值 2099200 Last 扇区, +扇区 or +size{K,M,G} (2099200-4194303,默认为 4194303): 将使用默认值 4194303 分区 2 已设置为 Linux 类型,大小设为 1023 MiB 命令(输入 m 获取帮助):w //写入磁盘 The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: 设备或资源忙. 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) 正在同步磁盘。 [root@xuexi ~]# ls /dev/sdb* /dev/sdb /dev/sdb1 [root@xuexi ~]# partprobe /dev/sdb //通知操作系统分区表已更改 [root@xuexi ~]# ls /dev/sdb* /dev/sdb /dev/sdb1 /dev/sdb2 |
注意:能reboot重启最好重启,不行再使用命令更新
注意:其实partprobe是更新分区表,但kpartx其实是更新分区映射(涉及到了镜像文件,例如.img文件),不过还有partx可以用来更新分区表(-a选项新增,-d选项删除,-u选项更新(好像不能在删除时使用))。
磁盘
分区表
硬盘
类型
命令
大小
字节
磁道
磁头
系统
菜单
更新
输入
代表
单位
逻辑
设备
帮助
提示
起始
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
一台服务器怎么设置多个站点
网络安全目标cia指的是
法律框架下的网络安全
灌南智能网络技术专业服务
网络安全与执法6
中国联通宽带服务器c啥
余杭软件开发
2021武大网络安全博士
计算机三级数据库有必要考吗
制作条码需要什么数据库
软件开发用的软件几千
win10 服务器在哪里下载
qt和云服务器交互信息
vps服务器恒创
深圳蓝思网络技术有限公司徐刚
机房网络安全产品部署
树莓派 家用服务器
计算机网络技术管理学
无线网服务器
资溪面包厂的数据库的怎么做
云数据库安全性
银行软件开发和研究所软件开发
如何关闭网络安全模式自动更新
徐汇区多功能软件开发服务电话
云豹软件开发
杭州点约网络技术怎么样
如何培养软件开发能力
以前做业务被拉去管软件开发
阿里云服务器安全组规则设置
数据库触发器能用concat