Linux操作系统下如何删除Windows分区( 二 )
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 的硬碟分割区
从现在起你一定得用 root 的身份操作 。我尤其建议你用 root 登入(别用 su) 。如果你用的是 vi 编辑器,你可能要下 w! 指令才能存档 。建议你在每回存档完後,检查是否修改过的档案真的被存起来了 。(离开编辑器用 less 指令来查看)
你现在要用 fdisk 和 mke2fs 两个指令 。这些可以在硬碟或是其它储存媒体上用 。在使用前最好是不要连接 (mount) 要修改的那一个分割区 。请看底下的三个步骤:
1、如果你要的分割区已经被连接上了,用 umount 指令来分离,如: umount /mnt/dos
2、启动 fdisk 。更换 hda1 的分割区类别 (System Id) 。我们现在告诉 fdisk 这个分割区要改成为 Linux 自有的分割区 (Linux Native Partition) 。用 t 指令 (t, 1, 83)来修改 。再用 p 指令来查看 。唯一不同的地方是 Unkown 现在变成了 linux native 还有 System Id 现在变成了 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.
但我不理会它所以没有重新开机 。
3、格式化 (Format): mke2fs /dev/hda1 。你会先看见很多数字在跳动,然後就再也见不到 Windows 了! 你也可以在 mke2fs 後加上 -c 的参数,这样可以顺便检查硬碟有没有损坏的地方 。
好啦! Windows 没啦! 其实我并不是很排斥 Win98 (但讨厌 Microsoft),只是很喜欢 Linux...
使用新的分割区
好了,现在我有一个 1.5 Gb 的空白分割区,我打算把 600 Mb 拿来做 /home , 800 Mb 做 / 和 100 Mb 做交换区 (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 指定档案系统的种类) 。复制 / 到 /mnt/tmp/ 但保留目录结构: cp -ax / /mnt/tmp/ 。-a 参数在 man 说明里解释为: > 请自行参考 cp 的 man 说明 。-x 参数指定不要把和现在所在位置不同的分割区也包括进来 。以我为例,这样就不会把 /home 一起复制了 。整个复制过程在我的 AMD K6 266 上花了 15 分钟 。所以你可以先去喝杯咖啡或威士忌再回来 。但这样做还是有一些地方不完整,因为 -x 参数的关系有两个目录没有被复制进来, /home 和 /proc 。所以现在我们要在新的分割区上建立这两个目录: mkdir /mnt/tmp/home 然後 mkdir /mnt/tmp/proc 这两个目录一定不可漏掉,这样 /home (在 hda3 上) 和 /proc 以後才可以被连接上 。
现在更复杂的是我们得修改 fstab 和 lilo.conf 档案,重新开机後 Lilo 和 Linux 本身才知道 / 在哪里 。注意,我们必须修改 /mnt/tmp/etc/ 下的 fstab 而不是 /etc 下的 。因为新的系统在 /mnt/tmp 下 。但是在重新开机前我们必须重新安装 Lilo (如果你有用 Lilo 的话) 。现在必须修改 /etc/ 下的 lilo.conf 因为我们现在就要执行 lilo 指令来重新安装 Lilo 。然後再把 /etc/lilo.conf 复制到新的分割区 /mnt/tmp/etc 。或者你可以直接修改 /mnt/tmp/etc/lilo.conf 然後在执行 lilo 的时候加上 -C 的参数告诉 lilo 你的设定档不是在 /etc/lilo.conf 而是在 /mnt/tmp/etc/lilo.conf 中 。我示□的是第二种方法 。/mnt/tmp/etc/fstab.这个档案指示系统在启使的时侯如何连接不同的分割区 。我们现在想把 / 连接到 hda1 上,所以要如下修改 。但我们不可以有两个 / 连接点! 所以我把 /dev/hda2 改为连接到 /mnt/tmp 。其它地方则没变 。
推荐阅读
- 如何在Linux系统中添加新的系统调用
- Linux操作系统笔记本电池使用技巧
- 如何在Linux系统下用DMA方式传输数据
- Linux操作系统下文件系统的比较和选择
- 视+APP中拍摄出下鸡蛋特效具体操作步骤
- 地下城神话属性怎么调
- Linux操作系统下的网络邻居软件大全
- Linux系统中找出并解决程序错误方法
- Linux操作系统内核的时钟中断机制
- Linux操作系统内核抢占补丁的基本原理