我们可能在安装WIN时,把GRUB或者LILO从MBR上清除。如果在没有系统引导软盘只有安装盘的情况下,所采取的解决办法如下:
一:
1.把安装盘的第一张放到光驱,然后重新启动机器,在BOIS中把系统用光驱来引导。
2.等安装界面出来后,按[F4]键,也就是linux rescue模式。
3.一系列键盘以及几项简单的配制,过后就[继续]了。。。这个过程,我不说了,比较简单。
4.然后会出现这样的字符
sh#
sh#grub
会出现这样的字符
grub>
我们就可以在这样的字符后面,输入
grub>root (hdX,Y)
grub>setup (hd0)
如果成功会有一个successful......
请留意root和(hdX,Y)之间有一个空格,这里的X,如果是一个盘,就是0,如果你所安装的linux的根分区在第二个硬盘上,那X就是1了;Y,就是装有linux系统所在的根分区。 setup (hd0)就是把GRUB写到硬盘的MBR上。
附注:这里的X一般就是0,至于Y是多少,假如你的根分区安装在hda8上,那么Y就是7,以此类推,如果你不知道装在什么分区也可以按TAB键补齐.
二:另一种方法.
在boot:处输入linux rescue回车。语言选中文,不用配置网络,一直继续,到提示符处,输入
chroot /mnt/sysimage
然后
grub-install /dev/hda(安装在mbr)
附注:这次我就是按照这种方法修复的grub,但是遇到一个问题,重新启动的时候依然没有看见grub界面,原来是我修改了分区,原来的启动是root (hd0,8),现在是root (hd0,7),而在/boot/grub/menu.lst里面却没有改,还是原来的root (hd0,8),启动的时候当然找不到了,所以修改之后就OK了.
星期三, 五月 16, 2007
用NTLoader 引导多系统
感觉到将grub装到mbr影响了我的电脑的启动速度,主要是主板自检吧! 出现logo好慢。
今天将mbr拷贝了出来,然后fdisk /mbr(M$ dos)按照M$的标准修复了mbr
启动快了, 然后用会nt的引导,又没破坏linux的引导! 重装系统也好恢复了!
下面的操作步骤!
首先起确认你的grub正常,并能启动linux, 然后启动到linux (Ubuntu)
如果你的是IDE硬盘
代码:
sudo dd if=/dev/hda of=/media/linux.lnx bs=512 count=1
如果你硬盘的被识别为SATA
代码:
sudo dd if=/dev/sda of=/media/linux.lnx bs=512 count=1
题外话:如果没有bs=512 count=1的话,dd好像跟ghost一样,不知道是不是哦,高手赐教
然后你可以到/media找到linux.lnx这个文件
将它cp到你的win根目录,例如是C:\,而且我建议你对这个文件做多个备份!
然后重启到win
进入后确认你的系统根目有linux.lnx这个文件
然后修改boot.ini
boot.ini请在win 下修改,因为编码不同! 大侠除外
它可能隐藏和只读,然后在后面加入
如果有 代码:
time=0
请将0更改!如time=5
代码:
C:\linux.lnx="linux"
保存
然后你就可以reboot看效果了
nt的引导菜单会出现linux这一项,选择后好像又会到grub的菜单了
事实上它只是读了linux.lnx
上面这个确认能进入linux后你就可以选者性的对mbr做M$的恢复了
win9x的引导盘是
代码:
fdisk /mbr
而nt就是用安装光盘或别的方法进入修复控制台
然后 代码:
fixmbr
这样你的mbr 就跟只装win的一样了!
如果你对win重装了只要做
拷尼备份的linux.lnx到win的根目录
并修改boot.ini (修改在前面已经有了)
这是dd的用法!
dd
1.作用
dd命令用来复制文件,并根据参数将数据转换和格式化。
2.格式
dd [options]
3.[opitions]主要参数
bs=字节:强迫 ibs=<字节>及obs=<字节>。
cbs=字节:每次转换指定的<字节>。
conv=关键字:根据以逗号分隔的关键字表示的方式来转换文件。
count=块数目:只复制指定<块数目>的输入数据。
ibs=字节:每次读取指定的<字节>。
if=文件:读取<文件>内容,而非标准输入的数据。
obs=字节:每次写入指定的<字节>。
of=文件:将数据写入<文件>,而不在标准输出显示。
seek=块数目:先略过以obs为单位的指定<块数目>的输出数据。
skip=块数目:先略过以ibs为单位的指定<块数目>的输入数据。
今天将mbr拷贝了出来,然后fdisk /mbr(M$ dos)按照M$的标准修复了mbr
启动快了, 然后用会nt的引导,又没破坏linux的引导! 重装系统也好恢复了!
下面的操作步骤!
首先起确认你的grub正常,并能启动linux, 然后启动到linux (Ubuntu)
如果你的是IDE硬盘
代码:
sudo dd if=/dev/hda of=/media/linux.lnx bs=512 count=1
如果你硬盘的被识别为SATA
代码:
sudo dd if=/dev/sda of=/media/linux.lnx bs=512 count=1
题外话:如果没有bs=512 count=1的话,dd好像跟ghost一样,不知道是不是哦,高手赐教
然后你可以到/media找到linux.lnx这个文件
将它cp到你的win根目录,例如是C:\,而且我建议你对这个文件做多个备份!
然后重启到win
进入后确认你的系统根目有linux.lnx这个文件
然后修改boot.ini
boot.ini请在win 下修改,因为编码不同! 大侠除外
它可能隐藏和只读,然后在后面加入
如果有 代码:
time=0
请将0更改!如time=5
代码:
C:\linux.lnx="linux"
保存
然后你就可以reboot看效果了
nt的引导菜单会出现linux这一项,选择后好像又会到grub的菜单了
事实上它只是读了linux.lnx
上面这个确认能进入linux后你就可以选者性的对mbr做M$的恢复了
win9x的引导盘是
代码:
fdisk /mbr
而nt就是用安装光盘或别的方法进入修复控制台
然后 代码:
fixmbr
这样你的mbr 就跟只装win的一样了!
如果你对win重装了只要做
拷尼备份的linux.lnx到win的根目录
并修改boot.ini (修改在前面已经有了)
这是dd的用法!
dd
1.作用
dd命令用来复制文件,并根据参数将数据转换和格式化。
2.格式
dd [options]
3.[opitions]主要参数
bs=字节:强迫 ibs=<字节>及obs=<字节>。
cbs=字节:每次转换指定的<字节>。
conv=关键字:根据以逗号分隔的关键字表示的方式来转换文件。
count=块数目:只复制指定<块数目>的输入数据。
ibs=字节:每次读取指定的<字节>。
if=文件:读取<文件>内容,而非标准输入的数据。
obs=字节:每次写入指定的<字节>。
of=文件:将数据写入<文件>,而不在标准输出显示。
seek=块数目:先略过以obs为单位的指定<块数目>的输出数据。
skip=块数目:先略过以ibs为单位的指定<块数目>的输入数据。