39.2.2. 您的電腦可同時啟動 Red Hat Enterprise Linux 和另一個不同的 Linux 發行版

鑑於 Linux 各種散佈版本之間的差異,這些指示只能作為參考。特定的詳細資料會根據您系統上的配置,以及各 Linux 散佈版本多重開機程式來啟動 RHEL 的不同,而有所差異。
  1. 移除 Red Hat Enterprise Linux 分割區

    1. 啟動您的 Red Hat Enterprise Linux 安裝版本。
    2. 請登入為 root 或透過 sudo 執行 mount。請留意已經掛載的分割區,特別是掛載為 root 的分割區。對 root 分割區執行 mount 的輸出像標準的分割區 /dev/sda2,例如:
      /dev/sda2 on / type ext4 (rw)
      proc on /proc type proc (rw)
      sysfs on /sys type sysfs (rw)
      devpts on /dev/pts type devpts (rw,gid=5,mode=620)
      tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
      /dev/sda1 on /boot type ext4 (rw)
      none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
      sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
      如果 root 檔案系統位於邏輯卷冊上,那麼 mount 指令的輸出會像:
      /dev/mapper/VolGroup00-LogVol00 on / type ext4 (rw)
      proc on /proc type proc (rw)
      sysfs on /sys type sysfs (rw)
      devpts on /dev/pts type devpts (rw,gid=5,mode=620)
      tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
      /dev/sda1 on /boot type ext4 (rw)
      none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
      sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
    3. 請確定在此系統上,您所需的任何資料都已經備份到另一台系統或其它儲存空間裡。
    4. 關閉系統,啟動您想要保留在系統上的 Linux 版本。
    5. 請登入為 root 或透過 sudo 執行 mount。如果系統已經掛載了先前標示為 Red Hat Enterprise Linux 的分割區,請檢視這些分割區的內容。如果您不需要這些分割區的內容,請使用 umount 指令卸載。
    6. 移除任何不需要或不想要的分割區,例如使用 fdisk 移除標準分割區,用 lvremovevgremove 移除邏輯卷冊與卷冊群組。
  2. 從 bootloader 中移除 Red Hat Enterprise Linux 的項目

    重要

    這些步驟假設您的系統所使用的開機載入程式是 GRUB。如果您使用了其它開機載入程式(例如 LILO),請參閱該軟體的文件,以找出由該檔案的 boot target 清單中移除 Red Hat Enterprise Linux 項目的方法,並確保已正確指定了您的預設作業系統。
    1. 在命令列中,輸入 su -,然後按下 Enter 鍵。當系統提示您輸入 root 密碼時,請輸入 root 密碼並按下 Enter 鍵。
    2. 輸入 gedit /boot/grub/grub.conf 然後按下 Enter。這會在 gedit 中開啟 grub.conf 檔案。
    3. 典型的 Red Hat Enterprise Linux 項目在 grub.conf 檔案中含有四行:

      範例 39.1. grub.conf 中的範例 Red Hat Enterprise Linux 項目

      title Red Hat Enterprise Linux (2.6.32.130.el6.i686)
      root (hd0,1)
      kernel /vmlinuz-2.6.32.130.el6.i686 ro root=UUID=04a07c13-e6bf-6d5a-b207-002689545705 rhgb quiet
      initrd /initrd-2.6.32.130.el6.i686.img
      取決於您的系統配置,grub.conf 中可能會有數個 Red Hat Enterprise Linux 項目,各個項目皆與不同版本的 Linux kernel 相應。請由檔案中將各個 Red Hat Enterprise Linux 的項目刪除掉。
    4. Grub.conf 其中一行指定了開機時所採用的預設作業系統,格式為 default=N,其中 N 是等於或大於 0 的值。如果 N 設為 0,GRUB 會用清單中的第一組作業系統開機。如果 N 設為 1,它會啟動第二組作業系統,餘此類推。
      確認您希望 GRUB 用來啟動的預設作業系統,並記下它在清單中的順序。
      請記得 default= 這一行所紀錄的數字,是您所選擇的預設作業系統之順序「撿一」。
      儲存更動過的 grub.conf 檔案,關閉 gedit
  3. 為作業系統騰出空間

    注意

    若要從電腦中移除 Red Hat Enterprise Linux,此步驟並非必要的。然而,如果跳過了此步驟,您其它的 Linux 作業系統便可能會無法使用硬碟空間的某些部份。根據配置的不同,這可能會是硬碟上極大的一部分。

    注意

    若要執行此步驟,請備妥 Linux 發行版的 live 媒介,比方說 Fedora Live CD 或是 Knoppix DVD。
    要移除 Red Hat Enterprise Linux 分割區,將空間騰出來給其它 Linux 作業系統的方法有很多種,這取決於您所選擇的作業系統是否安裝在配置來使用 LVM 的磁碟分割區上而定。
    • 如果您不使用 LVM 的話

      1. 請用 Linux 光碟片(或其它媒體)開機,然後安裝 parted(如果不存在的話)。
      2. 請以 root 身份或透過 sudo 指令,執行 parted disk 指令,其中 disk 是您想要變更大小的分割區之裝置名稱,例如 /dev/sda
      3. (parted) 提示符號下,輸入 printparted 工具會顯示系統上分割區的資訊,包括分割區編號、大小、以及在磁碟上的位置。
      4. (parted) 提示符號下,輸入 resize number start end,其中 number 是分割區編號,start 是分割區在硬碟上的起始位置,end 是分割區在硬碟上的結束位置。請使用您剛剛以 print 指令所獲得的起始位置,並參考 parted 的文件,以得知指定結束位置的不同方式。
      5. parted 改變完分割區的大小,請在 (parted) 提示符號中輸入 quit 指令。
      6. 執行 e2fsck partition,其中 partition 是您剛剛變更大小的分割區。舉例來說,如果您剛剛改變了 /dev/sda3,請輸入 resize2fs /dev/sda3
        Linux 現在會檢查剛調整過大小的分割區之檔案系統。
      7. 檢查完檔案系統之後,請在命令列中輸入 resize2fs partition,然後按下 Enter 鍵,其中 partition 是剛剛調整過大小的分割區。舉例來說,如果剛調整過大小的分割區是 /dev/sda3,請輸入 resize2fs /dev/sda3
        Linux 會調整檔案系統的大小,填滿新建立的分割區。
      8. 請重新啟動您的電腦。您現在已可使用多出來的空間。
    • 如果您使用 LVM 的話

      1. 請從光碟(或其他方式)啟動 Linux,安裝 fdisklvm2(如果這兩者尚未安裝的話)。
      2. 在硬碟上的空白空間,建立新的分割區

        1. 請以 root 身份或透過 sudo 指令執行 fdisk disk,其中 disk 是您想要建立新空間的裝置名稱,例如 /dev/sda
        2. 在提示符號 Command (m for help): 中,輸入 n 來建立新分割區。關於選項的詳細資料,請參閱 fdisk 的文件。
      3. 變更分割區類型的識別碼

        1. 在提示符號 Command (m for help): 中,輸入 t 以改變分割區類型。
        2. 在提示符號 Partition number (1-4) 下,輸入剛剛建立的分割區編號。例如,如果剛建立的分割區是 /dev/sda3,請輸入 3 之後按下 Enter。這會告訴 fdisk 改變該分割區的識別碼。
        3. 在提示符號 Hex code (type L to list codes): 下,輸入 8e以建立 Linux LVM 分割區。
        4. 在提示符號 Command (m for help): 中,輸入 w 將變更寫入磁碟,並離開 fsidk
      4. 擴展卷冊群組

        1. 在命令列之下,輸入 lvm 然後按下 Enter 鍵,啟動 lvm2 工具。
        2. lvm> 提示符號下,輸入 pvcreate partition,然後按下 Enter 鍵,其中 partition 為剛建立好的分割區。舉例來說,pvcreate /dev/sda3。這會將 /dev/sda3 建立為 LVM 中的實體卷測。
        3. lvm> 提示符號下,輸入 vgextend VolumeGroup partition 然後按下 Enter,其中 VolumeGroup 為安裝 Linux 的 LVM 卷冊群組,而 partition 是剛建立的分割區。舉例來說,如果 Linux 安裝在 /dev/VolumeGroup00 上面,您可以輸入 vgextend /dev/VolumeGroup00 /dev/sda3 來擴展卷冊群組,以納入位於 /dev/sda3 的實際卷冊。
        4. lvm> 的提示符號下,輸入 lvextend -l +100%FREE LogVol 然後按下 Enter 鍵,其中 LogVol 是包含您 Linux 檔案系統的邏輯卷冊。舉例來說,要擴展 LogVol00 以包含剛剛建立的空間(位於 VolGroup00 卷冊群組中),請輸入 lvextend -l +100%FREE /dev/VolGroup00/LogVol00
        5. lvm> 提示符號下,輸入 exit 然後按下 Enter 鍵,以退出 lvm2
      5. 在命令列符號中輸入 e2fsck LogVol,然後按下 Enter 鍵,其中 LogVol 是剛剛調整過大小的邏輯卷冊。舉例來說,如果剛剛調整過大小的是 /dev/VolumeGroup00/LogVol00,請輸入 e2fsck /dev/VolumeGroup00/LogVol00
        Linux 現在會檢查剛剛改變過大小的邏輯卷冊之檔案系統。
      6. 檔案系統檢查完成之後,請在命令列輸入 resize2fsLogVol,然後按下 Enter 鍵,其中 LogVol 是剛剛變更過大小的分割區。例如剛剛改變大小的是 /dev/VolumeGroup00/LogVol00,請輸入 resize2fs /dev/VolumeGroup00/LogVol00
        Linux 現在會改變檔案系統的大小,直到填滿整個剛建立的邏輯卷冊為止。
      7. 請重新啟動您的電腦。您現在已可使用多出來的空間。