熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Linux下如何刪除Windows分區

2013-11-13 15:54:25  來源: Oracle 

  作者 Olivier Chapuis
  
  前言:
  
  我在這篇文章裡要講解的是如何從 Linux 和 Windows 共存的機器中移除 Windows 系統而且把空出來的空間留給 Linux 用這篇文章的主要對象是給 Linux 的新手 (也包括我自己)
  
  
  
  簡介
  安裝完 Linux 兩個月後的某一天我突然想把 Windows 刪掉原因是我根本不想再用 Windows 了! 我想許多的初學者可能也遇到和我同樣的情況所以我寫了這篇文章來幫助他們 (進階者也可以讀讀給我一些建議)這種情況有兩種解決辦法:
  
  第一種是從新安裝 Linux這樣的好處是即使你對 Linux 知道的不多也可以在安裝時做出很好的選擇尤其在處理磁碟分割 (Disk Partitioning) 的時侯但缺點是你會丟掉硬碟上所有的東西雖然你也可以把必要的檔案先備份起來但是還原的工作會花上很多的時間和心血
  
  第二種方法是直接移除 Windows (很簡單)然後再把空出來的空間挪給 Linux 用也就是說「重新分割」(Repartition)這道手續有點困難相關文件也不多但好處是你的系統會和從前的一模一樣只是多了很多空間而且如果你沒有成功你還是可以用第一種方法再試以下我介紹我用的方法但細節可能會和你的系統有一些出入還有一點如果你有一張空磁碟你可以先把重要的檔案備份到這張磁碟上再重新安裝我想這是一種較安全的方法且結果也比較理想我是把檔案備份到一張 Mb 的磁片上不管如何希望以下的方法對初學者能有所幫助
  
  我要感謝 Olivier Tharan 在 lmoderated 上的回信那封信算是本文的第負一還有 Finn bo Jorgensen 和 Chomouel boudjnah 他們的回信
  
  主要步驟
   准備工作: 備份且記下重要的檔案讀完整篇文章再繼續(請參照第三節)
  
   移除 Windows (請參照第四節)
  
   重新分割較難的步驟(請參照第五節)
  
  准備工作
  首先備份所有重要的檔案尤其是設定檔和你的文件檔案以下我不再重覆
  
  最重要的一步是了解你到底要怎麽做本文對使用到的指令和檔案只作一些解說最好是用 man 讀一讀這些指令的說明: fdisk mkext cp (蠻實用的指令) lilo nf 和 fstab (此外還有一些設定檔的 man 說明) Lilo 有些很詳盡的說明放在 /usr/doc/lilo/doc 下(因系統而異)而且還有一篇長達 頁的使用說明書有關 fdisk 的完整說明則是放在 /usr/doc/utillinux/READMEfdisk寫這篇文章的時侯我還發現了一篇很有用的 miniHOWTO: 硬碟升級 Mini HowTo (Hard Disk Upgrade Mini HowTo)
  
  第一步底下是我的磁碟分割表 (Partition Table):
  
   [olivier@snoopy olivier]# /sbin/fdisk l (用超級使用者 su 的身份)
  
   Disk /dev/hda: heads sectors cylinders
   Units = cylinders of * bytes
  
   Device Boot Begin Start End Blocks Id System
   /dev/hda * + c Unknown
   /dev/hda Linux native
   /dev/hda Linux swap
   /dev/hda Linux native
  
  我們可以看到 Windows 位在 hdafdisk 通常都會把 FAT 的分割區看成 <> (未知)我的 Linux 核心 (Kernel 版) 知道怎麽存取 FAT但 fdisk 卻不知道底下是 df 指令的輸出可以發現 /dev/hda 的確可以被 Linux 使用
  
   [olivier@snoopy olivier]# df
  
   Filesystem blocks Used Available Capacity Mounted on
   /dev/hda % /
   /dev/hda % /home
   /dev/hda % /mnt/dos
  
  
  
  
  你得修改兩個設定檔 /etc/fstab 和 /etc/nf 它們看起來有點像底下的輸出
  
   [olivier@snoopy olivier] less /etc/fstab
  
   /dev/hda / ext defaults
   /dev/hda /home ext defaults
   /dev/hda swap swap defaults
   /dev/fd /mnt/floppy ext usernoauto
   /dev/cdrom /mnt/cdrom iso usernoautoro
   none proc proc defaults
   /dev/hda /mnt/dos msdos usernoauto
  
  
   [olivier@snoopy olivier] less /etc/nf
  
   boot=/dev/hda
   map=/boot/map
   install=/boot/bootb
   prompt
   timeout=
   image=/boot/vmlinuz
   label=linux
   root=/dev/hda
   readonly
   other=/dev/hda
   label=dos
   table=/dev/hda
  
  重新建立 Windows 的硬碟分割區
  從現在起你一定得用 root 的身份操作我尤其建議你用 root 登入(別用 su)如果你用的是 vi 編輯器你可能要下 w! 指令才能存檔建議你在每回存檔完後檢查是否修改過的檔案真的被存起來了 (離開編輯器用 less 指令來查看)
  
  你現在要用 fdisk 和 mkefs 兩個指令這些可以在硬碟或是其它儲存媒體上用在使用前最好是不要連接 (mount) 要修改的那一個分割區請看底下的三個步驟:
  
   如果你要的分割區已經被連接上了用 umount 指令來分離如: umount /mnt/dos
  
   啟動 fdisk更換 hda 的分割區類別 (System Id)我們現在告訴 fdisk 這個分割區要改成為 Linux 自有的分割區 (Linux Native Partition)用 t 指令 (t )來修改再用 p 指令來查看唯一不同的地方是 Unkown 現在變成了 linux native 還有 System Id 現在變成了 最後用 w 指令儲存和離開用 fdisk l 指令再看一次離開時我遇到以下的錯誤訊息:
  
   The partition table has been altered!
   Calling ioctl() to reread partition table
   Syncing disks
   Reread table failed with error : Device or resource busy
   Reboot your system to ensure the partition table is updated
  
  但我不理會它所以沒有重新開機
  
   格式化 (Format): mkefs /dev/hda你會先看見很多數字在跳動然後就再也見不到 Windows 了! 你也可以在 mkefs 後加上 c 的參數這樣可以順便檢查硬碟有沒有損壞的地方
  
  好啦! Windows 沒啦! 其實我並不是很排斥 Win (但討厭 Microsoft)只是很喜歡 Linux
  
  
  使用新的分割區
  好了現在我有一個 Gb 的空白分割區我打算把 Mb 拿來做 /home Mb 做 / 和 Mb 做交換區 (Swap partition)我把 /home/myaccount 裡 Mb 的資料移到 /usr/local 把 /usr/local 留在 hda 上再把 / 移到 hda 上:
  
   Filesystem blocks Used Available Capacity Mounted on
   /dev/hda % /
   /dev/hda % /usr/local
   /dev/hda % /home
  
  足夠我用好幾年了
  
  照我上面的計劃我得先把 hda 連接起來才行一般就連接到 /mnt 即可
  
   在 /mnt 底下再建一個 tmp 的次目錄 (subdirectory) 來連接 hda: mkdir/mnt/tmp
  
   連接 hda 到 /mnt/tmp : mount t ext /dev/hda /mnt/tmp (t ext 指定檔案系統的種類)
  
   復制 / 到 /mnt/tmp/ 但保留目錄結構: cp ax / /mnt/tmp/a 參數在 man 說明裡解釋為: <> 請自行參考 cp 的 man 說明x 參數指定不要把和現在所在位置不同的分割區也包括進來以我為例這樣就不會把 /home 一起復制了整個復制過程在我的 AMD K 上花了 分鐘所以你可以先去喝杯咖啡或威士忌再回來
  
   但這樣做還是有一些地方不完整因為 x 參數的關系有兩個目錄沒有被復制進來 /home 和 /proc所以現在我們要在新的分割區上建立這兩個目錄: mkdir /mnt/tmp/home 然後 mkdir /mnt/tmp/proc 這兩個目錄一定不可漏掉這樣 /home (在 hda 上) 和 /proc 以後才可以被連接上
  
  現在更復雜的是我們得修改 fstab 和 nf 檔案重新開機後 Lilo 和 Linux 本身才知道 / 在哪裡注意我們必須修改 /mnt/tmp/etc/ 下的 fstab 而不是 /etc 下的因為新的系統在 /mnt/tmp
From:http://tw.wingwit.com/Article/program/Oracle/201311/17495.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.