在WindowsXP下从硬盘安装Ubuntu双系统

在WindowsXP下从硬盘安装Ubuntu双系统 前几天突然间头脑发热,一时冲动决定安装Linux,系统选择的是现在最流行的Ubuntu5.04,但是手边又没有Ubuntu的安装盘,于是就采用了在XP下从硬盘安装的方法。具体操作见:  http://www.ubuntu.org.cn/support/documentation/doc/installformxp安装之前仔细得把注意事项和安装说明看了一下,觉得应该不会有什么问题,而且之前还在虚拟机上成功得安装过Ubuntu。不过当时还是把E盘的所有存档文件都备份到康子的电脑上,由于按照安装说明操作对C、D盘没有影响,于是没有备份。

  系统初始状况: OS:WindowsXP+SP2

盘符:
 
C
 
D
 
E
 
大小:
 
5G
 
8G
 
21.5G
 
格式:
 
NTFS
 
NTFS NTFS

  为了安装Ubuntu,在把E盘备份后在XP里用磁盘管理将E盘删掉,然后新建了一个16G的FAT32分区作为E盘,剩下的空间用于安装Ubuntu。

  坎坷的安装历程:

  1. 第一次安装。由于从硬盘安装ISO文件要在FAT分区下,所以ISO文件放在E盘,按照上面的方法开始安装,在安装的过程中惊奇的发现在Linux中我的硬盘第一次被识别为标称的40G,那2.3G被联想用来做一键恢复系统的隐藏分区竟然被揪出来了。那个一键还原对我来说就是垃圾,从来没用过,现在猛然多出2.3G的空间当然很开心,于是把预留的空间和这2.3G空间全部分给了Ubuntu。安装过程一切顺利,最后一步安装 grub的时候也识别出了已安装的WindowsXP,于是就一路Next,结束安装。可是在安装结束重启的时候加载grub的时候就停在了那儿,显示 error 18,什么系统也进不去。无语了,好在手边有一张买杂志时送的启动工具盘,用DOS进去之后发现原来新建的那个E盘莫名其妙的变成了C盘,而原先的C、D 盘则变成了D盘E盘。当时缺少经验误以为是C盘为NTFS所致,于是打算把盘全格了重新装一遍XP,分区全部选FAT32。可是想不到的是用XP安装盘安装的时候,它竟然识别出硬盘的大小却无法写入。无奈之下再用工具盘里的Disk Genius把所有的分区都删了,当时比较冲动,也没有冷静的想想那些需要备份,好在几天前刚做了一次备份,损失不是很大,不过还是丢了一些比较重要的资料。不管好歹,终于可以安装Windows了。
    盘符:
     
    C
     
    D
     
    E
     
    /hda6
     
    /hda7
     
    大小:
     
    5G
     
    8G
     
    16G
     
    5G
     
    0.5G
     
    格式:
     
    FAT32
     
    FAT32
     
    FAT32
     
    ReiserFS Swap
     

  • 第二次安装。这次安装的时候就预先把XP里的分区都分好了,大小和上面的一样,留下了靠近6G的空闲空间给Ubuntu。顺利装好XP,由于做好了再次重装的准备,什么也没做就开始装Ubuntu了。这次把硬盘安装要的一堆东西全部扔在C盘,安装过程和上面一次相同。结果也差不多,开机之后不是error18了,变成error17,我ft!

     

  • 第三次安装。这时已经比较火大,决定先在虚拟机上装个双系统试试。人倒霉的时候喝凉水都塞牙,在VMware上装XP的时候竟然装了一半安装盘出了问题,我kao!换了一张盘给XP和Ubuntu各分了4G的空间,很顺利的装好了,也很顺利的启动了,grub一点问题都没有。邪门了!(PS:裸机跑VMware的感觉真爽)  
     
  • 第四次安装。这时学聪明了,想到以前有人说过Linux不能安装在8G之后的分区上,否则不能启动。不过在BBS上看到大家都说现在的BIOS版本不存在这个问题,而且Ubuntu的安装说明也没有提到这一点,看LinuxApp版上大家都装在8G之后也没什么问题,难道我人品特别差?不管了,这次装XP的时候就只给C盘分了5G的空间,剩下的全部空在那儿。安装过程还是波澜不惊,等到要结束安装grub时,考虑到每次都是grub出错,就手动把grub安装在/dev/hda1,就是Windows中的C盘。装好之后,忐忑不安得重启,yeah,ubuntu加载成功,激动惨了。激动过后准备到Windows下把补丁什么的打一下的,结果发现进不了Windows了,我吐血!在 grub那一步就变成了死循环,选XP进去还是grub,再选还是grub。郁闷万分的到BBS上一看,看到了这么一段话:

    这种情况我遇到过。。。后果很严重。。。
    出现这种情况的原因是
    setup (hdc*,0)这句并不是将GRUB安装在MBR上
    而是安装在hdc0的分区上,如果window正好装在hdc0
    grub 就破坏了windows的分区,所以造成c盘无法识别
    同时用grub引导启动windows时由于hdc0引导区被grub
    占用,所以启动windows选项会形成循环启动GRUB!!!

    正确用法是setup (hdc)才能将其装在hdc的MBR上!!!

    但如果已经用setup(hdc, 0)执行grub安装
    再次用setup(hdc)就无效了
    我当时没有找到解决办法,只能重装windows

    我郁闷啊!!!继续往下看,觉得柳暗花明又一村,有牛人给出了解决方法:

    用windows盘重新安装,安装开始后重启
    据说就可以了,因为windows好像是先写引导扇区,然后再实际安装,据说

    连忙试了一下,貌似可行,能够成功得进入XP,系统也没什么破坏,但是进不去Ubuntu了,不管了,能保全XP就是万幸了。然后在XP下重新按照上面的方法安装Ubuntu,结果装的过程中说原先安装有Ubuntu的那个分区有数据会影响安装,我也不知道怎么折腾的让它继续下去了,结果最后突然冒出来一个让我选择内核的提示,被我顺手取消掉了,安装过程貌似很正常的结束了。重启之后两个系统都能很正常得进入,把我激动得在宿舍里大喊大叫。可是没高兴多久就发现Ubuntu系统极不稳定,X界面不断得重启,估计是内核没装好,无奈之下,我只好再次用工具盘里的分区工具把那两个分区给格了,然后重装了一遍 Ubuntu,总算一切正常了。

    盘符:
     
    C
     
    /hda2
     
    /hda3
     
    /hda4
     
    大小:
     
    5G 5G
     
    0.5G
     
    24G
     
    格式:
     
    FAT32
     
    ReiserFS Swap
     
     

    可是新的问题又出现了,我发现在XP的磁盘管理里,剩下的那24G空间只能分成一个分区,这也忒郁闷了,再次出动工具盘,用Disk Genius把剩下的那24G空间成功得分成了16G和8G两个FAT32分区,更新分区表,保存,成功!等到重启时才发现由于更新了分区表,grub又坏了,什么也进不去了,我基本上崩溃了……                                                      

    第五次安装。有了前面这N次的经验教训,我已基本知道该怎么做了。首先先用Disk Genius把所有的分区全部删除,然后用XP的安装盘建立了如下分区:

    盘符:
     
    C
     
    D
     
    E
     
    F
     
    大小:
     
    5G
     
    5.5G
     
    8G
     
    16G
     
    格式:
     
    FAT32
     
         

    然后在C盘上安装Windows,安装结束后在Windows下安装Ubuntu,将其安装在原先划分的D分区上,把D分区分为主分区和交换分区两部分,默认安装grub,结束安装,这次,终于真正的成功了。安装之后硬盘的分区情况如下:

    盘符:
     
    C
     
    /hda2
     
    /hda3
     
    D
     
    E
     
    大小:
     
    5G
     
    5G
     
    0.5G
     
    8G
     
    16G
     
    格式:
     
    FAT32
     
    ReiserFS Swap FAT32 FAT32

      经验教训:

    • 在装Linux的时候,无论你对过程有多熟悉,无论在虚拟机上试过几次,安装之前最好还是备份一下重要的文件,而且不能备份在同一块硬盘上。因为你无法预测在实际过程中会出现哪些莫名其妙的问题。
    • 这次安装失败可能有两个原因:
    1. BIOS版本过老,存在1024柱头问题,导致安装在8G分区之后的Linux无法识别。
    2. 联想自带的那个隐藏分区搞得鬼。因为储存在MBR里的硬盘大小信息是35G左右,而Linux却认出了40G,也就是把那个隐藏分区认出来了,而装的过程中又把那个分区给破坏掉了,导致信息和MBR里面储存的不一致,出现错误。

    具体是哪个原因我现在也不清楚,只有等下次全面重新安装的时候试一下才能清楚。

  •  

发表评论

(required)