(转)UBUNTU双系统上重装XP后修复GRUB方法(较全)
UBUNTU双系统上重装XP后修复GRUB方法
重装xp后,mbr被xp写入信息导致grub无法工作解决方法
从CD-ROM启动,从Live CD启动进入桌面。
打开终端或者切换到一个tty(Ctrl+Alt+F1)。
输入:sudo grub
输入:find /boot/grub/stage1 ##有人说这一步不用,不过个人感觉还是应该加上这一步
输入:root (hd0,x) ##输入find命令反馈的数据
输入:setup (hd0) ##如果想用xp进行多系统引导就写(hd0,x)
输入:quit ##退出grub。
重新启动,不出意外的话,那么恭喜,呵呵,可以看到XP和UBUNTU的双系统引导咯^_^
---------------------------------------------------------------------------
重装windows XP 后怎样找回Ubuntu
首先下载GRUB for Dos
并安装下载Ext3分区访问软件(有Ext2Fsd 或explore2fs)
运行后将ubuntu根目录下的Boot文件夹里全部复制到C盘.
重启后在开机菜单里选择GRUB就可进入ubuntu.
要点:ubuntu linux 需要GRUB for Dos来引导,所以C:\BOOT.INI里,会有这一行:
C:\GRLDR="GRUB"ext3
分区下的boot文件夹里面放了可以引导的文件,需将其放在c盘根目录.
-------------------------------------------------------------------------------------------------------
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中硬盘分区的表示法就行了。
2,使用ubuntu安裝cd恢复
ubuntu desktop-cd可能用不起来。你可能需要7.10的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
3,使用 grub for dos
在沒有ubuntu安裝盤或livecd的情況下,你可以使用grub4dos重新安裝grub。
你甚至可以用grub4dos代替grub來引導系統。
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
3.2用grub4dos代替grub來引導系統
yonsan 写道:
(凭记忆写的,如有不完善请指正)
如果你的系统现在正在使用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) 重启计算机
从CD-ROM启动,从Live CD启动进入桌面。
打开终端或者切换到一个tty(Ctrl+Alt+F1)。
输入:sudo grub
输入:find /boot/grub/stage1 ##有人说这一步不用,不过个人感觉还是应该加上这一步
输入:root (hd0,x) ##输入find命令反馈的数据
输入:setup (hd0) ##如果想用xp进行多系统引导就写(hd0,x)
输入:quit ##退出grub。
重新启动,不出意外的话,那么恭喜,呵呵,可以看到XP和UBUNTU的双系统引导咯^_^
---------------------------------------------------------------------------
重装windows XP 后怎样找回Ubuntu
首先下载GRUB for Dos
并安装下载Ext3分区访问软件(有Ext2Fsd 或explore2fs)
运行后将ubuntu根目录下的Boot文件夹里全部复制到C盘.
重启后在开机菜单里选择GRUB就可进入ubuntu.
要点:ubuntu linux 需要GRUB for Dos来引导,所以C:\BOOT.INI里,会有这一行:
C:\GRLDR="GRUB"ext3
分区下的boot文件夹里面放了可以引导的文件,需将其放在c盘根目录.
-------------------------------------------------------------------------------------------------------
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中硬盘分区的表示法就行了。
2,使用ubuntu安裝cd恢复
ubuntu desktop-cd可能用不起来。你可能需要7.10的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
3,使用 grub for dos
在沒有ubuntu安裝盤或livecd的情況下,你可以使用grub4dos重新安裝grub。
你甚至可以用grub4dos代替grub來引導系統。
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
3.2用grub4dos代替grub來引導系統
yonsan 写道:
(凭记忆写的,如有不完善请指正)
如果你的系统现在正在使用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) 重启计算机