Linux 管理磁盘


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

作者:马路遥 本文选自:开放系统世界——赛迪网 2002年10月14日

任何电脑操作系统都有自己的磁盘管理工具,不论是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非常重要。磁盘管理最好的学习方法就是多学多练,请谨记在进行大胆的尝试之前,务必先小心地进行备份。磁盘管理的误操作经常会造成致命的损害。

Comments are closed.