歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> Linux技巧:逐步移動分區的操作方式

Linux技巧:逐步移動分區的操作方式

日期:2017/2/27 9:41:44   编辑:更多Linux
  本文說明了如何在正在運行的系統上更改分區布局。同時他還介紹了幾個訣竅,從而使您可將停機時間縮到最短,並可避免犯嚴重錯誤。在這篇技巧中,他將說明如何將 /home 移動到另一個分區上。/home 分區是最常移動的分區之一。某些時候,/home 中的全部空間都用完了,而且需要增加一個硬盤驅動器。另一些時候,/home 被設置為根分區的一部分,為了提高性能或便於備份,可能需要將它移動到別的地方。我會針對每種情況說明如何安全有效地移動 /home。警告下面的技術說明如何移動一個或多個分區。盡管這項技術的設計使您能夠“撤銷”失敗的分區移動,但它並不防止用戶的錯誤。換言之,只要進行格式化分區或復制大量文件的操作,就存在因輸入錯誤而導致大量數據被破壞的可能性。因此,強烈建議您 在行動之前采取適當的措施來備份所有的重要文件。現在您已作好准備,我們就可以開始移動 /home 了。您要完成的確切步驟取決於 /home 當前是駐留在它自己單獨的分區上,還是位於根分區上。在我們完成下面的步驟時,要緊記這一點(必要時我將提醒您)。如果您正在將 /home 移動到一個新的硬盤驅動器上,則這個驅動器現在應該物理上安裝在您的系統中。1. 如有必要,創建一個新分區如果您正在將 /home 移動到一個現有的分區(沒有必要一定是 ext2 文件系統,只要目標主分區或擴展分區存在即可)上,則您可以直接轉到步驟 2。如果新分區還不存在,則需要用 cfdisk(首選)或 fdisk 來創建一個新分區。如果這個分區不在第一個驅動器上,則別忘了將這個設備的名稱指定為 cfdisk 或 fdisk 的第一個參數。在創建了適當的主分區或擴展分區以後,應重新啟動系統以便正確地重新讀取分區表。這是唯一需要重啟系統的時候。2. 在新分區上創建文件系統要在新分區上創建文件系統,首先要知道這個新分區的准確設備名(例如,/dev/sda5)。如果您不能確定准確的設備名,請立即停下來,仔細核對設備名。然後以 root 身份鍵入以下命令:# mkfs.ext2 /dev/???在上面和以後的代碼樣例中,應該用目標分區名替換 ???。在執行此命令以後,目標分區將包含一個空的 ext2 文件系統。3. 在 /mnt 下掛載這個新文件系統創建一個名為 /mnt/newpart 的目錄,然後將新分區掛載到這個目錄上:# mount /dev/??? /mnt/newpart4. 進入單用戶模式為了使系統的可用性達到最大限度,我盡量推遲這一步,但現在我們必須進入單用戶模式,然後將 /home 中的文件復制到 /mnt/newpart 中。您不應該讓 /home 中的任何文件處於打開狀態,而進入單用戶模式消除了這種可能性:# init 1如果出現提示,請輸入 root 口令來執行系統維護任務。您現在應該在 root shell 中。5. 將當前目錄更改為 /home,然後復制文件鍵入以下命令:# cd /home# cp -ax * /mnt/newpartcp -ax 命令循環地將 /home 中的內容復制到 /mnt/newpart 中,並保留全部文件屬性,也不會交叉任何掛載點。該命令執行完以後,/mnt/newpart 中將包括 /home 中當前包含的全部文件和目錄的精確副本。如果原來的 /home 在它自己單獨的分區上(在 /etc/fstab 中用單獨一行列出),請轉到步驟 6a。否則,請轉到步驟 6b。6a. 使用新分區(當原來的 /home 是一個分區時)下面的說明適用於原來的 /home 已經在它自己的專用分區上的系統。如果不是這種情況,請參閱步驟 6b。鍵入以下命令卸載原來的分區:# cd /# umount /home然後,卸載並重新掛載新分區:# umount /mnt/newpart# mount /dev/??? /home現在就可以通過 /home 訪問新分區了,並可立即投入使用。我們可以在多用戶模式下執行最後幾個步驟。請按 CTRL-D 退出單用戶模式,這樣系統就會回到啟動運行狀態。重要步驟:在系統正常啟動以後,以 root 身份登錄,然後編輯 /etc/fstab,以便將 /dev/??? 自動掛載到 /home 上,而不是仍然在這個掛載點掛載原來的分區。例如,將下面這一行:/dev/hda3 /home  ext2defaults1  2更改為:/dev/???/home  ext2defaults1  26b. 使用新分區(當原來的 /home 不是一個分區時)如果 /home 以前不在它自己單獨的分區上(例如,如果 /home 只是根分區上的一個目錄),請按下面的說明操作。執行以下命令:# cd /# mv /home /home.old# mkdir /home # mount /dev/??? /home現在,請按 CTRL-D 離開單用戶模式。當系統回到啟動運行狀態以後,編輯 /etc/fstab 文件,在其中添加類似這樣一行:/dev/??? /home  ext2defaults1  2這樣,當下次重新啟動系統時,您的新分區將被正確掛載。7. 掃尾工作我們特意將原來的 /home 目錄/分區保留下來,以防復制文件時出現問題。在證實系統穩定運行以後,您就可以將原來的 /home 分區用於其他目的,或者刪除原來的 /home 目錄。




Copyright © Linux教程網 All Rights Reserved