安裝 Linux 兩個月後決定徹底移除 Windows,回收空間給 Linux。兩條路徑:
| 策略 | 優點 | 缺點 |
|---|---|---|
| 重新安裝 Linux | 分區規劃最靈活、系統最乾淨 | 需完整備份/還原,耗時極長 |
| 原地移除 Windows + 重新分區 | 保留現有系統配置、僅增加空間 | 操作較複雜、風險稍高、文獻較少 |
本文採策略二,輔以關鍵資料備份至軟碟(或 USB)降低風險。
/etc/fstab、/etc/lilo.conf、個人文件、配置文件man fdisk、man mke2fs、man lilo、LILO 文檔(/usr/doc/lilo-*/doc/User_Guide.ps)、Hard Disk Upgrade Mini How-To:w! 強制寫入Disk /dev/hda: 128 heads, 63 sectors, 788 cylinders
Device Boot Start End Blocks Id System
/dev/hda1 * 1 397 1600672+ c Win98 (FAT32, fdisk 顯示 Unknown)
/dev/hda2 398 601 822528 83 Linux /
/dev/hda3 602 627 104832 82 Linux swap
/dev/hda4 628 788 649152 83 Linux /home
df 確認 /dev/hda1 掛載於 /mnt/dos 可讀寫。
# /etc/fstab
/dev/hda2 / ext2 defaults 1 1
/dev/hda4 /home ext2 defaults 1 2
/dev/hda3 swap swap defaults 0 0
/dev/hda1 /mnt/dos msdos user,noauto 0 0
# /etc/lilo.conf
boot=/dev/hda
image=/boot/vmlinuz-2.0.34-1 label=linux root=/dev/hda2 read-only
other=/dev/hda1 label=dos table=/dev/hda
umount /mnt/dos 卸載分區fdisk /dev/hda → t (修改類型) → 分區 1 → 83 (Linux) → w 寫入ioctl() re-read failed: Device busy 警告,暫不重啟mke2fs /dev/hda1 格式化(可加 -c 檢查壞軌),Windows 徹底消失目標:hda1 (1.5GB) → 600MB /home + 800MB / + 100MB swap
# 掛載新分區準備遷移
mkdir /mnt/tmp
mount -t ext2 /dev/hda1 /mnt/tmp
# 完整複製根分區(-x 不跨檔案系統,保留結構)
cp -ax / /mnt/tmp/
# 補齊被 -x 排除的掛載點目錄
mkdir /mnt/tmp/home
mkdir /mnt/tmp/proc
/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
none /proc proc defaults 0 0
boot=/dev/hda
image=/boot/vmlinuz-2.0.34-1 label=linux root=/dev/hda1 read-only
/sbin/lilo -v -C /mnt/tmp/etc/lilo.conf
# 輸出確認:Added linux * /boot/boot.0300 exists
重啟進入新根分區(hda1)。
/mnt/tmp (舊 hda2) 所有內容:cd /mnt/tmp; rm -rf */usr/local 內容移回 /mnt/tmp:cp -a /usr/local/* /mnt/tmp//usr/local:rm -rf /usr/local/*(保留目錄)/etc/fstab 最终版:
/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /usr/local ext2 defaults 1 2
/dev/hda4 /home ext2 defaults 1 3
/dev/hda3 swap swap defaults 0 0
df、fdisk -l 符合預期/home、/proc 未掛載:因 cp -ax 排除導致缺少掛載點目錄,補建即可原 1.5GB Windows 空間成功轉化為:/ (800MB) + /usr/local (796MB) + /home (628MB),所有服務正常運行,系統配置完整保留。