在使用了一段时间的Fedora 7之后,已经深深的喜欢上了Linux及其文化,但日渐新增的软件及更新系统很容易造成根分区容量紧张,如何才能安全而又简单的扩展自己的根分区呢?
通常采用的另外挂载一个ext3分区到linux,然后再将/home或者/usr复制到到新分区,再修改fstab可以解决问题,但这种方法很麻烦,也不是最好的办法,因为它并没有从根本上扩展根分区的容量,而且如果在双系统情况下,如果将linux装在了物理磁盘的最后,且在linux系统之前重新用比如PQ之类的软件在windows的磁盘中分出一个分区,格式化之后将会导致grub标识的分区符号与实际更改后的不一致,导致无法启动grub,这时还需要修改grub的menu.lst菜单。
用linux下的gparted是一个简单直观的图形化操作软件,但是不能更改根分区容量,因为这个软件在更改分区前一般都需要umount,而将“ /”umount是难以想象的。
用LVM更改可能是可以的,但操作比较复杂也比较抽象。
有人说可以在windows下用PQ来调整,但PQ并不支持ext3分区格式。
终于发现了一个可以在windows系统下就可以完全实现扩展linux根分区的办法,甚至不用对fstab和grub的menu进行任何修改:
先写出在未增加根分区容量前我的磁盘使用情况:
[root@localhost /]# sbin/fdisk -l
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 1958 15727603+ 7 HPFS/NTFS
/dev/sda2 1959 19456 140552685 f W95 Ext'd (LBA)
/dev/sda5 1959 3916 15727603+ 7 HPFS/NTFS
/dev/sda6 3917 6527 20972826 7 HPFS/NTFS
/dev/sda7 6528 11749 41945683+ 7 HPFS/NTFS
/dev/sda8 11750 16318 36700461 7 HPFS/NTFS
/dev/sda9 17624 19195 12627058+ 83 Linux
/dev/sda10 19196 19456 2096451 82 Linux swap / Solaris
直观的描述:
/dev/sda1 15 G ntfs C xp系统
/dev/sda5 15G ntfs D
/dev/sda6 20G ntfs E
/dev/sda7 40G ntfs F
/dev/sda8 35G ntfs G
/dev/unuse (未占用的有10个G在这,可以通过软件在不完全删除此G盘的情况下动态的从G盘中分割出来)
/dev/sda9 12G ext3 / linux系统
/dev/sda10 2G swap
1、下载软件:Acronis Disk Director Suite v10.0.2160
软件下载地址: http://fixdown.com/china/System/download_3619.htm
注册机下载地址:http://www.enfull.com/english/Sy ... 09E7E91920D7%7D.htm
2、双击安转软件,安装过程中需要输入注册码,打开注册机,选择对应安装版本,产生注册码,复制到安装窗口,继续完成安装。重新启动系统后,打开软件。
3、按分区情况,可以从G盘中分出一些空间来加入到下面紧挨着的“/”分区,前提是G盘下有你需要的未使用的空间。而对于我的实际情况是在此之前已经使用PQ从我的(G:)盘中分割出10G的未格式化空间。
4、当然完全可以使用Acronis实现动态调整磁盘分区代替PQ软件,选中NTFS(G:)后,点击左侧spilt,按照提示就可以分出一些空间来。
5、分出来以后可以格式化为ext3格式,以用于Linux系统。
注意:不能在格式化出分区后重启系统,因为此时实际的分区已经被更改,grub将不能引导启动。如打算放弃操作,应先将刚分好的分区设置为未占用,在Acronis中显示为Unallocated。
6、选择格式化好的ext3分区,点击左侧的Merge合并选项,按照向导操作可选择将这个ext3分区合并到“/”分区,这个被合并的分区在物理磁盘上应该与原根分区相邻。执行之后,耐心等待几分钟,根分区扩容成功!
7、可用Acronis查看扩容后的分区情况,也可用XP系统自带的磁盘管理查看,根分区的空间已经增加了吧!
8、在保证只进行了分区容量的伸缩但并没有增加或者减少分区的前提下重启系统。应该可以顺利进入grub,并可以启动linux。
9、进入系统后,使用sbin/fdisk -l命令再次查看分区情况,看“/”是否增加了容量,当然查看的结果必然是已经增加了,根分区扩容完成!查看分区结果如下:
[root@localhost /]# sbin/fdisk -l
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 1958 15727603+ 7 HPFS/NTFS
/dev/sda2 1959 19456 140552685 f W95 Ext'd (LBA)
/dev/sda5 1959 3916 15727603+ 7 HPFS/NTFS
/dev/sda6 3917 6527 20972826 7 HPFS/NTFS
/dev/sda7 6528 11749 41945683+ 7 HPFS/NTFS
/dev/sda8 11750 16318 36700461 7 HPFS/NTFS
/dev/sda9 16319 19195 23109470+ 83 Linux
/dev/sda10 19196 19456 2096451 82 Linux swap / Solaris
fstab不用作任何改动:
LABEL=/ / ext3 defaults 1 1
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda10 swap swap defaults 0 0
/dev/sda5 /mnt/windows_d ntfs umask=000,nls=utf8
/dev/sda8 /mnt/windows_g ntfs umask=000,nls=utf8
/dev/sda6 /mnt/windows_e ntfs umask=000,nls=utf8
/dev/sda7 /mnt/windows_f ntfs umask=000,nls=utf8
grub的menu.lst也不用进行任何修改:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,8)
# kernel /boot/vmlinuz-version ro root=/dev/sda9
# initrd /boot/initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,8)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.1-10.fc7)
root (hd0,8)
kernel /boot/vmlinuz-2.6.23.1-10.fc7 ro root=LABEL=/ acpi=off noapic rhgb quiet
initrd /boot/initrd-2.6.23.1-10.fc7.img
title Windows XP
rootnoverify (hd0,0)
chainloader +1
注意:如操作失败,如法进入grub,请使用windows98启动盘,在DOS提示符下格式化MBR,重启后即可进入XP。