先装了ubuntu以后再装XP就会把grub覆盖掉,启动的时候ubuntu就会不见了.解决的办法如下
使用ubuntu 7.10 livecd启动,进入桌面系统,打开终端
在终端输入以下命令:
find /boot/grub/stage1 找到你的ubuntu分区位置,我的为hd0,9
1、Sudo grub 这里要求为超级用户的权限,所以要用sudo ,进入sudo后
2、root (hd0,x) x为你ubuntu分区位置,我的是hd0,9,如上面找到的
3、setup (hd0)
4、退出重启,成功修复引导
下面为我在ubuntu中文社区所找到的资料:
hd0指第一块硬盘(不分串口SATA、并口PATA),
x是linux的主目录“/”所在分区号,编号从0开始,
root命令是指定引导的分区,
setup命令把引导信息写到硬盘MBR。
下面是来之ubuntu论坛的终极解释:作者:lisir 帖子地址:http://forum.ubuntu.org.cn/about65991.html
删除Linux与恢复grub,这是我等新手常遇到的两个问题,感觉Linux不好,想退出,就要删除Linux,覆盖Grub;而装了Windows与Linux双系统的用户,又会在重装Windows时把Grub覆盖掉,需要恢复Grub。这是后路,我们在做事之前需要先考虑好的。
删除Linux,覆盖Grub,还原成XP自带的启动引导,这个很简单,只要你有Windows XP盘(非Ghost),用它启动,至选择安装位置的地方退出重启就可以。或者用它启动故障修复台,运行fixboot或者fixmbr都可以。
而恢复Grub,其实也很简单的:用Live CD(对于Ubuntu来说就是Desktop CD或者DVD)启动,打开终端(Applications──>Accessory──>Terminal),执行以下代码: 代码:
sudo grub
find /boot/grub/stage1
root (hdX,Y)
setup (hdX)
quit
注意:其中的X、Y是执行find /boot/grub/stage1命令后系统提示的。,比如: 代码:
grub> find /boot/grub/menu.lst
(hd0,7)
注意:这里的grub>是执行sudo grub命令后进入grub环境得到的提示符,不用输入。这时,X就是0,Y就是7。
下面详细解释一下这几条命令:
sudo grub 以root用户身份启动grub,否则会出错,错误见后文
find /boot/grub/stage1 寻找/boot所在分区,其实换用find /boot/grub/menu.lst也一样。
这一步也可以跳过,在执行root (hdX,时连按两下Tab列出可用分区,自己确定是哪个分区。
如果是将/boot单独分区,详见说明。
root (hdX,Y) 设置硬盘hdX的根文件系统(root Device),实际就是设置/boot所在的分区
setup (hdX) 自动安装GRUB到硬盘hdX。
quit 退出GRUB
root、setup命令后都有空格,如果没有会出错误。
如果不以root用户身份会出现什么样的错误呢? 引用:
ubuntu@ubuntu:~$grub
[ Minimal BASH-like line editing is supported. For
the first word, TAB lists possible command
completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub> find /boot/grub/stage1
Error 15: File not found
grub> find /boot/grub/menu.lst
Error 15: File not found
grub> root(hd0,7)
Error 27: Unrecognized command
grub> root (hd0,7)
Error 21: Selected disk does not exist
grub> setup (hd0)
Error 12: Invalid device requested
一个成功例子: 引用:
ubuntu@ubuntu:~$ sudo grub
[ Minimal BASH-like line editing is supported. For
the first word, TAB lists possible command
completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub> find /boot/grub/menu.lst
(hd0,7)
grub> root (hd0,7)
grub> setup (hd0)
Checking if “/boot/grub/stage1″ exists… yes
Checking if “/boot/grub/stage2″ exists… yes
Checking if “/boot/grub/e2fs_stage1_5″ exists… yes
Running “embed /boot/grub/e2fs_stage1_5 (hd0)”… 15 sectors are embedded.
succeeded
Running “install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,7)/boot/grub/stage2 /boot/grub/menu.lst”… succeeded
Done.
grub>quit
这是最简单的方法,也有其它几个寻找/boot分区的方法,但稍麻烦点:
在终端使用ls /dev/sd*和ls /hd*命令来查找系统的外部设置,用sudo mkdir命令来建立挂载目录,用sudo mount命令挂载,再用ls命令查看是否/boot所在的分区。
也可以用sudo fdisk -l来找到启动分区(这里不涉及将/boot单独分区的情况,因为那种我没有实验过,不太清楚),如: 引用:
ubuntu@ubuntu:~$ sudo fdisk -l
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 2295 18434556 7 HPFS/NTFS
/dev/sda2 2296 19456 137845732+ f W95 Ext’d (LBA)
/dev/sda5 2296 4845 20482843+ 7 HPFS/NTFS
/dev/sda6 4846 8669 30716248+ 7 HPFS/NTFS
/dev/sda7 8670 16557 63360328+ 7 HPFS/NTFS
/dev/sda8 * 16558 17361 6458098+ 83 Linux
/dev/sda9 17362 19393 16322008+ 83 Linux
/dev/sda10 19394 19456 506016 82 Linux swap / Solaris
就知道启动分区是/dev/sda8
有人可能会有疑问,在Linux系统中是用sda8来表示这个启动分区,而GRUB中则是用(hd0,7)表示,这是因为在新版的Ubuntu中系统将串口硬盘和并口硬盘都识别为sd,a表示第一硬盘,8表示第4个逻辑分区(1──4被分配给主分区,扩展分区里的逻辑分区从5开始计算)。而Grub中则是用统一用hd代表硬盘,硬盘号与分区号都是从0开始计算的。
这部分是凭记忆写的,可能不准确,请参考wiki。
PS:
看到有的帖子说Alterate CD可以在boot后输入linux rescue来启动救援盘,后面的操作则一样。我因手头没有Alterate CD无法验证。DVD虽说集成了Alterate CD与Desktop CD,但无法在以字符界面安装时启动救援盘。
补充一点,上面讲的是在/boot下面的东西都还完好的,但如果RP不行,/boot都玩完了,可以试一下下面的:
生成/etc/mtab 代码:
sudo grep -v rootfs /proc/mounts >sudo tee /etc/mtab
安装grub到mbr 代码:
grub-install –no-floppy /dev/hda
然后就自己搞定menu.lst了.
分享到:
相关推荐
本文将详细介绍如何在Ubuntu 12.04系统上修复Grub引导,以便用户能够再次通过启动菜单来选择启动哪个操作系统。 #### 准备工作 在开始修复之前,请确保你已经准备好以下几项: 1. **Ubuntu 12.04 Live CD/DVD或USB*...
#### 二、修复Ubuntu的grub引导 当先安装Windows后安装Ubuntu时,grub通常可以正确地识别Windows的启动分区。但是,如果先安装Ubuntu再安装Windows,Windows会覆盖MBR中的grub引导,导致无法启动Linux。 **修复步骤...
Ubuntu重装启动失败进入修复grub rescue模式 本文将详细介绍Ubuntu重装启动失败进入修复grub rescue模式的解决方法。该方法适用于在Ubuntu重装过程中出现启动失败的问题,并且介绍了在grub rescue模式下如何修复...
"Ubuntu引导修复—使用LiveCD更新UbuntuGrub引导" 本文主要讲解了如何使用LiveCD更新UbuntuGrub引导的步骤,详细介绍了使用LiveCD修复Ubuntu引导的方法。下面是相关知识点的总结: 1. live CD是什么:Live CD是一...
关于Ubuntu没有grub菜单或想要设置mbr引导ubuntu。 网上关于Ubuntu和Win7双系统的安装教程不少,但是,却极少有解决安装完双系统后,没有显示grub引导菜单的内容。当然,更加少有关于使用Mbr引导Ubuntu与Win7双系统...
标题 "恢复Ubuntu启动 Grub安装出错,导致Windows7无法启动" 描述的是一个常见的操作系统双启动问题。在Ubuntu和Windows7共存的系统中,如果Grub(Grand Unified Bootloader)安装过程中出现错误,可能会破坏Windows...
### 重装Windows修复Ubuntu Grub的技巧:深入解析与实践指南 在多系统共存的环境下,尤其是当Windows与Linux(如Ubuntu)共享一台计算机时,遇到Windows系统崩溃需重装的情况,往往会导致原本安装在主引导记录(MBR...
快速修复grub 引导,留着吧!!这个方法很管用的哦! 不再为重装系统而担心引导问题了。
### Ubuntu 10.04 LiveCD 修复 Grub2 双系统引导 #### 背景介绍 在双系统环境中(例如同时安装有 Windows 和 Linux 的计算机),Grub2 是一个常用的引导加载程序,它负责在启动时提供菜单让用户选择要启动的操作...
Ubuntu GRUB 启动项教程 本文档旨在为用户提供 GRUB2 基础教程,包括 GRUB2 新特性、安装与启动、配置文件详解、脚本修改和常见错误及修复方法等内容。 一、GRUB2 新特性 GRUB2 与 GRUB 有很多不同的地方,包括:...
Windows 硬盘安装Ubuntu10.10的相关grub4dos文件: 1、将所有文件解压到C:\根目录下,然后将Ubuntu的ISO文件拷贝到C:\根目录下,并改名为ubuntu.iso再重启选择 Ubuntu,然后再选择Install Ubuntu即可进入Ubuntu ...
这些工具能自动检测并修复GRUB问题,包括恢复GRUB菜单、修复MBR、更新GRUB配置等。 ### 实例解析 根据给定的部分内容描述:“一位同学装有XP和Ubuntu的双系统,在更新Ubuntu后,发现GRUB出现问题,无法找到XP,...
Windows 7 硬盘安装Ubuntu10.10的相关grub4dos文件: 1、将所有文件解压到C:\根目录下,然后将Ubuntu的ISO文件拷贝到C:\根目录下,并改名为ubuntu.iso再重启选择Ubuntu,然后再选择Install Ubuntu即可进入Ubuntu ...
标题中的“Windows下面启动Ubuntu 9.10的GRUB”指的是在Windows系统下修复或配置GRUB(Grand Unified Bootloader),以便能够引导进入Ubuntu 9.10操作系统。GRUB是一个多操作系统启动加载器,它允许用户在计算机启动...
3. **修复Grub2**:使用`grub-install`命令重新安装Grub2到MBR,或者使用`update-grub`更新Grub2配置,使其识别所有安装的操作系统。 4. **修复Windows引导**:如果是Windows引导出现问题,可以使用Windows安装媒体...
修复 Grub 引导的方法有很多,例如通过 Grub for DOS 或是在 Linux Rescue 模式下进行修复,当然也可以通过 Ubuntu LiveCD 进行修复。 使用 Ubuntu LiveCD 修复 Grub 引导的步骤如下: 1. 将 Ubuntu LiveCD 放入...
ubuntu9.1随手笔记,GRUB引导修复,GRUB命令行启动,字体安装,flash 乱码,切换用户,eclipse安装,LD_LIBRARY_PATH变量的设置,修改系统启动选项菜单的背景图片,remastersys工具包安装