linux格式化磁盘
linux格式化磁盘
查看系统磁盘情况
[root@db02 ~]# fdisk -l #查看当前系统上所有存储设备(包括挂在和没挂载的) 注:如果没有管理员权限是看不见磁盘的,因为fdisk默认读的/proc/partitions文件。无权限无法读取
Disk /dev/sda: 10.7 GB, 10737418240 bytes #磁盘总共10.7G
255 heads, 63 sectors/track, 1305 cylinders #共255个磁头,每个磁道63个扇区,共1305个柱面
Units = cylinders of 16065 * 512 = 8225280 bytes #每个柱面8225280个字节。计算公式:255*63*512=8225280 (每个柱面255个磁道,每个磁道63个扇区。所以扇区总数16065/柱面。所以每个柱面也就8M多。这个是后边分区划分的单元)
Sector size (logical/physical): 512 bytes / 512 bytes #逻辑扇区和物理扇区都是512个自字节
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d20b6 #这里是磁盘id
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux #该磁盘上有分区sda1,*号表示内核在此分区上,Start=1代表次分区大小是从1柱面开始的 End=26表示次分区到26柱面结束。Block=204800表示此分区共204800个块大小(每块1k默认大小,所以你可以看出总共多少空间),Id=83代表此分区文件系统编号是83即Linux(分区类型可以在分区的时候指定,这样可以使我们在用工具进行格式化分区的时候优化文件系统。)
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 124 786432 82 Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3 124 1306 9493504 83 Linux
注意:cat /proc/partitions 查看操作系统识别的磁盘和分区,包括挂在和没挂载的。fdisk -l命令读取的也是这个文件,只不过显示内容更详细。
[root@db02 ~]# cat /proc/partitions
major minor #blocks name
8 0 10485760 sda
8 1 204800 sda1
8 2 786432 sda2
8 3 9493504 sda3
使用fdisk对硬盘进行分区
fdisk /dev/硬盘名字 //分区sda硬盘
p //打印已有分区
如果输入错误,按着ctrl + delete才能删除
n //创建新分区
e // 选择的是扩展分区 p //指的是主分区(注意分配的柱面是否全用完,避免浪费,磁盘上只能由最多3主分区和1扩展分区,或者最多4个主分区),之后你就可以在扩展分区上创建逻辑分区了(逻辑分区个数一般没什么限制几百个都没问题)
w //保存退出,这样你的分区信息即可生效,如果不保存则不生效(相当于取消操作什么都没做)
m //帮助信息
fdisk /dev/sdb =>键入m获取帮助信息。=>键入n创建新分区(e扩展分区,p主分区,l逻辑分区--主分区扩展分区逻辑分区分不清的请自行google,注意主分区和扩展分区个数和不能大于4。这是MBR分区机制的限制。)=>指定大小(用多少柱面或者多少 K、M、G)=>p查看下分区结果=>w保存分区结果
如果分区有问题:fdisk /dev/sdb=>键入p查看之前的分区=>键入d删除分区
如果还有没有用完的分区:fdisk /dev/sdb=>按照之前的步骤进行分区即可。但是注意主分区和扩展分区的数量必须<=4,如果要的分区多余4个的话请使用逻辑分区。
如果分区类型有问题:fdisk /dev/sdb =>p打印下当前分区,查看各个分区的分区类型=>键入t修改分区类型(键入L可列举分区类型)=>键入分区类型16进制id即可改变分区类型
如果分完区后新分区没有显示:则有可能是操作系统还没有识别新分区。执行下边两个命令即可
cat /proc/partitions //查看当前系统上内核已经识别的分区,分区完后内核可能没有识别的,需要重新读取分区信息。没有你之前分的分区的话之行下边命令重新读取磁盘的分区信息
partprobe /dev/sda //重新读取磁盘。/dev/sda磁盘的分区信息
附加知识点:cat /proc/filesystems //查看当前操作系统支持那些文件系统。
格式化
linux mkfs
指令:mkfs
使用权限 : 超级使用者
使用方式 : mkfs [-V] [-t fstype] [fs-options] filesys [blocks] [-L Lable]
说明 : 建立 linux 档案系统在特定的 partition 上
参数 :
device : 预备检查的硬盘 partition,例如:/dev/sda1
-V : 详细显示模式
-t : 给定档案系统的型式,Linux 的预设值为 ext2
-c : 在制做档案系统前,检查该partition 是否有坏轨
-l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
block : 给定 block 的大小
-L:建立lable
补充说明:
mkfs本身并不执行建立文件系统的工作,而是去调用相关的程序来执行。例如,若在"-t" 参数中指定ext2,则
mkfs会调用mke2fs来建立文件系统.使用时如省略指定【块数】参数,mkfs会自动设置 适当的块数.
挂载
mount 设备 挂载点
例:mount /dev/sdb1 /mnt
设备:设备文件(/dev/sdb1),测试的时候用下 ;卷标(LABEL“”“);UUID(UUID="")
挂载点:目录 。 要求:此目录不能被其他进程使用;目录必须存在;目录中原有文件会被临时隐藏
mount //不跟任何参数,显示当前挂载的文件系统和挂载点。比较乱不如df -l清楚
mount [option] [-o option] DEVICE MOUNT_POINT
[option]
-a:表示只挂载/etc/fstab中的文件系统
-n:默认情况mount每挂载一个文件系统就会将挂载得设备信息保存到/etc/mtab文件中
-t: FS_TYPE:指定正在挂载设备上的文件系统类型,不适用此选项时mount会调用blkid命令获取对应文件系统类型。一般挂载ntfs文件系统是时会使用此选项。
-r:只读挂载文件系统
-w:“读写”挂载文件系统
-o :指定挂载的额外选项
remount:重新挂载当前文件系统
ro:只读挂载
rw:读写挂
例:
mount -r /dev/sda5 /media/ //只读挂载
mount -o ro /dev/sda5 /media/ //只读挂载
mount -o remount,ro /dev/sda5 //重新挂载并启用新的功能。多个功能用逗号隔开
mount -o loop /root/*.iso /media //挂载iso文件,就可以直接访问里边的文件了,loop将一个文件当成分区挂载。
2>卸载
umount 设备/挂载点 //注意卸载文件系统的时候,此文件系统没有进程在使用。
例:umount /dev/sdb1
如果文件系统卸载不了,显示“busy”:
fuser -v /mnt/目录名 //查看谁或者那个进程正在访问这个文件系统(分区)
fuser -km /mnt/目录名 //将使用文件系统的用户或进程,踢出去或kill掉。之后再次umount即可
#查看当前系统上所有存储设备(包括挂在和没挂载的) 注:如果没有管理员权限是看不见磁盘的,因为fdisk默认读的/proc/partitions文件。无权限无法读取