Linux 磁盘分区工具fdisk和挂载
发布时间:2022-09-17 15:24:51 所属栏目:Linux 来源:
导读: 硬盘分区符认识
硬盘是由大量的扇区组成的,每个扇区的容量为 512 字节。其中第一个扇区最重要,因为它保存着主引导记录和分区表信息。
在第一个扇区中,主引导记录需要占用 446 字节,分区表占
硬盘是由大量的扇区组成的,每个扇区的容量为 512 字节。其中第一个扇区最重要,因为它保存着主引导记录和分区表信息。
在第一个扇区中,主引导记录需要占用 446 字节,分区表占
硬盘分区符认识 硬盘是由大量的扇区组成的,每个扇区的容量为 512 字节。其中第一个扇区最重要,因为它保存着主引导记录和分区表信息。 在第一个扇区中,主引导记录需要占用 446 字节,分区表占用 64 字节,还有 2 个字节供结束符使用。而分区表是本节所关心的,在分区表中,每记录一个分区信息就需要占用 16 字节,这样一来,整个分区表最多只能记录 4 个分区信息,这 4 个分区就称为 4 个主分区。因此,第一个扇区中的总体情况,如图所示: 那么,第一个扇区最多只能创建出 4 个分区吗?不是的,为了解决分区个数不够的问题,还可以进一步将第一个扇区的分区表中 16 个字节(原本要写入主分区信息)的空间,用来存储另外一个分区的信息,通常将这 16 个字节的空间称为扩展分区。 注意,扩展分区并不是一个真正的分区,而可以看做是一个占用 16 字节分区表空间的指针,它用来指向另一个分区。 通常情况下,用户会选择使用 3 个主分区外加 1 个扩展分区的方法,然后在扩展分区中再创建出多个逻辑分区,从而来满足多分区(大于 4 个)的需求(如图所示)。 因此总的来说,硬盘分区有 3 种,分别是主分区、扩展分区和逻辑分区。对于一个硬盘来说,主分区至少有 1 个,最多有 4 个;扩展分区可以没有,最多只能有 1 个,且主分区+扩展分区总共不能超过 4 个;逻辑分区可以有若干个。 MBR概述:全称为Master Boot Record,即硬盘的主引导记录 硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR)。它由三个部分组成,主引导程序、硬盘分区表DPT(Disk Partition table)和分区有效标志(55AA)。在总共512字节的主引导扇区里主引导程序(boot loader)占446个字节,第二部分是Partition table区(分区表),即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为55AA。 分区编号:主分区1-4 ,逻辑分区5…… LINUX规定:逻辑分区必须建立在扩展分区之上,而不是建立在主分区上 分区作用: 主分区:主要是用来启动操作系统的,它主要放的是操作系统的启动或引导程序,/boot分区最好放在主分区上 扩展分区不能使用的,它只是做为逻辑分区的容器存在的;我们真正存放数据的是主分区和逻辑分区,大量数据都放在逻辑分区中 如果你用的是GPT的分区方式,那么它没有限制主分区个数 注意:使用分区工具fdisk对磁盘进行操作,分区,格式化(重点),注意:千万不要在当前的硬盘上尝试使用 fdisk,这会完整删除整个系统,一定要再找一块硬盘,或者使用虚拟机 在 Linux 中有专门的分区命令 fdisk 和 parted。其中 fdisk 命令较为常用,但不支持大于 2TB 的分区;如果需要支持大于 2TB 的分区,则需要使用 parted 命令,当然 parted 命令也能分配较小的分区。 命名方式: /dev/sd[a-z]n 其中:a-z 表示设备的序号,如sda表示第一块scsi硬盘linux分区工具,sdb就是第二块...... n 表示每块磁盘上划分的磁盘分区编号 Linux 磁盘分区工具fdisk和挂载_linux_03 使用fdisk管理分区 fdisk:磁盘分区,是Linux发行版本中最常用的分区工具 用法:fdisk [选项] device 常用的选项 : -l 查看硬盘分区表 案例:在sdb盘上建一个分区,大小为100M 在虚拟机上添加一块硬盘 Linux 磁盘分区工具fdisk和挂载_分区表_04 例:对sdb这块盘划分一个100M的分区出来 [root@localhost~]# fdisk /dev/sdb ... Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition 删除分区 g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types 显示分区类型 m print this menu 打印帮助菜单 n add a new partition 添加新的分区 o create a new empty DOS partition table p print the partition table 显示分区表 q quit without saving changes 不保存,退出 s create a new empty Sun disklabel t change a partition's system id 改变分区类型 u change display/entry units v verify the partition table w write table to disk and exit 写分区表信息到硬盘,保存操作并退出 x extra functionality (experts only) Command (m for help): p -----打印分区表 Command (m for help):n ----新建一个分区 Partition type: p:主分区 e:扩展分区 Select (default p): --直接默认 Using default response p Partition number (1,4, default 1): ---直接默认 First sector (1230848-41943039, default 1230848): ---直接默认 Using default value 1230848 Last sector, +sectors or +size{K,M,G} (1230848-41943039, default 41943039): +1G 输入分区大小 Partition 3 of type Linux and of size 1 GiB is set Command (m for help): w 保存退出 [root@localhost ~]# ls /dev/sdb* /dev/sdb /dev/sdb1 例2:对已经在使用的磁盘进行分区,分区让新生成的分区生效。如果对sda再做一个sda4主分区 [root@localhost~]# fdisk /dev/sda 命令(输入 m 获取帮助):p 磁盘标识符:0x0005c80e 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 411647 204800 83 Linux /dev/sda2 411648 2508799 1048576 82 Linux swap / Solaris /dev/sda3 2508800 23480319 10485760 83 Linux 命令(输入 m 获取帮助):n Partition type: p primary (3 primary, 0 extended, 1 free) e extended Select (default e): p 已选择分区 4 起始 扇区 (23480320-41943039,默认为 23480320): 将使用默认值 23480320 Last 扇区, +扇区 or +size{K,M,G} (23480320-41943039,默认为 41943039):+1G 分区 4 已设置为 Linux 类型,大小设为 1 GiB 命令(输入 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@xuegod63 ~]#reboot #这个是最好的方法 或 [root@xuegod63 ~]# partx -a /dev/sda #获得新分区表 使用sdb1新分区: [root@localhost ~]# mkfs.ext4 /dev/sdb1 [root@localhost ~]# mkfs.xfs /dev/sdb1#格式化,-f 对已经存在文件系统的分区,强制格式化 [root@ localhost~]# mkdir /sdb1#创建挂载点 [root@localhost ~]# mount /dev/sdb1 /sdb1/#挂载 [root@localhost ~]# df -h#查看 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda3 10G 4.3G 5.8G 43% / devtmpfs 982M 0 982M 0% /dev tmpfs 997M 0 997M 0% /dev/shm tmpfs 997M 9.0M 988M 1% /run tmpfs 997M 0 997M 0% /sys/fs/cgroup /dev/sr0 4.3G 4.3G 0 100% /mnt /dev/sda1 197M 172M 25M 88% /boot tmpfs 200M 24K 200M 1% /run/user/0 /dev/sdb1 1014M 33M 982M 4% /sdb1 [root@localhost ~]# cd /sdb1/#使用新分区 [root@localhost sdb1]# ls [root@localhostsdb1]# cp /etc/passwd ./ 例3:解决卸载不了的问题 root@localhost ~]# cd /sdb1/ [root@localhost sdb1]# umount /sdb1 umount: /sdb1:目标忙。 (有些情况下通过 lsof(8) 或 fuser(1) 可以 找到有关使用该设备的进程的有用信息) [root@localhost sdb1]# lsof /sdb1 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 2823 root cwd DIR 8,17 20 64 /sdb1 lsof 2952 root cwd DIR 8,17 20 64 /sdb1 lsof 2953 root cwd DIR 8,17 20 64 /sdb1 方法1:[root@localhost sdb1]# kill -9 2823 方法2:[root@localhost sdb1]# cd#退出目录,这个最合适 [root@localhost ~]# umount /dev/sdb1 umount -l /mnt/disk1/ #强行卸载,即使目录有资源被进程占用,也可以卸载 注:umount 挂载点 //卸载方式1 或 umount 设备路径 //卸载方式2 例4:写入配置文件,让它开机自动挂载 使用UUID挂载 [root@xuegod63 ~]# blkid /dev/sda1: UUID="a635d4d2-a21e-4d9b-b199-4c8d5cfed808" TYPE="xfs" /dev/sda2: UUID="46f139f8-fd5c-4e51-8d5c-b33f6c7aa38e" TYPE="swap" /dev/sda3: UUID="4bcb433e-10e6-464d-a40b-00d018950149" TYPE="xfs" /dev/sdb1: UUID="5e3a580a-e5b4-448c-88bf-d22fb3d1d9e2" TYPE="xfs" [root@xuegod63 /]# echo "UUID=5e3a580a-e5b4-448c-88bf-d22fb3d1d9e2/sdb1 xfs defaults 0 0" >> /etc/fstab (编辑:应用网_镇江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐