这也是 doooom 的一篇文章,发表在 linuxsir 的 LFS 版,那里还有一些相关的讨论。如果你曾经被 Partion Magic 搞坏了分区表(像我一样:-( ),那么 parted 可能是你更好的选择。
parted支持的文件系统:
File system detect create resize copy check ext2------------*--------*-------*1------*2----*3 ext3------------*--------*1--------------*2----*3 fat16-----------*--------*-------*4------*5----* fat32-----------*--------*-------*-------*-----* linux-swap------*--------*-------*-------*-----* HF--------------* JFS-------------* NTFS------------* ReiserFS--------*--------*6------*1, 6---*6---*6 UFS-------------* XFS-------------* |
1. 对于ext2和ext3和reserfs分区的开始处是固定的
2. 对于ext2和ext3目标分区必需大于等于源分区
3. ext2和ext3 监查功能仅限于查看resize和copy是否成功
4. 对于fat, 在resize或者copy之后的心分区的大小被簇的大小限制, parted可以缩小簇的大小, 所以你可以缩小你的分区. 但是不能增大他.
5. parted支持fat16和fat32, 并且可以将其互相转化
6. 必需安装libreiserfs库才可以支持reiserfs, http://reiserfs.osdn.org.ua (好像很快也能从这里下载:http://www.namesys.com/)
parted可以从 http://ftp.gnu.org/gnu/parted/ 下载到
现在来看一个简单例子,首先用df查看分区的情况
linux:~# df Filesystem 1k-blocks Used Available Use% Mounted on /dev/hda3 4003048 1684332 2318716 42% / /dev/hda1 21927 2672 18123 13% /boot usbdevfs 21927 21927 0 100% /proc/bus/usb |
现在要吧hda3变小来给hda4腾出更多的空间。起动parted:
parted [设备名] |
设备名是你想操作的磁盘, 在这里是/dev/hda
查看分区情况:
print Disk geometry for /dev/hda: 0.000-4126.992 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 22.148 primary ext2 boot 2 22.148 155.039 primary linux-swap 3 155.039 4126.992 primary ext2 |
然后输入命令:
resize [分区号] [起始] [终止] |
在这个例子里是
resize 3 155.039 3499.453 |
现在用多出来的地方建一个新主(primary)分区.命令:
mkpartfs [类型] [文件系统] [开始] [结束] |
这里是
mkpartfs primary ext2 3499.453 4126.992 |
输入quit推出, 重起. 然后那就可以mount了。