引用 | 编辑
love104
2005-08-02 10:06 |
楼主
▼ |
||
x0
原文来源:http://www.twoceanview.idv.tw/modules/newbb/viewtopic.php?topic_id=66&forum=10&0 作者:eden linux 下 partition 重新分割,系统转换至另外一颗硬碟以解决空间不足的问题: 一、源起: 一开始玩linux时,并未预留很大的空间给linux,而且笔者采用的是多重开机,将 XP与linux 装在同一颗硬碟上,随着linux的深入了解,渐渐觉得当初 partition 的划分并不恰当(太小了),于是就起了重新画分partition与转移系统的想法 二、简述: 1.原本的硬碟(hda),分为 1.hda1:Xp 约六GB 2.hda2:/boot 53MB 3.hda3:延伸磁区(约3.5GB给linux用) 4.hda4:FAT32 约18G 5.hda5:逻辑磁区: swap 256MB 6.hda6:逻辑磁区: / 约 3GB 7.hda7:逻辑磁区: /backup 约235MB 2.另外有一颗硬碟(hdc),分为 1.hdc1:FAT32 约5GB 存放一些备份资料 2.hdc2:FAT32 约33GB 平时存放一些备份资料 意欲将第一颗硬碟(hda)延伸磁区内的linux系统(包含/,swap及/backup)的资料转移到 hdc1 然后hda5,hda6,hda7部分的partition就可清空,若hda4再配合作资料整理后清空,则可将 hda4~hda7,重新规画。 目前先将 /hda4,hda5,hda7 三个partition的资料,先转移至 /hdc1 三、实作记录: 1.备份整理hac1的资料空出hdc1 2.预作开机磁片,以免万一出状况,可从软碟机开机(可参考linux心得:如何制作开机片) fdformat /dev/fd0H1440 mkbootdisk 2.4.18-19.8.0 3.分割partition fdisk /dev/hdc 将第二颗硬碟重新分割如下 Device Boot Start End Blocks Id System /dev/hdc1 1 33 265072 82 Linux swap --->swap 256MB /dev/hdc2 766 4865 32933250 c Win95 FAT32 (LBA)--->原本备分资料的磁区(33GB) /dev/hdc3 34 765 5879790 5 Extended --->延伸磁区 /dev/hdc5 34 110 618502 83 Linux --->逻辑磁区 (预计放/backup) 600MB /dev/hdc6 111 765 5261287 83 Linux --->逻辑磁区 (预计放/) 3GB fdisk的用法在此不详述:可参考netman 及 鸟哥的文章 m:显示help p:显示partition d:删除partition n:加入新的partition w:存档 新增一个partition时,预设都是linux native的,新增完后, 如要改成其他格式,如swap 时,要输入t,再输入linux swap的编号 82 4.格式化新的partition mke2fs -j /dev/hdc5(格式化为ext3) mke2fs -j /dev/hdc6(格式化为ext3) mkswap /dev/hdc1(格式化为 swap) 5.进入单人模式 init 1 6.mount 新的partition cd /mnt mkdir hdc5 mkdir hdc6 mount /dev/hdc5 /mnt/hdc5 (-t ext3可省略) mount /dev/hdc6 /mnt/hdc6 cp -Rp /backup/* /mnt/hdc5 cp -ax / /mnt/hdc6 -a:相当于 -dpR 保留原有的结构 -x:指定不要把和现在所在位置不同分割区也包括进来。(于此是不包含 /backup) 修改 /mnt/hdc6/etc/fstab (未来的/etc/fstab)为 /dev/hdc6 / ext3 defaults 1 /dev/hdc5 /backup ext3 defaults 1 2 LABEL=/boot /boot ext3 defaults 1 2 none /dev/pts devpts gid=5,mode=620 0 0 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0 /dev/hdc1 swap swap defaults 0 0 /dev/cdrom /mnt/cdrom iso9660 iocharset=cp950,noauto,owner,kudzu,ro 0 0 /dev/cdrom1 /mnt/cdrom1 iso9660 iocharset=cp950,noauto,owner,kudzu,ro 0 0 /dev/fd0 /mnt/floppy auto iocharset=cp950,noauto,owner,kudzu 0 0 /dev/hdc2 /mnt/hdc2 vfat iocharset=cp950,user,noauto,umask=0 0 0 修改 /boot/grub/menu.lst kernel /vmlinuz-2.4.18-19.8.0 ro root=LABEL=/ hdd=ide-scsi 改成下面这样---> kernel /vmlinuz-2.4.18-19.8.0 ro root=/dev/hdc6 hdd=ide-scsi 重新开机 init 6 可用 mount检查系统是否转移成功 swapon -s 检查swap是否使用hdc1 [eden@justdoit www]$ swapon -s Filename Type Size Used Priority /dev/hdc1 partition 265064 22832 -1 本文参考下列文章: 1.http://www.siliconvalleyccie.com/disk-space.htm 2.http://www.linuxfocus.org/ChineseBig5/July1999/article101.html 3.http://zope.slat.org/Members/Keanu/docs/grub/view 后记: 成功的将第一颗硬碟的资料转移到第二颗之后,直接将第一颗空出来的partition删除(原本的hda4里的资料也整理好), 所以我便将第一颗硬碟重新分割,仅保留hda1(Xp)及hda2(/boot) 目前我的硬碟配置如下: Device Boot Start End Blocks Id System /dev/hda1 * 1 765 6144831 7 HPFS/NTFS -----> Xp 约6GB /dev/hda2 766 772 56227+ 83 Linux -----> /boot 约50MB /dev/hda3 773 1282 4096575 c Win95 FAT32 (LBA)->FAT32 4GB /dev/hda4 1283 3720 19583235 5 Extended -----> 延伸磁区 /dev/hda5 1283 1792 4096543+ 83 Linux -----> / 约4GB /dev/hda6 1793 1825 265041 82 Linux swap -----> swap 256MB /dev/hda7 1826 2463 5124703+ 83 Linux -----> /home 约5GB /dev/hda8 2464 3228 6144831 83 Linux -----> /usr 约6GB /dev/hda9 3229 3720 3951958+ 83 Linux -----> /backup 约4GB 转移的步骤,差不多如第一次转移至第二颗硬碟的步骤 唯在单人模式下的复制的指令要如下 cp -Rp /usr/* /mnt/hda8 不要使用 cp -a /usr /mnt/hda8 上述两个参数,差在下面 -a 会连usr的目录也建好,放在/mnt/hda8/下 而 -Rp 则不会在/mnt/hda8下建一个 usr的目录(这才是我们所要的) 笔者就是因为复制时,使用下面的参数,造成 mount 不到 /usr目录 (因为多一层) 这是目前硬碟的使用率 档案系统 1K-区段 已用 可用 已用% 挂载点 /dev/hda5 4032092 270588 3556680 8% / /dev/hda7 5044156 221752 4566172 5% /home /dev/hda8 6048320 1864120 3876960 33% /usr /dev/hda9 3889892 223532 3468764 7% /backup /dev/hda2 54447 14206 37430 28% /boot none 127704 0 127704 0% /dev/shm x0
|
引用 | 编辑
mnbmnb5266
2010-08-26 23:28 |
3楼
▲ |
这个问题我倒是还没有出现过,因为我在安装前都是先将磁碟机清理一下的
x0 |