昨天在无意中想起xp的安装盘只允许将xp装在前两个主分区上,而我硬盘上用来装windows的分区是第三个主分区,所以之前一直不能装xp只能用2003server。因为2003在不少时候如要装一些应用程序时,用ie时有诸多不便,所以还是决定把linux的主分区放到/dev/hda3上,把xp装到/dev/hda2上去,于是昨天晚上就把linux下的/目录复制到了/home/root/下,然后用fdisk,mkreiserfs等重新划分分区、建立文件系统,之后用xp安装盘把xp装到了/dev/hda2上去,装完后赫然发现windows中的f盘(我的数据盘丢了),无语了一下,用gentoo的install CD引导启动,用fdisk一看发现分区表被破坏了,/dev/hda8~10没了,和我上一次装2003的情形相似。不过这次我没有冲动,因为备份的linux主分区在/dev/hda8上,很不幸也消失了。我思量,我没有对/dev/hda8~10进行格式化,因此数据肯定还在,只是我不知道各个分区起止的柱头,不然只要用fdisk重新分区就可以了。可怎么找到分区的起止柱头呢?没办法,进xp上网搜,还好发现有TestDisk这个工具,用它能search我丢掉的分区,通过这个功能,我找到/dev/hda8是4389~6216,/dev/hda9是6217~6347,/dev/hda10是6347~7295,因为TestDisk的起始柱头是0,而fdisk中是1,所以只要将上述的数字加1就是正确的fdisk中相应的柱头了,记下后重启用gentoo-install-cd引导,用fdisk修改分区表后,mount -t ntfs /dev/hda10 /mnt/gentoo 成功!
然后就要重新把grub装到/dev/hda上,把相应的分区挂载到相应的目录后,用date改好时间,chroot后,cp /proc/mounts /etc/mtab后执行grub-install /dev/hda 发现居然不行,汗!提示找不到/boot/ 搞了半天还是不行。无意中mount一下想看看那分区挂在哪里,一看什么都没有,呵呵,原来是/etc/mtab有问题,而它是从/proc/mounts拷过来的,ls -l /proc/mounts发现居然是 self/mounts的链接,无语,估计是升级的结果。于是改用cat /proc/mounts > /etc/mtab 之后 grub-install /dev/hda 搞定!
系统终于搞定了,又折腾了一下: )
发表评论