分类:
2008-09-18 11:42:40
在使用了一段时间的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 |
[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。