Linux 命令:新建文件系统–mkfs

  • Post author:
  • Post category:linux



Linux 命令: 新建建文件系统–mkfs




命令:


mkfs

使用权限 : 超级用户


使用方式 : mkfs [-V] [-t fstype] [fs-options] device [blocks]


说明 : 建立 linux 档案系统在特定的 partition 上




参数 :

device : 预备检查的硬盘 partition,例如:/dev/sda1

-V : 详细显示模式

-t : 给定档案系统的型式,Linux 的预设值为 ext2

-c : 在制做档案系统前,检查该partition 是否有坏轨

-l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面

block : 给定 block 的大小

例子 :


在 /dev/hda3上建一个 msdos 的档案系统,


同时检查是否有坏轨存在,并且将过程详细列出来 :


mkfs -V -t msdos -c /dev/hda3




Linux Manual:


[root@embedded ~]# man mkfs | cat
MKFS(8)                                                                MKFS(8)



NAME
       mkfs - build a Linux file system

SYNOPSIS
       mkfs [ -V ] [ -t fstype ] [ fs-options ] filesys [ blocks ]

DESCRIPTION
       mkfs  is  used to build a Linux file system on a device, usually a hard
       disk  partition.   filesys  is  the  device  name   (e.g.    /dev/hda1,
       /dev/sdb2).   blocks  is  the  number of blocks to be used for the file
       system.

       The exit code returned by mkfs is 0 on success and 1 on failure.

       In actuality, mkfs is simply a front-end for the  various  file  system
       builders (mkfs.fstype) available under Linux.  The file system-specific
       builder is searched for in a number of directories like perhaps  /sbin,
       /sbin/fs,  /sbin/fs.d,  /etc/fs,  /etc  (the precise list is defined at
       compile time but at least contains /sbin and /sbin/fs), and finally  in
       the  directories  listed  in the PATH environment variable.  Please see
       the file system-specific builder manual pages for further details.

OPTIONS
       -V     Produce verbose output, including all file system-specific  com-
              mands  that are executed.  Specifying this option more than once
              inhibits execution of any file system-specific  commands.   This
              is really only useful for testing.

       -t fstype
              Specifies  the  type  of file system to be built.  If not speci-
              fied, the default file system type (currently ext2) is used.

       fs-options
              File system-specific options to be passed to the real file  sys-
              tem builder.  Although not guaranteed, the following options are
              supported by most file system builders.

       -c     Check the device for bad blocks before building the file system.

       -l filename
              Read the bad blocks list from filename

       -v     Produce verbose output.

BUGS
       All  generic options must precede and not be combined with file system-
       specific options.  Some file system-specific programs  do  not  support
       the  -v (verbose) option, nor return meaningful exit codes.  Also, some
       file system-specific programs do not automatically  detect  the  device
       size and require the blocks parameter to be specified.

AUTHORS
       David Engel (david@ods.com)
       Fred N. van Kempen (waltje@uwalt.nl.mugnet.org)
       Ron Sommeling (sommel@sci.kun.nl)
       The  manual  page  was shamelessly adapted from Remy Card’s version for
       the ext2 file system.

SEE ALSO
       fs(5),  badblocks(8),  fsck(8),  mkdosfs(8),  mke2fs(8),   mkfs.bfs(8),
       mkfs.ext2(8), mkfs.ext3(8), mkfs.minix(8), mkfs.msdos(8), mkfs.vfat(8),
       mkfs.xfs(8), mkfs.xiafs(8)



Version 1.9                        Jun 1995                            MKFS(8)

补充:

这里的文件系统是要指定的,比如 ext3 ;reiserfs ;ext2 ;fat32 ;msdos 等… …
设备比如是一个硬盘的分区,软盘,光驱等.. …
在格式化分区之前,您得懂得如何查看硬盘分区情况,并有针对性的格式化;
比如用


fdisk


-l 来查看;
请参考:《Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍》
比如我想格式化一个移动U盘中的一个分区;全景应该是:
[root@localhost beinan]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/


tr


ack, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1         765     6144831    7  HPFS/NTFS
/dev/hda2             766        2805    16386300    c  W95 FAT32 (LBA)
/dev/hda3            2806        9729    55617030    5  Extended
/dev/hda5            2806        3825     8193118+  83  Linux
/dev/hda6            3826        5100    10241406   83  Linux
/dev/hda7            5101        5198      787153+  82  Linux swap / Solaris
/dev/hda8            5199        6657    11719386   83  Linux
/dev/hda9            6658        7751     8787523+  83  Linux
/dev/hda10           7752        9729    15888253+  83  Linux
Disk /dev/sda: 1035 MB, 1035730944 bytes
256 heads, 63 sectors/track, 125 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          25      201568+  83  Linux
/dev/sda2              26         125      806400    5  Extended
/dev/sda5              26          50      201568+  83  Linux
/dev/sda6              51          76      200781     83  Linux
我们可以看到有sda这个设备,
所以可以用 fdisk -l /dev/sda专门来显示他的分区情况;
比如我想格式化 /dev/sda6 分区为 ext3文件系统,则为:
[root@localhost beinan]# mkfs -t ext3  /dev/sda6
mke2fs 1.37 (21-Mar-2005)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
50200 inodes, 200780 blocks
10039 blocks (5.00%) reserved for the


su


per user
First data block=1
Maximum filesystem blocks=67371008
25 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting info


rm


ation:  注:在这里直接回车;
done
This filesystem will be automatically checked every 26 mounts or
180 days,


which


ever comes first.  Use tune2fs -c or -i to overr


id


e.
这样就格式化好了,sda6现在就是ext3文件系统了;我们就可以用mount 加载这个分区,然后使用这个文件系统;
[root@localhost beinan]#


mkdir


/mnt/sda6
[root@localhost beinan]#


chmod


777 /mnt/sda6
[root@localhost beinan]# mount /dev/sda6   /mnt/sda6
当然您也可以把分区格式化成其它的文件系统;
比如我们把 /dev/sda6格式化为ext3 、ext2、reiserfs、fat32、msdos 文件系统,命令格式如下;
[root@localhost beinan]# mkfs -t ext3  /dev/sda6
[root@localhost beinan]# mkfs -t ext2  /dev/sda6
[root@localhost beinan]# mkfs -t reiserfs  /dev/sda6
[root@localhost beinan]# mkfs -t fat32   /dev/sda6
[root@localhost beinan]# mkfs -t msdos   /dev/sda6
… …
2)


mkfs.ext3


mkfs.reiserfs mkfs.ext2 mkfs.msdos mkfs.vfat mke2fs 的介绍;
我们先说了一个mkfs 工具后,我们再来介绍 mkfs.ext3 mkfs.reiserfs mkfs.ext2 mkdosfs mkfs.msdos mkfs.vfat ,
其实mkfs 在执行的命令的时候,也是调用的这个工具,
这也是我先把mkfs介绍的主要原因; 通过文件名,我们就知道这些工具是支持什么文件系统;
这些命令为我们提供了更多的方便;
[root@localhost beinan]# mkfs.ext3    /dev/sda6     注:把该设备格式化成ext3文件系统
[root@localhost beinan]# mke2fs -j   /dev/sda6       注:把该设备格式化成ext3文件系统
[root@localhost beinan]# mkfs.ext2  /dev/sda6       注:把该设备格式化成ext2文件系统
root@localhost beinan]# mke2fs    /dev/sda6          注:把该设备格式化成ext2文件系统
[root@localhost beinan]# mkfs.reiserfs  /dev/sda6   注:把该设备格式化成reiserfs文件系统
[root@localhost beinan]# mkfs.vfat   /dev/sda6        注:把该设备格式化成fat32文件系统
[root@localhost beinan]# mkfs.msdos   /dev/sda6   注:把该设备格式化成fat16文件系统,msdos文件系统就是fat16;
[root@localhost beinan]# mkdosfs   /dev/sda6         注:把该设备格式化成fat16文件系统,同mkfs.msdos
… …
2)


mkswap


把一个分区格式化成为swap交换区;
[root@localhost beinan]# mkswap /dev/sda6  注:创建此分区为swap 交换分区
[root@localhost beinan]#


swapon


/dev/sda6  注:加载交换分区;
[root@localhost beinan]#


swapoff


/dev/sda6  注:关闭交换分区;
我们查看系统已经加载的swap交换分区;
[root@localhost beinan]# swapon  /dev/sda6  注:加载交换分区;
[root@localhost beinan]# swapon -s
Filename                                Type            Size    U


sed


Priority
/dev/hda7                               partition       787144  0       -1
/dev/sda6                               partition       225144  0       -3
<code>
为什么我的系统有两个交换分区?因为我用移动U盘做的实验,主要是为写教程之用;
sda6是我在U盘上建的swap分区;
如果让swap开机就加载,应该改 /etc/fstab文件,加类似如下一行:
/dev/sda6 swap  swap   defaults    0 0   #注:把此行中的/dev/sda6 改为您的交换分区就行;

或者把命令行直接写入 /etc/rc.d/rc.local中也行:

swapon  /dev/sda6

如果您的硬盘不能再分区,您可以创建一个swap文件

#注:创建一个大小为512M 的swap 文件,在/tmp目录中;您可以根据自己的需要的大小来创建swap 文件;

[root@localhost beinan]# dd if=/dev/zero of=/tmp/swap bs=1024 count=524288

读入了 524288+0 个块

输出了 524288+0 个块

[root@localhost beinan]# mkswap /tmp/swap  #注:把/tmp/swap 文件,创建成swap 交换区

Setting up swapspace version 1, size = 536866 kB

no label, UUID=d9d8645d-92cb-4d33-b36e-075bb0a2e278

[root@localhost beinan]# swapon /tmp/swap   #注:挂载swap 分区

[root@localhost beinan]# swapon -s        #显示系统中swap分区

Filename Type Size Used Priority

/dev/hda7 partition 787144 888 -1

/tmp/swap file 524280 0 -2

注意:其实我们在安装系统的时候,就已经划分了交换分区;查看/etc/fstab,应该swap的行;

如果您在安装系统时没有添加swap,可以通过这种办法来添加;

/dev/sda6         swap                    swap    defaults        0 0  注:把此行中的/dev/hda7 改为您的交换分区就行;

或者把命令行直接写入 /etc/rc.d/rc.local中也行;

swapon  /dev/sda6

如果您的硬盘不能再分区,您可以创建一个swap文件

[root@localhost beinan]# dd if=/dev/zero of=/tmp/swap bs=1024 count=524288 注:创建一个大小为512M 的swap 文件,在/tmp目录中;您可以根据自己的需要的大小来创建swap 文件;

读入了 524288+0 个块

输出了 524288+0 个块

[root@localhost beinan]# mkswap /tmp/swap 注:把/tmp/swap 文件,创建成swap 交换区

Setting up swapspace version 1, size = 536866 kB

no label, UUID=d9d8645d-92cb-4d33-b36e-075bb0a2e278

[root@localhost beinan]# swapon /tmp/swap   注:挂载swap

[root@localhost beinan]# swapon -s

Filename Type Size Used Priority

/dev/hda7 partition 787144 888 -1

/tmp/swap file 524280 0 -2

注意:其实我们在安装系统的时候,就已经划分了交换分区;查看/etc/fstab,应该swap的行;如果您在安装系统时没有添加swap,可以通过这种办法来添加;

关于swapon的Linux Manual:
[root@embedded ~]# man swapon | cat
SWAPON(8)                  Linux Programmer’s Manual                 SWAPON(8)



NAME
       swapon, swapoff - enable/disable devices and files for paging and swap-
       ping

SYNOPSIS
       /sbin/swapon [-h -V]
       /sbin/swapon -a [-v] [-e]
       /sbin/swapon [-v] [-p priority]  specialfile ...
       /sbin/swapon [-s]
       /sbin/swapoff [-h -V]
       /sbin/swapoff -a
       /sbin/swapoff specialfile ...

DESCRIPTION
       Swapon is used to specify devices on which paging and swapping  are  to
       take place.

       The  device  or file used is given by the specialfile parameter. It may
       be of the form -L label or -U uuid to indicate a  device  by  label  or
       uuid.

       Calls  to swapon normally occur in the system multi-user initialization
       file /etc/rc making all swap devices available, so that the paging  and
       swapping activity is interleaved across several devices and files.

       Normally, the first form is used:

       -a     All  devices  marked  as ‘‘swap’’ swap devices in /etc/fstab are
              made available, except for those  with  the  ‘‘noauto’’  option.
              Devices that are already running as swap are silently skipped.

       -e     When  -a  is  used  with  swapon,  -e makes swapon silently skip
              devices that do not exist.

       -h     Provide help

       -L label
              Use the partition that has  the  specified  label.   (For  this,
              access to /proc/partitions is needed.)

       -p priority
              Specify  priority  for swapon.  This option is only available if
              swapon was compiled under and is used under  a  1.3.2  or  later
              kernel.  priority is a value between 0 and 32767. Higher numbers
              indicate higher priority. See swapon(2) for a  full  description
              of  swap  priorities.  Add  pri=value  to  the  option  field of
              /etc/fstab for use with swapon -a.

       -s     Display  swap  usage  summary  by  device.  Equivalent  to  "cat
              /proc/swaps".  Not available before Linux 2.1.25.

       -U uuid
              Use  the  partition  that  has  the  specified uuid.  (For this,
              access to /proc/partitions is needed.)

       -v     Be verbose.

       -V     Display version

       Swapoff disables swapping on the specified devices and files.  When the
       -a  flag  is  given, swapping is disabled on all known swap devices and
       files (as found in /proc/swaps or /etc/fstab).

NOTE
       You should not use swapon on a file with holes.  Swap over NFS may  not
       work.

SEE ALSO
       swapon(2), swapoff(2), fstab(5), init(8), mkswap(8), rc(8), mount(8)

FILES
       /dev/hd??  standard paging devices
       /dev/sd??  standard (SCSI) paging devices
       /etc/fstab ascii filesystem description table

HISTORY
       The swapon command appeared in 4.0BSD.



Linux 1.x                      25 September 1995                     SWAPON(8)



版权声明:本文为wzb56原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。