Linux如何格式化磁盘啊?

Linux如何格式化磁盘啊?,第1张

磁盘虽然分好区了,但是还不能用,还需要在这每一个分区格式化,所谓格式化,其实就是安装文件系统,Windows下的文件系统有Fat32、NTFS,CentOS使用的文件系统为ext,之前centOS5版本使用ext3作为默认的文件系统,而CentOS6使用ext4作为默认的文件系统。

当用man查询这四个命令的帮助文档时,你会发现我们看到了同一个帮助文档,这说明四个命令是一样的。

指定文件系统格式为ext4,该命令等同于mkfs ext4 /dev/sdb5,以后我们遇到余姚格式磁盘分区的时候,直接指定格式化为ext4即可,也可以根据 *** 作系统的版本来决定格式化什么格式。

选项:-b:分区时设定每个数据块占用空间大小,目前支持1024、2048以及4096 bytes每个块。-i:设定inode的大小。-N:设定inode数量,有时使用默认的inode数不够用,所以要自定设定inode数量。-c:在格式化前先检测一下磁盘是否有问题,加上这个选项后会非常慢。

-L:预设该分区的标签label。-j:建立ext3格式的分区,如果使用mkfs.ext3就不用加这个选项了。-t:用来指定什么类型的文件系统,可以是ext2、ext3也可以是ext4。-m:格式化时,指定预留给管理员的磁盘比例,是一个百分比,只针对mke2fs命令。

注意:可以使用-L来指定标签,标签会在挂载磁盘的时候使用,另外也可以写到配置文件里,关于格式化的这一部分,我建议除非有需求,否则不需要指定块的大小,也就是说,你只需要记住这两个选项:-t和-L即可。

扩展资料

格式化的种类

盘片格式化牵涉两个不同的程序:低级与高级格式化。前者处理盘片表面格式化赋与磁片扇区数的特质;低级格式化完成后,硬件盘片控制器(disk controller)即可看到并使用低级格式化的成果;后者处理“伴随着 *** 作系统所写的特定信息”。

低级格式化

低级格式化(Low-Level Formatting)又称低层格式化或物理格式化(Physical Format),对于部分硬盘制造厂商,它也被称为初始化(initialization)。最早,伴随着应用CHS编址方法、频率调制(FM)、改进频率调制(MFM)等编码方案的磁盘的出现,低级格式化被用于指代对磁盘进行划分柱面、磁道、扇区的 *** 作。

现今,随着软盘的逐渐退出日常应用,应用新的编址方法和接口的磁盘的出现,这个词已经失去了原本的含义,大多数的硬盘制造商将低级格式化(Low-Level Formatting)定义为创建硬盘扇区(sector)使硬盘具备存储能力的 *** 作。现在,人们对低级格式化存在一定的误解,多数情况下,提及低级格式化,往往是指硬盘的填零 *** 作。

对于一张标准的1.44 MB软盘,其低级格式化将在软盘上创建160个磁道(track)(每面80个),每磁道18个扇区(sector),每扇区512位位组(byte);共计1,474,560位组。需要注意的是:软盘的低级格式化通常是系统所内置支持的。通常情况下,对软盘的格式化 *** 作即包含了低级格式化 *** 作和高级格式化 *** 作两个部分。

高级格式化

高级格式化又称逻辑格式化,它是指根据用户选定的文件系统(如FAT12、FAT16、FAT32、NTFS、EXT2、EXT3等),在磁盘的特定区域写入特定数据,以达到初始化磁盘或磁盘分区、清除原磁盘或磁盘分区中所有文件的一个 *** 作。

高级格式化包括对主引导记录中分区表相应区域的重写、根据用户选定的文件系统,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间,以便用户使用该分区管理文件。

格式化(format)是指对磁盘或磁盘中的分区(partition)进行初始化的一种 *** 作,这种 *** 作通常会导致现有的磁盘或分区中所有的文件被清除。格式化通常分为低级格式化和高级格式化。如果没有特别指明,对硬盘的格式化通常是指高级格式化,而对软盘的格式化则通常同时包括这两者。

Linux下添加新硬盘及分区格式化要点:在为主机添加硬盘前,首先要了解linux系统下对硬盘和分区的命名方法。

在Linux下对IDE的设备是以hd命名的,第一个ide设备是hda,第二个是hdb。依此类推。一般主板上有两个IDE接口,一共可以安装四个IDE设备。主IDE上的两个设备分别对应hda和hdb,第二个IDE口上的两个设备对应hdc和hdd。

一般硬盘安装在主IDE的主接口上,所以是hda;光驱一般安装在第二个IDE的主接口上,所以是hdc(应为hdb是用来命名主IDE上的从接口)。

SCSI接口设备是用sd命名的,第一个设备是sda,第二个是sdb。依此类推。分区是用设备名称加数字命名的。例如hda1代表hda这个硬盘设备上的第一个分区。

每个硬盘最多可以有四个主分区,作用是用1-4命名硬盘的主分区。逻辑分区是从5开始的,每多一个分区,数字加一就可以。

参考资料:百度百科:格式化

LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将 其它 的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。那么你知道linux系统硬盘怎么格式化吗?我带来了linux系统硬盘格式化的具 体 *** 作过程,下面大家跟着我一起来学习一下吧。

linux系统硬盘怎么格式化

分区与格式化

先用fdisk分区,分区完成后再用mkfs格式化并创建文件系统,挂载,磁盘就能使用啦。

分区的原理:

MBR:主引导扇区

主分区表:64bytes,最多只能分四个主分区,每个主分区的记录(相关信息,比如分区大小,位置)在主分区表里占14bytes。

如果要建多于四个的分区,就要拿出一个主分区做为扩展分区,再在扩展分区里面进行其它的分区 *** 作。在 建扩展分区的时候会建立一张对应的扩展分区表,它记录了在这个扩展分区里的分区的相关信息理论上它没有分区数量的限制,在扩展分区内部的分区叫做逻辑分区,如上图中的 /dev/hda5,/dev/hda6/,/dev/hda7

格式化原理:

在分好区后,分区里面是空的,没有任何东西。为了能让OS识别,就必须要向分区里写入相应格式的数据。比如windows的FAT32,NTFSLinux的ext2,ext3,ext4(目前ext3格式的用的比较多,ext4还在实验之中,在新的Fedora上使用的就是ext4的文件系统)。

Windows/dos常用的分区工具:fdisk/partition magic/diskpart

Linux下常用的分区工具:

fdisk/sfdisk:命令行工具,各种版本和环境都能使用,包含在软件包util-linux中

diskdruid:图形化分区工具,只能在安装REDHAT系统时使用。

下面我们开始实验:

环境/工具:Fedora 14/256M内存卡fdisk

第一步:fdisk

[root@novice ~]# fdisk -l /dev/sdb

Disk /dev/sdb: 254 MB, 254017536 bytes

8 heads, 61 sectors/track, 1016 cylinders, total 496128 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

Device Boot Start End Blocks Id System

[root@novice ~]# fdisk /dev/sdb

Command (m for help): #在输入上面的命令后会出现左边的提示,输入m就会得到一个帮助菜单,如下:

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

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)

#help虽然是英文的,可都很简单,在这里不再解释。

#现在,我们正式开始分区的 *** 作:

Command (m for help): n #新建分区

Command action

e extended

p primary partition (1-4)

#e/p分别对应扩展分区 /主分区我们先分四个主分区,每个50M然后再来增加主分区或扩展分区,看会出现怎样的状况,嘿嘿。

p #分区类型为主分区

Partition number (1-4, default 1): 1 #分区号,在这里我们依次选择1、2、3、4

First sector (2048-496127, default 2048): #指定分区的起始扇区,一般默认,按enter键即可。

Last sector, +sectors or +size{K,M,G} (2048-496127, default 496127): +50M #指定分区的终止扇区,根据前面的提示我们可以做出相应的选择+sectors 或 +size{K,M,G}

Command (m for help): p #用p打印出已建好的分区列表

Disk /dev/sdb: 254 MB, 254017536 bytes

8 heads, 61 sectors/track, 1016 cylinders, total 496128 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

Device Boot Start End Blocks Id System

/dev/sdb1 2048 104447 51200 83 Linux

#剩下的三个分区的建立 *** 作同上

#分好四个主分区后的情况如下

Command (m for help): p

Disk /dev/sdb: 254 MB, 254017536 bytes

8 heads, 61 sectors/track, 1016 cylinders, total 496128 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

Device Boot Start End Blocks Id System

/dev/sdb1 2048 104447 51200 83 Linux

/dev/sdb2 104448 206847 51200 83 Linux

/dev/sdb3 206848 309247 51200 83 Linux

/dev/sdb4 309248 309298 25+ 83 Linux

#已经建好四个主分区啦,现在我们来看看如果再建主分区或是扩展分区的话会出现怎样的情况:

Command (m for help): n

You must delete some partition and add an extended partition first

#看到了吧,不能再建分区啦!要再建分区的话必须删除some分区,再新建一个扩展分区才行。

#现在,我们删掉一个主分区,来新建扩展分区

Command (m for help): d #删除分区

Partition number (1-4): 4 #选择要删除分区的分区号,我们选第四个

Command (m for help): p #打印,如下,四个分区变成了三个!

Disk /dev/sdb: 254 MB, 254017536 bytes

8 heads, 61 sectors/track, 1016 cylinders, total 496128 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

Device Boot Start End Blocks Id System

/dev/sdb1 2048 104447 51200 83 Linux

/dev/sdb2 104448 206847 51200 83 Linux

/dev/sdb3 206848 309247 51200 83 Linux

#新建一个扩展分区

#如果在没有建满三个主分的区的情况下建立扩展分区,相关选项会有些不同。

Command (m for help): n

Command action

e extended

p primary partition (1-4)

e

Selected partition 4

First sector (309248-496127, default 309248): #enter,默认

Using default value 309248

Last sector, +sectors or +size{K,M,G} (309248-496127, default 496127): #enter,默认,使用剩余空间

Using default value 496127

Command (m for help): p

Disk /dev/sdb: 254 MB, 254017536 bytes

8 heads, 61 sectors/track, 1016 cylinders, total 496128 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

Device Boot Start End Blocks Id System

/dev/sdb1 2048 104447 51200 83 Linux

/dev/sdb2 104448 206847 51200 83 Linux

/dev/sdb3 206848 309247 51200 83 Linux

/dev/sdb4 309248 496127 93440 5 Extended

#接下来,我们在新建的扩展分区里再新建两个逻辑分区,因为已经有了三个主分区,这里不会再显示是建立逻辑分区还是主分区的提示!

Command (m for help): n

First sector (311296-496127, default 311296): #enter

Using default value 311296

Last sector, +sectors or +size{K,M,G} (311296-496127, default 496127): +50M

Command (m for help): n

First sector (415744-496127, default 415744): #enter

Using default value 415744

Last sector, +sectors or +size{K,M,G} (415744-496127, default 496127): #enter

Using default value 496127

Command (m for help): p

Disk /dev/sdb: 254 MB, 254017536 bytes

8 heads, 61 sectors/track, 1016 cylinders, total 496128 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

Device Boot Start End Blocks Id System

/dev/sdb1 2048 104447 51200 83 Linux

/dev/sdb2 104448 206847 51200 83 Linux

/dev/sdb3 206848 309247 51200 83 Linux

/dev/sdb4 309248 496127 93440 5 Extended

/dev/sdb5 311296 413695 51200 83 Linux

/dev/sdb6 415744 496127 40192 83 Linux

#上面的列表,就是我们今天分区的成果啦!接下来保存退出,重启计算机,就可以进行下一步的mkfs *** 作啦!如果忘记了相关的 *** 作命令,记得按m!!!

Command (m for help): w #保存

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

另:在建好分区后,我们还可以更改相关分区的文件系统类型

#如,我们要把第二个主分区改成Linux下的交换分区, *** 作如下

Command (m for help): t #更改文件系统类型

Partition number (1-6): 2 #选择第二个分区

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-

............

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): 82 #查找到linux swap的编码为82

Changed system type of partition 2 to 82 (Linux swap / Solaris)

Command (m for help): p

..............

Device Boot Start End Blocks Id System

/dev/sdb1 2048 104447 51200 83 Linux

/dev/sdb2 104448 206847 51200 82 Linux swap / Solaris

/dev/sdb3 206848 309247 51200 83 Linux

/dev/sdb4 309248 496127 93440 5 Extended

/dev/sdb5 311296 413695 51200 83 Linux

/dev/sdb6 415744 496127 40192 83 Linux

#最后别忘了保存!如果你须要的话!

#扩展分区不能直接使用,逻辑分区只能建立在扩展分区上!

第二步:mkfs(mkfs时分区的格式最好与fdisk设定的分区格式一致,不然.......)

mkfs支持ext2 ext3 vfa msdos jfs reiserfs等文件系统。

用法1:mkfs -t

例: mkfs -t ext3 /dev/sdb2

用法2:mkfs.

例:mkfs,vfat /dev/sdb3

mke2fs支持ext2/ext3文件系统

用法:mke2fs [-j]

例:mke2fs -j /dev/sdb5

# 更多更具体的用法请参照相关命令的man手册

下面,接着实验:

例一

[root@novice ~]# mkfs -t ext3 /dev/sdb1

mke2fs 1.41.12 (17-May-2010)

Filesystem label=

OS type: Linux

Block size=1024 (log=0)

Fragment size=1024 (log=0)

Stride=0 blocks, Stripe width=0 blocks

12824 inodes, 51200 blocks

2560 blocks (5.00%) reserved for the super user

First data block=1

Maximum filesystem blocks=52428800

7 block groups

8192 blocks per group, 8192 fragments per group

1832 inodes per group

Superblock backups stored on blocks:

8193, 24577, 40961

Writing inode tables: done

Creating journal (4096 blocks): done

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 34 mounts or

180 days, whichever comes first. Use tune2fs -c or -i to override.

例二:

[root@novice ~]# fdisk /dev/sdb

Command (m for help): t

Partition number (1-6): 6

Hex code (type L to list codes): 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

.........

Hex code (type L to list codes): 7

Changed system type of partition 6 to 7 (HPFS/NTFS)

Command (m for help): p

Disk /dev/sdb: 254 MB, 254017536 bytes

8 heads, 61 sectors/track, 1016 cylinders, total 496128 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

Device Boot Start End Blocks Id System

/dev/sdb1 2048 104447 51200 83 Linux

/dev/sdb2 104448 206847 51200 82 Linux swap / Solaris

/dev/sdb3 206848 309247 51200 83 Linux

/dev/sdb4 309248 496127 93440 5 Extended

/dev/sdb5 311296 413695 51200 83 Linux

/dev/sdb6 415744 496127 40192 7 HPFS/NTFS

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

[root@novice ~]# mkfs.ntfs /dev/sdb6

Cluster size has been automatically set to 4096 bytes.

Initializing device with zeroes: 100% - Done.

Creating NTFS volume structures.

mkntfs completed successfully. Have a nice day.

Linux系统有一个理念:“一切皆文件”,所以计算机的硬件在linux中也是以“文件”的形式存在于/dev目录中。

比如,光驱对应的文件是/dev/cdrom,CPU对应的文件是/dev/cpu。而硬盘对应的是/dev/sd*。第一块硬盘是/dev/sda,第二块磁盘是/dev/sdb。

IDE磁盘的设备文件采用/dev/hdx 来命名,分区则采用/dev/hdxy来命名,其中想表示磁盘(a是第一块磁盘,b是第二块磁盘,以此类推),与代表分区的号码(由1开始,1,2,3,以此类推)

SCSI设备和分区采用/dev/sdx和/dev/sdxy来命名(x和y的命名规则与IED磁盘命名规则一样)。

A、对IED接口

第一主盘:hda第一从盘:hdb 第一从盘第一分区:hdb1

B、对SCSI接口

第一主盘:sda 第一从盘:sdb 第一从盘第一分区:sdb1

但是一个磁盘通常又被分成多个分区,所以在磁盘文件的后面加上分区的序号来对应这个分区。参考下面的表格中的例子。

Linux磁盘分区与文件系统类常用命令

介绍2种分区表:

所支持的最大卷:2T (Tterabytes,1TB=1024GB)

对分区的设限:最多4个主分区或3个主分区加一个扩展分区。

MBR分区的原理:

MBR:主引导扇区

主分区表:64bytes,最多只能分四个主分区,每个主分区的记录(相关信息,比如分区大小,位置)在主分区表里占14bytes。

如 果要建多于四个的分区,就要拿出一个主分区做为扩展分区,再在扩展分区里面进行其它的分区 *** 作。在 建扩展分区的时候会建立一张对应的扩展分区表,它记录了在这个扩展分区里的分区的相关信息;理论上它没有分区数量的限制,在扩展分区内部的分区叫做逻辑分 区,如上图中的 /dev/hda5,/dev/hda6/,/dev/hda7

格式化原理:

在 分好区后,分区里面是空的,没有任何东西。为了能让OS识别,就必须要向分区里写入相应格式的数据。

比如windows的 FAT32,NTFS,Linux的ext2,ext3,ext4

Windows/dos常用的分区工具:fdisk/partition magic/diskpart

Linux下常用的分区工具:

fdisk/sfdisk:命令行工具,各种版本和环境都能使用,包含在软件包util-linux中

diskdruid:图形化分区工具,只能在安装REDHAT系统时使用。

支持最大卷:18EB,(E:exabytes,1EB=1024TB)

每个磁盘最多支持128个分区

所以如果要大于2TB的卷或分区就必须得用GPT分区表。

Linux下fdisk工具不支持GPT,得使用另一个GNU发布的强大分区工具parted。

fdisk工具用的话,会有下面的警告信息:

下面是用parted工具对/dev/sda做GPT分区的过程:

如果我们的磁盘是2T以下的,但是分区表示GPT格式,我们也可以使用parted 命令将该分区表删除, mklabel msdos 这条命令就是用来删除 part分区 ,将GPT分区表删除后,再来使用 fdisk 建立MBR分区表,可以参考 https://www.xiaohuai.com/4870

mkfs - 支持ext2、ext3(日志)、ext4、vfat、msdos、jfs、reiserfs等

用法1:mkfs -t <fstype><partition>

用法2:mkfs.<fstype><partition>

ps:格式化分区之后,可以使用e2label命令给分区添加卷标

e2label 分区路径 卷标名

查看已经挂载的分区

或者

使用 mount 命令挂载

使用umount卸载分区时,可以指定挂载点,也可以指定挂载的路径, 卸载分区umount命令格式:

umount [option] special | node

或者

PS: 处理umount的时候显示 device busy?

这是因为有程序正在访问这个设备,最简单的办法就是让访问该设备的程序退出以后再umount。可能有时候用户搞不清除究竟是什么程序在访问设备,如果用户不急着umount,则可以用:

CODE:

选项 –l 并不是马上umount,而是在该目录空闲后再umount。还可以先用命令ps aux 来查看占用设备的程序PID,然后用命令kill来杀死占用设备的进程,这样就umount的非常放心了。

linux系统在启动时,会从/etc/fstab文件自动挂载分区。

如下是一个fstab文件的示例。

fstab中,每条配置信息都分为固定的6个部分

[1]: 分区路径,或者UUID

[2]: fs_file - 该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名包含空格的情况,用40来表示空格。

[3]: fs_type - 定义了该设备上的文件系统,一般常见的文件类型为ext4 (Linux设备的常用文件类型)、vfat(Windows系统的fat32格式)、NTFS、isoArray600等。在不确定的情况下可以使用auto。

[4]: fs_options - 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。

对于大多数系统使用"defaults"就可以满足需要。不多说。

[5]: fs_dump - 该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设

置该字段为0

[6]: fs_pass - 该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字

段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0

参考


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8467262.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存