調整Arch的磁盤分區

| Comments

簡述

目標:移除Windows 7,整塊硬盤完全分配給Archlinux。

原分區結構:

分區類型掛載文件系統容量
/dev/sda1主分區,啟動分區Windows 7的安裝分區ntfs30G
/dev/sda2擴展分區---
/dev/sda5邏輯分區Windows的D盤ntfs40G
/dev/sda3主分區/ext378G
/dev/sda4交換分區swap-2G

調整後分區結構:

分區類型掛載文件系統容量
/dev/sda1主分區,啟動分區/ext330G
/dev/sda2主分區/homeext3120G
/dev/sda3交換分區swap-2G

步驟

  1. Archlinux中重裝GRUB,覆蓋Windows 7的BCD:
    1
    
    sudo grub-install /dev/sda
    
  2. 在GRUB啟動菜單中加入將要復制到sda1分區中的Archlinux的啟動項:
    1
    
    sudo vi /boot/grub/menu.lst
    

    # (2) Arch Linux title Arch Linux root (hd0,0) kernel /boot/vmlinuz26 root=/dev/sda1 resume=/dev/sda4 ro acpi_osi=”Linux” initrd /boot/kernel26.img
  3. 安裝U盤啟動的Puppy Linux
  4. Puppy中格式化sda1分區:
    1
    
    mkfs.ext3 /dev/sda1
    
  5. 復制sda3上的Archlinux所有的文件到sda1:
    1
    2
    3
    4
    
    # 先點擊桌面上sda1和sda3的盤符,使之被掛載到/mnt下
    
    cd /mnt/sda3
    cp -a * /mnt/sda1
    
  6. 修改sda1上的fstab:
    1
    
    vi /mnt/sda1/etc/fstab
    

    # 修改必要的挂載點,如將根目錄的挂載點由sda3改為sda1: /dev/sda1 / ext3 defaults,noatime 0 1
  7. 重啟系統,并引導到新分區上的系統中
  8. 重新安裝GRUB,使之引導sda1分區中的系統:
    1
    
    sudo grub-install /dev/sda
    
  9. 重啟并進入Puppy,使用gparted刪除除sda1以外的所有分區,然後在空閑的空間上創建ext3格式的主分區sda2和交換分區sda3
  10. 移動sda1上home目錄下的所有東西到sda2:
    1
    2
    
    cp -a /mnt/sda1/home/* /mnt/sda2
    rm -rf /mnt/sda1/home/*
    
  11. 修改sda1上的fstab和menu.lst:
    1
    
    vi /mnt/sda1/etc/fstab
    
    # 將fstab中磁盤分區的挂載點配置為如下內容 /dev/sda1 / ext3 defaults,noatime 0 1 /dev/sda2 /home ext3 defaults,noatime 1 2 /dev/sda3 swap swap defaults 0 0
    1
    
    vi /mnt/boot/grub/menu.lst
    
    # 將原來啟動項中的sda3修改為sda1,由于配置過休眠,也將resume參數中的sda4改為sda3,即交換分區
  12. 重啟系統

後記

Arch誕生時只裝XP,到裝上Archlinux後雙系統并存,再到嘗試Win7,兩年的時間裏,一直有很多原因讓Windows像只寄生蟲一樣頑強地活著。最近硬盤空間越來越緊張,早前裝的Win7也很長時間不用了,于是時隔三年之後,我又成了個純粹的Archer。

Comments