在Linux下管理磁盘





  任何电脑操作系统都有自己的磁盘治理工具,不论是DOS、Windows,还是linux、FreeBSD及Solaris。没有磁盘治理工具,操作系统就不能安装和工作。假如要能从裸机上安装操作系统,则安装程序本身就要拥有磁盘分区和格式化磁盘的功能。本文专门介绍Linux下的磁盘治理工具。

  唯我独尊的fdisk

  与DOS和Windows相同,Linux下的分区命令也是fdisk。它是完全字符界面的工具,好多初学者对其望而生畏。其实不然,fdisk 有具体的提示信息,非常简单易用,而且功能远比DOS和Windows 的fdisk强大。

  fdisk -l 命令显示已经存在的分区。

  对/dev/hda 进行分区的命令是:

  fdisk /dev/hda

  这时就进入了交互界面。

  m 显示fdisk提示,这个是最常见的。

  p 显示目前的分区情况。

  n 新增分区。

  d 删除分区。

  t 改变分区格式。

  l 支持分区列表。它可以支持的分区有DOS/FAT16/FAT32/OS2等等。

  q 退出,没有保存这次修改。假如你只是想熟悉一下fdisk 的使用方法,最后就要用q退出

  w 把分区修改写入磁盘。

  伸缩自如的parted

  用过PQ-Magic 工具调整分区大小的人可能不少,但知道Linux也可以调整分区的人恐怕就不多了。Linux有个parted 工具可以调整分区,但它的使用有些限制。假如想增大一个分区,那么该分区后边必须有未使用的空间,而且这个分区没有mount。

  使用fdisk-l命令,则显示:

  Disk /dev/hda: 255 heads, 63 sectors, 2498 cylinders

  Units = cylinders of 16065 * 512 bytes

  Device Boot Start End Blocks Id System

  /dev/hda1 * 1 6 48163+ 83 Linux

  ……………….

  /dev/hda3 644 1159 4144770 83 Linux

  ……………….

  含义是分区3从柱面644开始,至1159结束,大小是4144770K。

  这时假如想加大分区3,则使用下面的命令:

  parted /dev/hda resize 3 644 1300

  意思是把分区3调整为从柱面644至柱面1300结束。

  重新启动机器,分区的改变就生效了。

  e2label的妙用

  许多用了多年Linux的人可能也没有用过e2label命令。但是这个命令相当有效。在介绍它之前,我们先看看 /etc/fstab 文件:

  label=//ext3 defaults 1 1

  /dev/hda7 /usr ext3 defaults 1 1

  第二行的意思很轻易懂,就是把/dev/hda7 mount到/usr 上。第一行没有指明分区,意思是把label(卷标)为/ 的分区mount到/上。这样写的好处在于即使假如把硬盘从主板上的ide0(hda) 换到ide2(hdc)上,系统仍然可以自动挂载正确的分区。通常Linux安装的时候已经自动指定了卷标。假如是手动增加的新分区,可以用下边的命令为其指定卷标:

  e2label /dev/hdax /new

  mkdir /new

  然后在/etc/fstab 里加入:

  label=/new /new ext3 defaults 1 1

  下次重新起动机器的时候,就会把卷标为/new 的分区挂接到/new上。

  tune2fs狸猫换太子

  Red Hat 7.x可以采用ext3文件系统。本文无意具体比较ext2和ext3的优缺点,简单地说ext3比ext2好。假如要把以前的ext2文件系统转化为ext3文件系统,就可以用命令

  tune2fs -j -e 0 -i 0 /dev/hdax

  秩序的世界mkfs

  mkfs相当于DOS/Windows中的格式化命令。不同的是Linux可以支持ext2/dos/vfat/等分区的格式化工作,不像Windows通常只能格式化 DOS/FAT32/FAT16/NTFS分区。

  举例说明:

  mkdosfs一看就知道是DOS格式的;

  mke2fs格式化ext2文件系统;

  mkfs.bfs格式化SCO Unix 文件系统;

  mkfs.ext2也是格式化ext2用的;

  mkfs.ext3格式化ext3文件系统;

  mkfs.minix格式化minix文件系统的.minux ,它是个教学用的Unix;

  mkfs.msdos一看就知道是DOS格式的;

  mkfs.reiserfs文件系统.reiserfs是Linux玩家一个替代ext2/ext3的选择,但它被认为还不够稳定;

  mkreiserfs和mkfs.reiserfs相同;

  mkfs.vfat格式化fat分区;

  mkswap格式化Linux 的交换分区。

  e2fsck拯救磁盘

  有时候因为忽然断电或者其他原因导致磁盘错误,就需要用到磁盘修复工具e2fsck了。命令如下:

  e2fsck /dev/hdax -a

  注重:一般情况下,可以用e2fsck -p /dev/hdax 方法自动修复损坏了的分区,但e2fsck不能修复已经mount的硬盘。

  总体而言,Linux 上进行系统治理不但不比DOS/Windows 9x Fdisk/Format工具复杂,而且比DOS/Windows 9x上的功能更加强大。

  然而,相对于windows 2000的图形化磁盘治理工具,Linux的分区治理工具就不够简单易用。但是,Windows 2000没有创建和识别FAT和NTFS以外的分区能力。

  Linux几乎对所有操作系统的分区都能支持,唯一遗憾的是它对NTFS分区的治理能力不足。假如你的电脑上除了Windows系统之外,还存在Linux/FreeBSD/Solaris x86等其它操作系统的话,就不得不放弃Windows 2000的治理工具,而采用Unix/Linux的磁盘治理工具。

  能够熟练地进行磁盘治理对用好Linux非常重要。磁盘治理最好的学习方法就是多学多练,请谨记在进行大胆的尝试之前,务必先小心地进行备份。磁盘治理的误操作经常会造成致命的损害。