linux格式化磁盘

Posted LEO00

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux格式化磁盘相关的知识,希望对你有一定的参考价值。

linux格式化磁盘

查看系统磁盘情况

[[email protected] ~]# 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命令读取的也是这个文件,只不过显示内容更详细。
[[email protected] ~]# 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文件。无权限无法读取
















以上是关于linux格式化磁盘的主要内容,如果未能解决你的问题,请参考以下文章

Linux的磁盘格式化,磁盘挂载,手动增加swap空间

Linux磁盘挂载和扩容(1)

安装linux需要的磁盘格式是哪种

Linux 磁盘IO

Linux物理机添加新磁盘并格式化

linux格式化磁盘