fdisk -- 分区工具(MBR分区表)与分区挂载
使用fdisk管理分区(2T以下磁盘分区)
fdisk:磁盘分区,是Linux发行版本中最常用的分区工具
用法:fdisk [选项] device
常用的选项 : -l 查看硬盘分区表
案例:在sdb盘上建一个分区,大小为100M
在虚拟机上添加一块硬盘
例:对sdb这块盘划分一个100M的分区出来
[root@xuegod63 ~]# 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 primary (2 primary, 0 extended, 2 free) p:主分区
e extended 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@xuegod63 ~]# ls /dev/sdb*
/dev/sdb /dev/sdb1
例2:对已经在使用的磁盘进行分区,分区让新生成的分区生效。如果对sda再做一个sda4主分区
[root@xuegod63 ~]# 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@xuegod63 ~]# mkfs.ext4 /dev/sdb1
[root@xuegod63 ~]# mkfs.xfs /dev/sdb1 #格式化,-f 对已经存在文件系统的分区,强制格式化
[root@xuegod63 ~]# mkdir /sdb1 #创建挂载点
[root@xuegod63 ~]# mount /dev/sdb1 /sdb1/ #挂载
[root@xuegod63 ~]# 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@xuegod63 ~]# cd /sdb1/ #使用新分区
[root@xuegod63 sdb1]# ls
[root@xuegod63 sdb1]# cp /etc/passwd ./
例3:解决卸载不了的问题
root@xuegod63 ~]# cd /sdb1/
[root@xuegod63 sdb1]# umount /sdb1
umount: /sdb1:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以找到有关使用该设备的进程的有用信息)
[root@xuegod63 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
[root@xuegod63 sdb1]# kill -9 2823
[root@xuegod63 sdb1]# cd #退出目录,这个最合适
[root@xuegod63 ~]# umount /dev/sdb1
注:umount 挂载点 //卸载方式1 或 umount 设备路径 //卸载方式2
例4:写入配置文件,让它开机自动挂载
[root@xuegod63 /]# vim /etc/fstab #在文件最后写入
/dev/sdb1 /sdb1 xfs defaults 0 0
注释:
/dev/sdb1 |
/sdb1 |
xfs |
defaults |
0 |
0 |
要挂载的分区设备 |
挂载点 |
文件系统类型 |
挂载选项 |
是否备份 |
是否检测 |
[root@xuegod63 ~]# mount -a #自动挂载/etc/fstab中没有挂载上的文件
[root@xuegod63 ~]# 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
#发现已经挂载上,说明配置没有问题。 然后再重启,看看挂载
方法2: 使用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
扩展:了解
/dev/sdb1 |
/sdb1 |
xfs |
defaults |
0 |
0 |
要挂载的分区设备 |
挂载点 |
文件系统类型 |
挂载选项 |
是否备份 |
是否检测 |
其中第四列:parameters-文件系统的参数
Async/sync |
设置是否为同步方式运行,默认为async |
auto/noauto |
当执行mount -a 的命令时,此文件系统是否被主动挂载。默认为auto |
rw/ro |
是否以以只读或者读写模式挂载 |
exec/noexe |
限制此文件系统内是否能够进行"执行"的操作 |
user/nouser |
是否允许用户使用mount命令挂载 |
suid/nosuid |
是否允许SUID的存在 |
Usrquota |
启动文件系统支持磁盘配额模式 |
Grpquota |
启动文件系统对群组磁盘配额模式的支持 |
Defaults |
同时具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置 samba nfs |
第五列:是否进行备份。通常这个参数的值为0或者1
0 |
代表不要做备份 |
1 |
代表要每天进行操作 |
2 |
代表不定日期的进行操作 |
第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整
0 |
不要检验 |
1 |
最早检验(一般根目录会选择) |
2 |
1级别检验完成之后进行检验 |