引用 | 編輯
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 |