国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

Linux下如何刪除Windows分區(qū)

2024-07-26 00:31:05
字體:
供稿:網(wǎng)友
前言: 

我在這篇文章里要講解的是如何從 linux 和 Windows 共存的機器中移除 Windows 系統(tǒng),而且把空出來的空間留給 Linux 用。這篇文章的主要對象是給 Linux 的新手 (也包括我自己)。 


--------------------------------------------------------------------------------

  
簡介
安裝完 Linux 兩個月後的某一天,我突然想把 Windows 刪掉。原因是我根本不想再用 Windows 了! 我想許多的初學者可能也遇到和我同樣的情況,所以我寫了這篇文章來幫助他們 (進階者也可以讀讀,給我一些建議)。這種情況有兩種解決辦法:

第一種是從新安裝 Linux。這樣的好處是即使你對 Linux 知道的不多,也可以在安裝時做出很好的選擇,尤其在處理磁碟分割 (Disk Partitioning) 的時侯。但缺點是你會丟掉硬碟上所有的東西。雖然你也可以把必要的檔案先備份起來,但是還原的工作會花上很多的時間和心血。 

第二種方法是直接移除 Windows (很簡單),然後再把空出來的空間挪給 Linux 用。也就是說,「重新分割」(Repartition),這道手續(xù)有點困難,相關(guān)文件也不多。但好處是你的系統(tǒng)會和從前的一模一樣,只是多了很多空間。而且如果你沒有成功,你還是可以用第一種方法再試。以下我介紹我用的方法,但細節(jié)可能會和你的系統(tǒng)有一些出入。還有一點,如果你有一張空磁碟,你可以先把重要的檔案備份到這張磁碟上,再重新安裝。我想這是一種較安全的方法,且結(jié)果也比較理想。我是把檔案備份到一張 1.44 Mb 的磁片上。不管如何希望以下的方法對初學者能有所幫助。

我要感謝 Olivier Tharan 在 fr.col.moderated 上的回信,那封信算是本文的第"負一"版。還有 Finn bo Jorgensen 和 Chomouel boudjnah 他們的回信。

  
主要步驟
- 準備工作: 備份且記下重要的檔案。讀完整篇文章再繼續(xù)。(請參照第三節(jié))

- 移除 Windows 。(請參照第四節(jié))

- 重新分割,較難的步驟。(請參照第五節(jié))

  
準備工作
首先,備份所有重要的檔案。尤其是設(shè)定檔和你的文件檔案。以下我不再重覆。

最重要的一步是了解你到底要怎麼做。本文對使用到的指令和檔案只作一些解說。最好是用 man 讀一讀這些指令的說明: fdisk, mk2ext, cp (蠻實用的指令), lilo, lilo.conf 和 fstab (此外還有一些設(shè)定檔的 man 說明)。 Lilo 有些很詳盡的說明放在 /usr/doc/lilo-0.20/doc 下(因系統(tǒng)而異),而且還有一篇長達 46 頁的使用說明書。有關(guān) fdisk 的完整說明則是放在 /usr/doc/util-linux-2.7/README.fdisk。寫這篇文章的時侯我還發(fā)現(xiàn)了一篇很有用的 mini-HOWTO: 硬碟升級 Mini How-To (Hard Disk Upgrade Mini How-To)。

第一步,底下是我的磁碟分割表 (Partition Table):

   [olivier@snoopy  olivier]# /sbin/fdisk -l         (用超級使用者 su 的身份)

   Disk /dev/hda: 128 heads, 63 sectors, 788 cylinders
   Units = cylinders of 8064 * 512 bytes

      Device Boot  Begin   Start     End  Blocks  Id System
   /dev/hda1   *       1       1     397 1600672+  c Unknown
   /dev/hda2         398     398     601  822528  83 Linux native
   /dev/hda3         602     602     627  104832  82 Linux swap
   /dev/hda4         628     628     788  649152  83 Linux native

 


我們可以看到 Windows 位在 hda1 上。fdisk 通常都會把 FAT32 的分割區(qū)看成 <> (未知)。我的 Linux 核心 (Kernel, 2.0.34 版) 知道怎麼存取 FAT32,但 fdisk 卻不知道。底下是 df 指令的輸出,可以發(fā)現(xiàn) /dev/hda1 的確可以被 Linux 使用。 

    [olivier@snoopy olivier]# df

    Filesystem        1024-blocks    Used   Available  Capacity  Mounted on
    /dev/hda2            796065    506992      247947     67%    /
    /dev/hda4            628351    226366      369528     38%    /home
    /dev/hda1           1594456    850420      744036     53%    /mnt/dos

 


你得修改兩個設(shè)定檔 /etc/fstab 和 /etc/lilo.conf ,它們看起來有點像底下的輸出。 

    [olivier@snoopy olivier] less /etc/fstab

    /dev/hda2          /                 ext2         defaults        1 1
    /dev/hda4          /home             ext2         defaults        1 2
    /dev/hda3          swap              swap         defaults        0 0
    /dev/fd0           /mnt/floppy       ext2         user,noauto     0 0
    /dev/cdrom         /mnt/cdrom        iso9660      user,noauto,ro  0 0
    none               PRoc              proc         defaults        0 0
    /dev/hda1          /mnt/dos          msdos        user,noauto     0 0

 
    [olivier@snoopy olivier] less /etc/lilo.conf

    boot=/dev/hda
    map=/boot/map
    install=/boot/boot.b
    prompt
    timeout=500
    image=/boot/vmlinuz-2.0.34-1
            label=linux
            root=/dev/hda2
            read-only
    other=/dev/hda1
           label=dos
           table=/dev/hda

 

  
重新建立 Windows 的硬碟分割區(qū)
從現(xiàn)在起你一定得用 root 的身份操作。我尤其建議你用 root 登入(別用 su)。如果你用的是 vi 編輯器,你可能要下 w! 指令才能存檔。建議你在每回存檔完後,檢查是否修改過的檔案真的被存起來了。 (離開編輯器用 less 指令來查看) 

你現(xiàn)在要用 fdisk 和 mke2fs 兩個指令。這些可以在硬碟或是其它儲存媒體上用。在使用前最好是不要連接 (mount) 要修改的那一個分割區(qū)。請看底下的三個步驟: 

- 如果你要的分割區(qū)已經(jīng)被連接上了,用 umount 指令來分離,如: umount /mnt/dos 

- 啟動 fdisk。更換 hda1 的分割區(qū)類別 (System Id)。我們現(xiàn)在告訴 fdisk 這個分割區(qū)要改成為 Linux 自有的分割區(qū) (Linux Native Partition)。用 t 指令 (t, 1, 83)來修改。再用 p 指令來查看。唯一不同的地方是 Unkown 現(xiàn)在變成了 linux native 還有 System Id 現(xiàn)在變成了 83。最後,用 w 指令儲存和離開。用 fdisk -l 指令再看一次。離開時我遇到以下的錯誤訊息: 

   The partition table has been altered!
       Calling ioctl() to re-read partition table.
       Syncing disks.
       Re-read table failed with error 16: Device or resource busy.
       Reboot your system to ensure the partition table is updated.

 


但我不理會它所以沒有重新開機。

- 格式化 (Format): mke2fs /dev/hda1。你會先看見很多數(shù)字在跳動,然後就再也見不到 Windows 了! 你也可以在 mke2fs 後加上 -c 的參數(shù),這樣可以順便檢查硬碟有沒有損壞的地方。 

好啦! Windows 沒啦! 其實我并不是很排斥 Win98 (但討厭 Microsoft),只是很喜歡 Linux... 

  
使用新的分割區(qū)
好了,現(xiàn)在我有一個 1.5 Gb 的空白分割區(qū),我打算把 600 Mb 拿來做 /home , 800 Mb 做 / 和 100 Mb 做交換區(qū) (Swap partition)。我把 /home/myaccount 里 100Mb 的資料移到 /usr/local ,把 /usr/local 留在 hda2 上再把 / 移到 hda1 上:

   Filesystem      1024-blocks  Used   Available Capacity Mounted on
   /dev/hda1        1600672    465000   1130672     29%    /
   /dev/hda2         796065    110000    696065     13%    /usr/local 
   /dev/hda4         628351     40739    587612      6%    /home

 


足夠我用好幾年了....

照我上面的計劃,我得先把 hda1 連接起來才行。一般就連接到 /mnt 即可。 

- 在 /mnt 底下再建一個 tmp 的次目錄 (sub-directory) 。來連接 hda1: mkdir/mnt/tmp. 

- 連接 hda1 到 /mnt/tmp : mount -t ext2 /dev/hda1 /mnt/tmp (-t ext2 指定檔案系統(tǒng)的種類)。 

- 復制 / 到 /mnt/tmp/ 但保留目錄結(jié)構(gòu): cp -ax / /mnt/tmp/。-a 參數(shù)在 man 說明里解釋為: <> 請自行參考 cp 的 man 說明。-x 參數(shù)指定不要把和現(xiàn)在所在位置不同的分割區(qū)也包括進來。以我為例,這樣就不會把 /home 一起復制了。整個復制過程在我的 AMD K6 266 上花了 15 分鐘。所以你可以先去喝杯咖啡或威士忌再回來。 

- 但這樣做還是有一些地方不完整,因為 -x 參數(shù)的關(guān)系有兩個目錄沒有被復制進來, /home 和 /proc。所以現(xiàn)在我們要在新的分割區(qū)上建立這兩個目錄: mkdir /mnt/tmp/home 然後 mkdir /mnt/tmp/proc 這兩個目錄一定不可漏掉,這樣 /home (在 hda3 上) 和 /proc 以後才可以被連接上。 

現(xiàn)在更復雜的是我們得修改 fstab 和 lilo.conf 檔案,重新開機後 Lilo 和 Linux 本身才知道 / 在哪里。注意,我們必須修改 /mnt/tmp/etc/ 下的 fstab 而不是 /etc 下的。因為新的系統(tǒng)在 /mnt/tmp 下。但是在重新開機前我們必須重新安裝 Lilo (如果你有用 Lilo 的話)。現(xiàn)在必須修改 /etc/ 下的 lilo.conf 因為我們現(xiàn)在就要執(zhí)行 lilo 指令來重新安裝 Lilo。然後再把 /etc/lilo.conf 復制到新的分割區(qū) /mnt/tmp/etc?;蛘吣憧梢灾苯有薷?nbsp;/mnt/tmp/etc/lilo.conf 然後在執(zhí)行 lilo 的時候加上 -C 的參數(shù)告訴 lilo 你的設(shè)定檔不是在 /etc/lilo.conf 而是在 /mnt/tmp/etc/lilo.conf 中。我示□的是第二種方法。 

- /mnt/tmp/etc/fstab 

這個檔案指示系統(tǒng)在啟使的時侯如何連接不同的分割區(qū)。我們現(xiàn)在想把 / 連接到 hda1 上,所以要如下修改。但我們不可以有兩個 / 連接點! 所以我把 /dev/hda2 改為連接到 /mnt/tmp。其它地方則沒變。 

    /dev/hda1        /                ext2     defaults         1 1
    /dev/hda2        /mnt/tmp         ext2     defaults         1 2
    /dev/hda4        /home            ext2     defaults         1 3
    /dev/hda3        swap             swap     defaults         0 0
    /dev/fd0         /mnt/floppy      ext2     user,noauto      0 0
    /dev/cdrom       /mnt/cdrom       iso9660  user,noauto,ro   0 0
    none             /proc            proc     defaults         0 0

 


- /mnt/tmp/etc/lilo.conf. 

lilo.conf 是 lilo 的設(shè)定檔,lilo 是位在 MBR (啟動磁區(qū)) 的開機管理程式。我不想浪費篇幅說明 MBR。如果有人還在用 Loadlin 或用軟碟開機,我強烈建議換成 lilo ,因為我們的系統(tǒng)上 loadlin 已經(jīng)沒用,而且這年頭誰還用軟碟片來開機呢? 我們告訴 lilo Linux 的核心 (Kernel) 現(xiàn)在是在 hda1 上 (原本是 hda2) 還有我們得刪除所有有關(guān) Windows 的設(shè)定。 

     boot=/dev/hda
     map=/boot/map
     install=/boot/boot.b
     prompt
      timeout=500
     image=/boot/vmlinuz-2.0.34-1
           label=linux
           root=/dev/hda1
           read-only

 


- 執(zhí)行 lilo: /sbin/lilo -v -C /mnt/tmp/etc/lilo.conf. -v 告訴 lilo 給予詳盡的輸出。這時應該沒有任何的錯誤訊息,因為我們要重新啟動所以一定不能犯錯。 lilo 的訊息如下: 

    LILO version 20, Copyright 1992-1997 Werner Almesberger
    Reading boot sector from /dev/hda
    Merging with /boot/boot.b
    Boot image: /boot/vmlinuz-2.0.34
    Added linux *
    /boot/boot.0300 exists - no backup copy made.
    Writing boot sector.

 


- 重新開機,再做一些小測試 (df, fdisk -l) 看看檔案系統(tǒng)是不是和我們指定的符合。 

- 把 /mnt/tmp 底下 (hda2) 所有的東西刪除掉: (在 /mnt/tmp 下) rm -rf * 

按照先前的安排,我們再用 cd 切換到 /usr/local 下,復制所有檔案到 /usr/tmp: cp -a * /mnt/tmp 

驗證是否一切順利,再刪除 /usr/local: (在 /usr/local 下) rm -rf * ,注意不可以刪除 /usr/local 這個名字。 

- 再編輯 /etc/fstab ,修改第二行:

     /dev/hda2    /usr/local          ext2    defaults       1 2

 


- 重新開機,再測試。 

大功告成! 告訴你我當時非常的滿意,尤其是所有的程式後來都能正常的工作!

  
問題
事實上我在實作時遇到了一些問題。但我建議你去了解這些步驟,所以在你遇到問題的時候你可以試著自行解決。Olivier Tharan 建議我重新啟動到單人模式中 (Single-user mode) 但我偷懶而跳過這一節(jié)。最好能在重新啟動前準備一張開機磁片 (但我不知道怎麼弄)。 

底下是我遭遇到的問題。在第一次重新開機後,我的 /home 和 /proc 沒有被連接進來,但幸好登入系統(tǒng)不成問題,所以我趕快用: 

    [root@snoopy root]$ df
     Filesystem      1024-blocks    Used   Available  Capacity  Mounted on
     /dev/hda1          1548535   506977    961525     35%       /
     /dev/hda2           796065   506992    247947     67%       /mnt/tmp

 


/home 沒有被連接進來,所以我試著用 mount /home ,但 mount 卻顯示: <> 我才發(fā)覺我沒了解什麼叫"連接點" (Mount Point) 而漏了cp 的 -x 的參數(shù)。所以我重新建立了 /home 和 /proc 兩個連接點,結(jié)果才和前面所敘述的一樣。 


  
參考資料
man 說明: fdisk, mk2ext, cp, mv, rm, lilo, lilo.conf, fstab 
/usr/doc/lilo-0.20/doc/User_Guide.ps 
/usr/doc/util-linux-2.7/README.fdisk 
Hard Disk Upgrade Mini How-To (硬碟升級 Mini How-To) 
本文出處 Comment supprimer windows. 
原文以法文寫成,英文翻譯 Paul Kienzle,中文翻譯 郭予廷 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 叶城县| 镇赉县| 萨嘎县| 资源县| 齐齐哈尔市| 凉城县| 天水市| 黎城县| 彭水| 莆田市| 博乐市| 齐河县| 苗栗县| 丹东市| 咸丰县| 卓尼县| 宜君县| 碌曲县| 启东市| 布拖县| 万州区| 仙游县| 老河口市| 南靖县| 定襄县| 平罗县| 道孚县| 自贡市| 长葛市| 章丘市| 平凉市| 鸡泽县| 南丹县| 阿坝| 定襄县| 方正县| 汪清县| 鱼台县| 许昌县| 鲜城| 南岸区|