起因:由于局域网一台软件测试服务器是以前公司的新手安装的,分区存在一些问题,为了使用更稳定,分区更合理,最大的利用磁盘空间,所以决定对硬盘分区动手术。
手术包括的分区有,/分区,/boot分区,/home分区。
由于要动/分区和/boot分区,所以难度还是挺大的,一不注意细节,就会导致系统启动不了,更严重者就是系统崩溃和数据丢失。
下面是我这次操作的一些流程和注意事项,记之,给大家和我以后作为参考之用。
原始分区情况如下:
-bash-3.2# fdisk -l
Disk /dev/hda: 81.9 GB, 81964302336 bytes
255 heads, 63 sectors/track, 9964 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
255 heads, 63 sectors/track, 9964 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 25 200781 83 Linux
/dev/hda2 26 662 5116702+ 83 Linux
/dev/hda3 663 923 2096482+ 82 Linux swap / Solaris
/dev/hda4 924 9964 72621832+ 5 Extended
/dev/hda5 924 1305 3068383+ 83 Linux
/dev/hda6 1306 4953 29302528+ 83 Linux
/dev/hda1 * 1 25 200781 83 Linux
/dev/hda2 26 662 5116702+ 83 Linux
/dev/hda3 663 923 2096482+ 82 Linux swap / Solaris
/dev/hda4 924 9964 72621832+ 5 Extended
/dev/hda5 924 1305 3068383+ 83 Linux
/dev/hda6 1306 4953 29302528+ 83 Linux
-bash-3.2# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda5 2.9G 2.3G 467M 84% /
/dev/hda6 28G 1.6G 25G 6% /home
tmpfs 474M 0 474M 0% /dev/shm
Filesystem Size Used Avail Use% Mounted on
/dev/hda5 2.9G 2.3G 467M 84% /
/dev/hda6 28G 1.6G 25G 6% /home
tmpfs 474M 0 474M 0% /dev/shm
由于局域网测试机器,我也没有经常管理,也不知道什么时候分区编程了这样,反正看着很蛋疼。
下面是操作完成以后的分区情况:
-bash-3.2# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda2 4.8G 2.5G 2.1G 55% /
/dev/hda1 190M 12M 170M 7% /boot
/dev/hda5 69G 677M 65G 2% /home
tmpfs 474M 0 474M 0% /dev/shm
Filesystem Size Used Avail Use% Mounted on
/dev/hda2 4.8G 2.5G 2.1G 55% /
/dev/hda1 190M 12M 170M 7% /boot
/dev/hda5 69G 677M 65G 2% /home
tmpfs 474M 0 474M 0% /dev/shm
其中调整了/boot分区,从/dev/hd5/boot调整到了单独的/dev/hd1
/分区从/dev/hd5调整到了/dev/hda2
/dev/hda3是swap分区,不变
删除了以前的扩展分区,从新把扩展分区划分到一个分区.
操作步骤:
1、挂载/dev/hda1和/dev/hda2挂载到/mnt下面的hda1和hda2目录,检查里面有没有重要的数据,有的话就需要自己备份,并且清空里面的数据,至少不要和拷贝进来的目录及文件重名。
2、拷贝当前/boot里面的所有文件和目录到/hda1
3、拷贝当前/里面的除了boot,misc,home,mnt,proc,sys,tmp外的所有目录到hda2
4、在hda2中创建上面没有拷贝的目录
5、修改hda1中grou.conf的root位置,红色为重点
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-164.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/hda2 rhgb quiet
initrd /initrd-2.6.18-164.el5.img
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-164.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/hda2 rhgb quiet
initrd /initrd-2.6.18-164.el5.img
6、修改hda2中/etc/fstab里面的内容为新的分区情况
/dev/hda1 /boot ext3 defaults 1 1
/dev/hda2 / ext3 defaults 1 1
/dev/hda5 /home 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-hda3 swap swap defaults 0 0
/dev/hda2 / ext3 defaults 1 1
/dev/hda5 /home 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-hda3 swap swap defaults 0 0
7、重点:挂载hda1到当前的/boot目录,然后通过grub-install /dev/hda 从新安装grub,需要从装grub的原因我在我的http://linuxguest.blog.51cto.com/195664/119309 文章最后已经写过,大家可以参考这篇文章。
8、如果上面细节都没有问题,那么可以重新启动系统,进入系统以后,检查是否使用新的分区启动的,如果没有请检查,如果有,你可以准备 备份,删除,重建扩展分区了
本文转自 fenghao.cn 51CTO博客,原文链接:http://blog.51cto.com/linuxguest/523621,如需转载请自行联系原作者