tym351吧 关注:2贴子:22
  • 6回复贴,共1

重装windows后无法进入ubuntu的解决办法

只看楼主收藏回复

使用Ubuntu安装光盘:
本部分解释如何使用Ubuntu的安装光盘来恢复GRUB(the GRand Unified Boot loader)

    * (1) 开机按del键或f2,进入BIOS,检查“Advanced BIOS Features”中,把first boot device设置为光驱启动,退出并保存BIOS设置。将光盘放入光驱。
    * (2) 当Ubuntu启动界面出现boot:提示时,输入rescue然后按回车键。
    * (3) 选择语言、地区(国家)和键盘布局,就像进行全新安装时一样。
    * (4) 输入主机名,或者使用默认值(Ubuntu)。
    * (5) 选择根分区(屏幕上会显示硬盘上的分区列表,所以您需要知道Ubuntu安装在哪个分区上)。应该是形如dev/discs/disc0/partX,其中X是分区号。
    * (6) 然后您将进入命令行(a hash)。
    * (7) 输入 $ grub-install /dev/hdaX X是您的Ubuntu的根目录所在分区。 


IP属地:海南1楼2008-08-03 18:05回复
    请在下列方法中选择一种: 
     使用LiveCD,同时保留Windows Bootloader

    请记住这种方法会将GRUB安装到硬盘的MBR(主启动记录master boot record)上面,而不是安装在根分区上。对于大多数人来说这是没有问题的,除非您已经另外有一个启动管理器。

    换言之,如果您使用Boot Magic或者System Commander之类的启动管理器的话,那您在上面看到的命令将会复盖您原有的启动管理。

    如果您已经将GRUB安装到根分区,命令会有一些不同。下面是我在我的系统中所使用的。

    在使用Ghost重新恢复Windows后,如何恢复Grub菜单:

     * 从Live CD(如Ubuntu Live,Knoppix,Mepis或者相类似的)启动。
     * 打开终端。切换为超级用户(SuperUser)。(在Ubuntu中输入"sudo -i",在Ubuntu以外的其它发行版中输入"su")。输入根用户密码。
     * 输入"grub",会出现GRUB命令提示。
     * 输入"find /boot/grub/stage1"。会出现如同"(hd0)"样的结果,在我的电脑上是"(hd0,3)"。在下面的命令中使用您电脑中得到的结果。
     * 输入"root (hd0,3)"。
     * 输入"setup (hd0,3)"。这里是关键。在其它一些指南中使用"(hd0)", 如果您想将GRUB写入MBR的话,那使用"(hd0)"是没有问题的。如果您想将GRUB写入您的Linux根分区的话,则您需要在逗号之后加上数字,形如"(hd0,3)"。
     * 输入"quit"。
     * 取出Live CD,重新启动电脑。 

    ----------------------
     使用Live CD,同时复盖Windows bootloader

     * 从Live CD启动进入桌面。
     * 打开终端或者切换到一个tty(Ctrl+Alt+F1)。
     * 输入"grub"
     * 输入"root (hd0,6)",就是您硬盘和启动分区的编号。(我的启动分区(/boot)位于/dev/sda7,转换到grub就是hd0,6)。
     * 输入"setup (hd0)",或者是您的硬盘编号。
     * 输入"quit"退出grub。
     * 重新启动。


    IP属地:海南2楼2008-08-03 18:05
    回复
      2025-06-25 02:06:40
      广告
      您可以不使用Ubuntu Live CD,而是直接从您的硬盘上运行"grub"。首先您需要挂载根分区(下面的例子中假设根分区在hda1上):

      sudo mkdir /mnt/linux
      sudo mount /dev/hda1 /mnt/linux

      然后,进入sbin目录并运行grub

      sudo cd /mnt/linux/sbin
      sudo ./grub


      IP属地:海南3楼2008-08-03 18:06
      回复
        本部分适用于---

         * 在Ubuntu之后安装Windows的双系统启动设置
         * Windows崩溃导致重新安装的情况
         * 在Windows系统恢复中还原了MBR
         * GRUB未能成功安装的情况 

        前提条件:

         * 您的Ubuntu分区未被改动
         * 您有一张Live CD,比如说是Ubuntu Live CD,或者是其它您喜欢的任何一种
         * 您可以熟练地通过LiveCD进入控制台
         * 您还记得您是怎样设置分区的(有一张打印好的/etc/fstab是最理想的了,但您也可以使用fdisk -l /dev/hda的输出结果)
         * 如果您使用非Ubuntu的内核或者是自己编译的内核,那需要您具有内核是如何工作的相关知识,特别是有关initrd的知识
         * 您的内核的版本;本解答中假设版本号为2.6.10-5-386


        IP属地:海南4楼2008-08-03 18:07
        回复
          将LiveCD放入光驱并启动电脑。继续LiveCD的启动程序,进入工作界面。如果LiveCD没有自动打开一个控制台(也叫做终端)的话,您可以手动打开。在Ubuntu中,单击"应用程序->系统工具->终端"。 注意:由于这是一个LiveCD的环境,所以在这里对用户帐户或文件系统的改动都是暂时性的。这就是说,您可以在不影响您的实际安装的情况下,设置一个临时的根用户密码和建立目录。

           * 获得根用户权限: 

          在Ubuntu下,可以使用如下命令:

          sudo -i

          在Knoppix下,使用如下命令,无须输入密码。

          su -

          现在您已经拥有根用户权限。

           * 挂载包含有启动文件的分区。 

          您需要能访问/sbin/和/boot/目录的权限。如果/boot/列在您的fstab文件中,您就需要挂载两个分区。为您的工作环境创建一个挂载点--您会发现这和创建一个目录是一样的。

          mkdir /mnt/work

          如果你需要挂载/boot/,您还需运行下面的命令。

          mkdir /mnt/work/boot

          现在可以加载您的文件系统了。复查您的fstab文件并确认根目录(/)和/boot/目录的位置;应该是类似/dev/hda3和/dev/hda4,但字母a和数字3、4可能因您的文件系统而不同。 注意:以下部分均假设是/dev/hda3和/dev/hda4,您应该在输入时根据自己的情况做相应的改变。输入以下命令加载您的文件系统和一些GRUB需要的信息。

          mount /dev/hda4 /mnt/work mount -o bind /dev /mnt/work/dev
          mount -o bind /proc /mnt/work/proc
          cp /proc/mounts /mnt/work/etc/mtab

          现在,您需要通过下面的命令进入您的工作环境。

          chroot /mnt/work/ /bin/bash

          警告:从现在开始,您所修改的任何文件都将影响Ubuntu系统。您已经离开了LiveCD安全环境。小心操作。


          IP属地:海南5楼2008-08-03 18:08
          回复
            配置GRUB菜单

            注意:如果您只是想恢复您的MBR的话,则就无需进行这一步的操作了。Windows不会修改您原有的menu.lst的内容,所以如果以前一切正常的话,现在应该也会正常工作了,您可以重新启动电脑了。使用您喜欢的编辑工具打开GRUB菜单文件/boot/grub/menu.lst。例如:

            nano /boot/grub/menu.lst

            注意:您的menu.lst文件是用来控制GRUB启动时显示的操作系统以及其显示外观。本节的内容仅解释如何启动您的操作系统;不会帮助您将启动管理器设置得美观。下面是一个menu.lst的范例,但删去了不必要的注释。它是基于前面例子中/dev/hda3和/dev/hda4的假设的,同时也假设Windows安装在/dev/hda1.

            timeout 5 #The number of seconds GRUB should wait before booting an OS
            default 0 #The entry which should be booted by default
            fallback 1 #The entry which should be booted in the event of the first one failing
            title Ubuntu, 2.6.10 #A 32-bit Ubuntu entry
            #This (or something like it) should be in your configuration
            root (hd0,2)
            initrd /initrd.img-2.6.10-5-386
            kernel /vmlinuz-2.6.10-5-386 root=/dev/hda4
            title Ubuntu, 2.6.10 #Another 32-bit Ubuntu entry
            #This is an example of an Ubuntu entry which does not have a separate /boot/ partition
            #(it is provided only as an alternate to the example above -- do not use them together)
            root (hd0,2)
            initrd /boot/initrd.img-2.6.10-5-386
            kernel /boot/vmlinuz-2.6.10-5-386
            title Microsoft Windows XP Home #An entry for a Windows installation
            #If you're reading this guide, you probably want this
            root (hd0,0)
            makeactive
            chainloader +1

            就是这样了。保存并关闭此文件,然后重新启动试用一下。


            IP属地:海南6楼2008-08-03 18:10
            回复
              自动恢复GRUB

              如果您的/boot/是独立分区,输入下列命令。

              mount /dev/hda3 /boot/

              在这里重新安装GRUB很容易。输入以下命令即可。

              /sbin/grub-install /dev/hda

              如果您使用上面的命令没有成功,(这种可能性不大),您就需要手动配置GRUB(也不困难);如果您使用上面的命令成功了,您应该阅读最后一节--“配置GRUB菜单”开始部分的注意事项。
              --------------
              手动恢复GRUB

              在您进行下一步之前,您需要理解GRUB是如何区分分区的。对GRUB来说,数字从0开始,字母用数字来表示,也从0开始。例如,/dev/hda1就是GRUB中的"hd0,0"。同样地,/dev/hdb3是"hd1,2"。 注意:如果您有一个/boot/分区的话,"root"命令必须指向您/boot/分区的位置。如果您没有/boot/分区,则指向您的根分区。

              /sbin/grub
              grub> root (hd0,2)
              grub> setup (hd0)
              grub> quit


              IP属地:海南7楼2008-08-03 18:12
              回复