说文解字540部首 小篆:linux下的fdisk使用说明 - linux - LiuYiBing

来源:百度文库 编辑:九乡新闻网 时间:2024/03/28 18:09:36
1、关于fdisk命令
    fdsik 能划分磁盘成为若干个区,同时也能为每个分区指定分区的文件系统,比如linux 、fat32、 linux 、linux swap、fat16 以及其实类Unix类操作系统的文件系统等;当然我们用fdisk对磁盘操作分区时,并不是一个终点,我们还要对分区进行格式化所需要的文件系统;这样一个分区才能使用;这和DOS中的fdisk 是类似。
    注:fdisk命令只能在root用户下才能正常使用!
2、查看硬盘分区情况
    /sbin/fdisk -l
可查看机器所挂载的硬盘个数及分区情况
Disk /dev/hda: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        1275    10241406    7  HPFS/NTFS
/dev/hda2            1276        7296    48363682+   f  W95 Ext'd (LBA)
/dev/hda5            3826        5511    13542763+  8e  Linux LVM
/dev/hda6            5512        5524      104391   83  Linux
/dev/hda7            5525        7296    14233558+  8e  Linux LVM
/dev/hda8            1276        3825    20482840   83  Linux

Partition table entries are not in disk order
通过上面的信息,我们知道此机器中挂载了一个硬盘hda;如果我们想查看单个硬盘情况,可以通过fdisk -l /dev/hda1 或者fdisk -l /dev/sda1 来操作;

硬盘总容量=主分区+括扩展分区容量
扩展分区容量=逻辑分区总容量

通过上面的例子,我们可以得知 hda=hda1+hda2,其中hda2=hda5+hda6+hda7+hda8

硬盘分区的表示:在Linux 是通过hd*x 或 sd*x 表示的,其中 * 表示的是a、b、c ... ... x表示的数字 1、2、3 ... ... hd大多是IDE硬盘;sd大多是SCSI或移动存储;
引导(Boot):表示引导分区,在上面的例子中 hda1 是引导分区;
Start (开始):表示的一个分区从X cylinder(磁柱)开始;
End (结束):表示一个分区到 Y cylinder(磁柱)结束;
id和System 表示的是一个意思,id看起来不太直观,我们要在fdisk 一个分区时,通过指定id来确认分区类型;比如 7表示的就NTFS 分区;这个在fdisk 中要通过t功能来指定。下面的部份会提到;
Blocks(容量):这是我翻译的,其实不准确,表示的意思的确是容量的意思,其单位是K;一个分区容量的值是由下面的公式而来的;

Blocks = (相应分区End数值 - 相应分区Start数值)x 单位cylinder(磁柱)的容量

所以我们算一下 hda1的 Blocks 的大小 :

hda1 Blocks=(1275-1)*8225.280k

注:换算单位以硬盘厂家提供的10进位算起,如果以操作系统二进制来算,这个分区容量应该更少一些,得出的这个值和我们通过 fdisk -l 看到的/dev/hda1的值是大体相当的,因为换算方法不一样,所以也不可能尽可能的精确;再加上分区时的一点损失之类,有时或大或小是存在的;

我们查看分区大小或者文件的时候,还是用十进制来计算比较直观;推算办法是 byte 向前推小数点三位就是K ,K单位的值向前推小数点三位就是M,M向前推小数点三位就是G... ... 一般也差不了多少;这么算就行;

3、fdisk操作硬盘
当我们通过 "fdisk 设备",进入相应设备的操作时,会发现有如下的提示;以 fdisk /dev/hda 设备为例
[root@eadd-lyb lyb]# /sbin/fdisk /dev/hda

The number of cylinders for this disk is set to 7296.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

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 注:l是列出分区类型,以供我们设置相应分区的类型;
   m print this menu 注:m 是列出帮助信息;
   n add a new partition 注:添加一个分区;
   o create a new empty DOS partition table
   p print the partition table 注:p列出分区表;
   q quit without saving changes 注:不保存退出;
   s create a new empty Sun disklabel
   t change a partition's system id 注:t 改变分区类型;
   u change display/entry units
   v verify the partition table
   w write table to disk and exit 注:把分区表写入硬盘并退出;
   x extra functionality (experts only) 注:扩展应用,专家功能;

其实我们常用的只有注有中文的,其它的功能我们不常用(呵,主要是我不会用,否则早会卖弄一下了);x扩展功能,也不是常用的;一般的情况下只要懂得 d l m p q t w 就行了;

4、对分区进行格式化及加载
先提示一下;用 mkfs.bfs mkfs.ext2 mkfs.jfs mkfs.msdos mkfs.vfatmkfs.cramfsmkfs.ext3 mkfs.minix mkfs.reiserfs mkfs.xfs 等命令来格式化分区,比如我想格式化sda6为ext3文件系统,则输入:
mkfs.ext3 /dev/sda6
加载用mount命令(请参照我的相关文章)