ubuntu启动修复- 旋风的博客- 51CTO技术博客

 在安装Windows和Linux多重系统的计算机上,经常会出现启动菜单丢失、系统无法引导等问题,因此学会如何使用一些工具对系统进行修复是非常有必要的。Ubuntu LiveCD虽然不是专门的系统修复工具,但在很多关键时候它却能让系统起死回生。
   一、修复Grub引导

     在安装了Ubuntu或者是Linux的计算机上重装Windows时,会将Grub从MBR(硬盘主引导记录)上xx而导致无法进入Ubuntu,这是多系统用户经常会遇到的问题。修复Grub引导的方法有很多,例如通过Grub for DOS或是在Linux Rescue模式下进行修复,当然也可以通过Ubuntu LiveCD进行修复。

     将Ubuntu LiveCD放入光驱并启动计算机,进入工作界面。执行“Applications→Accessories→Terminal”,打开终端,输入并执行“sudo -i”命令,切换到root终端模式,然后输入“grub”,回车执行,即会出现Grub命令提示。

     在Grub命令提示符下输入:“find /boot/grub/stage1”,此时,屏幕会返回类似“(hd0,2)”的字样,这是/boot所在的分区。根据显示的结果,再分别输入并执行如下命令:

     root (hd0,2)

     setup (hd0)

     注意:root后面有一个空格。以上指令首先定位Grub所需的/boot目录所在分区,然后将Grub的引导代码写入MBR(图1)。如果要想将Grub写入根分区的话,则需要在逗号之后加上数字,如“(hd0,2)”。当修复成功时会显示“succeeded”字样,{zh1}执行“quit”命令退出Grub。取出Live CD,重新启动计算机即可。

执行上述指令修复Grub引导

图1 执行上述指令修复Grub引导

     二、MBR备份与恢复

     Ubuntu LiveCD不仅仅可以修复Grub,同时它也能够用来备份MBR并对其进行恢复。用LiveCD启动计算机,进入工作界面后,打开终端,输入如下命令备份MBR包括分区表:“sudo dd if=/dev/hda of=/ bs=512 count=1”

     其中,“/dev/hda”是要备份的硬盘,hda表示硬盘安装在IDE{dy}主盘,如果安装在第二主盘则为“/dev/hdc”;“bs”是Block Size,即一次IO操作读写的字节数,若是仅仅备份主引导记录而不备份分区表的话,则改成“bs=446”;“count”参数表示处理多少个Block;为备份文件的路径与文件名称,如“/media/floppy/boot.mbr”。

     当需要恢复时,则使用如下命令:“sudo dd if=/ of=/dev/hda bs=512 count=1”。

  三、拯救数据文件

     如果系统出现严重故障无法进入,但系统分区中还有一些重要的数据文件或配置需要备份出来,Ubuntu LiveCD也能够轻松地搞定。它能够自动找到计算机中的硬盘分区,兼容FAT32、NTFS、EXT2、EXT3等多种分区格式。借助它,我们可以很轻松地在图形界面下将数据文件抢救到硬盘、U盘、软盘,甚至是光盘中。同样,如果是重要的系统文件丢失导致系统无法运行,而又有备份文件可供恢复的话,也能够通过Ubuntu LiveCD进行恢复(图2)。

自带的文件修复

图2 自带的文件修复

     需要提醒读者的是,由于这是一个LiveCD的环境,在这里对用户帐户或文件系统的改动都是暂时性的,因此备份文件的时候请选择安全的分区,而不要将其备份在当前Ubuntu系统的任何文件夹下。

     小贴士:什么是LiveCD

     LiveCD通常是指那些可以从光盘上直接运行的操作系统。与常见的Linux套件发行版不同,Linux LiveCD不必安装,无需硬盘,只需将光盘插入光驱,并调整BIOS从光驱启动即可进入系统进行操作

 

专门装了个Win2k,在这之前已经知道安装Win系统后会自动回定硬盘的MBR扇区造成不能通过GRUB引导Ubuntu。近几天一直都在玩,也就没去动它。今天总算收心回来工作,也就要修复GRUB好启动UBUNTU。
说过程也可能有点麻烦,但操作还是很简单。

要修复GRUB的{dy}件事就是想办法进入GRUB。

如果有Ubuntu的LiveCD很简单,用LiveCD启动电脑,然后进入终端直接运行grub就可以进入GRUB指令状态。

如果没有LiveCD那就只有用Win下面的GRUB工具了。比如GRUBforDOS或其它一键备份之类的工具,很多这类的工具都是用GRUB来管理启动菜单。我一直都有用一个叫矮人DOS工具箱的工具,所以也就用它来启动GRUB。

安装矮人DOS工具箱,启动电脑,进入DOS工具箱,这样就进入GRUB引导的菜单。按“P”输入密码工具箱的默认密码hahaha,再按“C”即可进入GRUB指令行。

用下面指令找到Ubuntu的安装位置,也就是哪个硬盘分区。

find/boot/grub/stage1

返回类似(hdx,y)这样的结果,x为硬盘,y为分区,x和y是从0开始计数。

(hd0,1)

这样的结果就是说明我的Ubuntu安装在{dy}块硬盘的第二个分区。

root(hd0,1)

这一行是指定Ubuntu安装在哪个硬盘哪个分区,也就是使用find找到的结果。

setup(hd0)

将GRUB引导安装在哪个硬盘。敲回车后它会自动找到以前的菜单,GRUB算是修复成功了。

reboot

熟识的Uuntu启动出来了。


进入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/stage1

(hd0,6)

grub> root (hd0,6)

grub> setup (hd0)

Checking if "/boot/grub/stage1" exists... yes

Checking if "/boot/grub/stage2" exists... yes

Checking if "/boot/grub/reiserfs_stage1_5" exists... yes

Running "embed /boot/grub/reiserfs_stage1_5 (hd0)"...   19 sectors are embedded

.

succeeded

Running "install /boot/grub/stage1 (hd0) (hd0)1+19 p (hd0,6)/boot/grub/stage2

/boot/grub/menu.lst"... succeeded

Done.

grub> quit

ubuntu@ubuntu:~$ sudo grub

Probing devices to guess BIOS drives. This may take a long time.

ubuntu@ubuntu:~$

恢复完毕,重新启动。

一切完毕,就这么简单!!






 

ubuntu下修改开机启动菜单的方法。首先进入终端,然后输入sudo gedit /boot/grub/menu.lst 。注意这里的扩展名是LST,而不是LIST。然后输入你的登录密码,{zh1}会弹出一个文本编辑器。

这个文本里面有很多信息,其中由#字开头的都不要管他,因为这些只是注释信息,对于启动没有作用。可以(一般)修改的参数如下:

default:后面的数字就是让你选择哪一个操作系统为默认进入的系统,从0开始数。0代表{dy}个操作系统

timeout:后面的数字表示启动菜单停留的时间,单位秒。

关于安装XP后启动菜单消失的问题,直接用live光盘引导至linux下,然后进入终端,输入以下命令sudo grub。

其中grub>为提示符,提示符后面的是所需输入的命令。在grub提示符下,你只需输入三条命令就可以把开机启动菜单给找回来。{dy}条 find /boot/grub/stage1,第二条 root (上一条的结果),第三条 setup(hd0)。

关于(hd0,8)的解释:hd0就是代表{dy}个硬盘,8代表硬盘上的第9个分区

本文出自 “” 博客,谢绝转载!





郑重声明:资讯 【ubuntu启动修复- 旋风的博客- 51CTO技术博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——