红联Linux门户
Linux帮助

重装windows后无法进入ubuntu?看这里

发布时间:2006-11-18 21:38:13来源:红联作者:hfh08
由于重?windows等原因破坏了grub,?法?入ubuntu的?看?里。本帖是根据??里相?的帖子整理的。很可能有漏掉不少帖子,?使用??的搜索功能。

下面??出很多?方法?解?????:

1.用livecd(强烈推荐)
2,用安?cd
3,使用grub4dos
4,使用grub??


1,使用livecd(强烈推荐)
使用任何你喜?的linux livecd(比如,ubuntu 6.06的desktop cd)

在终端下输入:

sudo su
grub

你应该看到像这样的东西:

grub>

接着输入:

root (hdx,y)
setup (hdx)

请不要完全照样输入!请弄懂这些命令的含义。

hd表示硬盘,格式是
(hd硬盘号,分区号)
从零开始计算。

所以(按照日常的习惯,从1开始数),(hd0,0)表示第一个硬盘的第一个分区,(hd0,1)表示第一个硬盘的第2个分区,(hd1,4)表示第2个硬盘的第5个分区。

(注意,linux系统里是用hda1表示第一个硬盘的第一个分区,不要把它和grub中的表示混起来。)

root (hdx,y)

这里的(hdx,y) 是/boot 目录所在的分区(通常情况下,也就是你装ubuntu系统的分区,除非你安装的时候把/boot分出去了。)如果你不知道你把ubuntu装在第几个分区,可以在输入root (hd0, 时按Tab键来补全。(假设你把ubuntu装在第一块硬盘上)

按了tab后,你将看到一些有关各个分区的信息。通常你可以通过分区的大小和格式看出你把ubuntu系统装在哪里了。


setup (hdx) 通常情况下,是setup (hd0)。(多半你把ubuntu装在第一块硬盘上。)要注意的是,不要输入setup (hd0,0)。我曾经犯过这个错误。(如果你没把命令抄下来,凭记忆操作的话,可能会犯这种错误。)

最後,用

quit

退出grub,重?系?。

好了,总结一下用到的命令(建议你把下面的代码抄在纸上。如果你对(hdx,y)表示的含义还感觉模糊,最好把上面几段解释也抄下来。)

sudo su
grub
root (hdx,y)
setup(hdx)
quit

很简单吧?关键只要理解grub中硬盘分区的表示法就行了。
文章评论

共有 6 条评论

  1. hfh08 于 2006-11-18 21:42:28发表:

    今天重装了windows系统,将原来的xp装为2003,装完后用ubuntu的安装盘
    grub-install /dev/hda 将linux恢复了,但是启动时只有一个winxp的选项,进入时说不能识别文件系统,不能启动,然后出现一个GRUB 就停住了,不过linux系统是还可以用.各位大侠有没有什么好办法,我不想再重装了!!
    启动win时的下显示见下:
    Booting 'microsoft windows xp professional'

    root (hd0,0)
    Filesystem type unkown ,partition type 0x7
    savedefault
    makeactive
    chainloader+1

    GRUB

    到这里就不动了,按键基本都没用,不过,ctrl+alt+delete能重启


    用以下方式引导windows

    # Windows
    title Windows
    rootnoverify (hd0,0)
    chainloader +1

  2. hfh08 于 2006-11-18 21:41:53发表:

    4.使用grub??

    很??,只要用grub????机器就行了。
    如何制作grub???
    如果你?做?grub??,想在用安?cd恢复的?候?便做一?,那就??下面??:

    用安装CD启动电脑,输入rescue回车,启动后执行"grub- install /dev/hda3"重新安装grub到ubuntu分区上,再用"grub-install /dev/fd0"制作一张启动软盘(如果你打算将grub安装在MBR上可就更简单了,只需要grub-install /dev/hda)。再用刚才制作的软盘重启电脑,就可以进入ubuntu linux了。为了还原我原来的NT Loader启动linux的方式,再提取hda3分区的引导记录,即“dd if=/dev/hda3 of=/linux.lnx bs=512 count=1",并将生成的linux.lnx文件复制到C区根目录下,修改boot.ini加入“c:\linux.lnx=Ubuntu linux 5.04",就可以在硬盘引导时选择启动ubuntu了。其实整个过程中制作引导软盘只起了个过渡作用,但同时也方便以后维护系统。

  3. hfh08 于 2006-11-18 21:41:15发表:

    3.2用grub4dos代替grub?引?系?

    (凭记忆写的,如有不完善请指正)

    如果你的系统现在正在使用grub引导方式,请在操作之前查看一下/boot/grub/menu.lst的内容,建议将/boot/grub/menu.lst拷贝一份以备用(将它拷到fat32分区中存放就可以)!

    进入window环境下

    1) 下载grub020p.zip并解压到C盘根目录下,打开C盘查看一下是否有以下文件

    C:\boot (文件夹)
    C:\ChangeLog.txt
    C:\compile
    C:\COPYING
    C:\grldr
    C:\grub4lin
    C:\grub-0.95-patch1-startups
    C:\grub-0.95-patch2-findroot
    C:\grub-0.95-patch3-ntfs
    C:\grub-0.95-patch4-emulation
    C:\grub-0.95-patch5-splash
    C:\grub-0.95-patch6-scdrom
    C:\grub-0.95-patch7-bioscdrom
    C:\grub.exe
    C:\grub.pif
    C:\README.txt
    C:\robin.xpm.gz
    C:\scratchpad.txt

    2) 修改C:\boot\grub\menu.lst ,用你刚才从linux系统中拷贝的menu.lst覆盖C:\boot\grub\menu.lst

    3) 进入grub命令行方式 (出现grub引导菜单时按c键)
    > root (hd0,0)
    > setup (hd0)

    4) 重启计算机

  4. hfh08 于 2006-11-18 21:40:38发表:

    3.1使用grub4dos重新安?grub

    下?http://www.ubuntu.org.cn/download/installformharddisk/grldr
    oneleaf 写道:

    将 grldr 复制到 C:\,编辑C:\BOOT.INI,加入一行:

    C:\GRLDR="GRUB"

    再手工输入启动命令
    例如:
    root (hd0,0)
    kernel /vmlinuz-2.6.10-5-686 root=/dev/hdb5 ro quiet splash
    initrd /initrd.img-2.6.10-5-686
    savedefault
    boot

    进入后,重新安装grub就好了。

    重新安?grub:
    例如 假设 /boot 磁碟分区位在 /dev/hda

    # grub-install /dev/hda

  5. hfh08 于 2006-11-18 21:39:56发表:

    3,使用 grub for dos

    在?有ubuntu安??或livecd的情?下,你可以使用grub4dos重新安?grub。你甚至可以用grub4dos代替grub?引?系?。

  6. hfh08 于 2006-11-18 21:39:02发表:

    2,使用ubuntu安?cd恢复

    ubuntu desktop-cd可能用不起来。你可能需要6。06的alternative cd。


    1. 用 Ubuntu 安装 CD 开机
    2. 在 "boot:" 提示号出现时, 键入 "rescue" 当作开机参数

    boot: rescue

    3. 顺着屏幕上的指示跟着作
    4,例如 假设 /boot 磁碟分区位在 /dev/hda

    #grub-install /dev/hda

    下面是另外一种方法。
    firehare 写道:

    1. 启动系统到 Ubuntu 安装CD
    2. 沿着屏幕上的命令直到 (千万不要超过这一步)
    [!!] Fdisk disks
    3. 按 'Ctrl + Alt + F2'
    4. 按 'Enter' 进入终端
    5.

    ~ # mkdir /ubuntu
    ~ # fdisk -l /dev/discs/disc0/disc
    ~ # mount <你的Ubuntu根设备所在位置> /ubuntu/
    ~ # chroot /ubuntu/
    sh-2.05b#
    6. 假设 /dev/hda1 是 /boot 分区的地址
    7. sh-2.05b# grub

    grub> root (hd0,0)
    grub> setup (hd0)
    grub> quit

    1. 用 Ubuntu 安装 CD 开机
    2. 在 "boot:" 提示号出现时, 键入 "rescue" 当作开机参数

    boot: rescue

    3. 顺着屏幕上的指示跟着作
    4,例如 假设 /boot 磁碟分区位在 /dev/hda

    #grub-install /dev/hda