双系统重装xp引起的离奇问题(不是简单的grub问题)

启动讨论 grub/grub2/syslinux/grub4dos/Lilo
回复
newborn
帖子: 27
注册时间: 2007-10-03 18:18

双系统重装xp引起的离奇问题(不是简单的grub问题)

#1

帖子 newborn » 2009-02-20 12:24

我是ubuntu8.04+xp,昨天重装的系统,结果每次把光盘放进去后,显示监测设备……,然后就不动了,硬盘灯狂闪,但是进不去,不能重装。

后来到网上搜了很多文章,都没有给出根本的的解决方法,但有一个可行的办法是把/boot删了

我的/boot是一个独立分区,我就备份/boot分区内容到我的/home下后,直接把/boot分区格了。果然就能装xp了

可是装起xp后又一个问题来了,我的ubuntu不能引导了,我想这不是简单的恢复grub就能解决的吧,/boot分区下应该还有其他内容,可是我怎样才能把/boot分区的内容恢复回去呢……


急救高人解答
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

Re: 双系统重装xp引起的离奇问题(不是简单的grub问题)

#2

帖子 billbear » 2009-02-20 18:51

拷回去呗
然后安装 grub,修改 menu.lst fstab
newborn
帖子: 27
注册时间: 2007-10-03 18:18

Re: 双系统重装xp引起的离奇问题(不是简单的grub问题)

#3

帖子 newborn » 2009-02-20 19:49

怎么个拷回去法啊……………………
急求解决之道…………
linux进不去啊……
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

Re: 双系统重装xp引起的离奇问题(不是简单的grub问题)

#4

帖子 billbear » 2009-02-20 21:10

livecd
newborn
帖子: 27
注册时间: 2007-10-03 18:18

Re: 双系统重装xp引起的离奇问题(不是简单的grub问题)

#5

帖子 newborn » 2009-02-20 23:23

能不能具体说下,怎么用在livecd把/boot恢复回去。

我的原先/boot区现在被格了,什么东西都没,/boot分区的内容都被我拷到了/home目录下了
newborn
帖子: 27
注册时间: 2007-10-03 18:18

Re: 双系统重装xp引起的离奇问题(不是简单的grub问题)

#6

帖子 newborn » 2009-02-21 1:34

我把/boot下面的东西都拷回去了,grub引导界面也出来了,可是选择ubunt 时,提示error15: file not found,急求达人帮忙………………
头像
32idea
帖子: 1251
注册时间: 2006-12-15 9:32
系统: linux

Re: 双系统重装xp引起的离奇问题(不是简单的grub问题)

#7

帖子 32idea » 2009-02-21 4:25

/boot被格式化后,其uuid已经改变,你需要把menu.lst中的uuid改为格式化后的,或者用root(0,0)之类的格式改写,这个只是示例,
如果不明白就百度uuid以及grub的menu.lst的有关知识
又或者在livecd下重建grub试试
newborn
帖子: 27
注册时间: 2007-10-03 18:18

Re: 双系统重装xp引起的离奇问题(不是简单的grub问题)

#8

帖子 newborn » 2009-02-21 9:00

貌似我应经重建了grub了……

进入livecd
sudo grub
find /boot/grub/stage1
root (hd0,8)
setup (hd0)

是不是这个过程呢,我重建了以后才重新出现了那个多系统引导界面,可是选xp能进,选ubuntu,就是ERROR15: file not found
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

Re: 双系统重装xp引起的离奇问题(不是简单的grub问题)

#9

帖子 billbear » 2009-02-21 10:05

贴你的 menu.lst 和 fstab, 帮你改一下。
头像
32idea
帖子: 1251
注册时间: 2006-12-15 9:32
系统: linux

Re: 双系统重装xp引起的离奇问题(不是简单的grub问题)

#10

帖子 32idea » 2009-02-21 12:07

如果是这样,应该就是/boot分区的uuid更改了,而menu.lst还是旧的uuid号,办法就是上面说的,修改menu.lst,把旧的uuid号改成格式化后的uuid号;又或者用root(0,8)这样的格式更改而不使用uuid来定义。

再一个,如果你的/boot是独立分区,新建grub命令的第二步应该是

代码: 全选

find /grub/stage1
,否则应该是找不到啊,你的很奇怪
hbyczyc
帖子: 192
注册时间: 2008-03-21 16:03
来自: 湖北宜昌

Re: 双系统重装xp引起的离奇问题(不是简单的grub问题)

#11

帖子 hbyczyc » 2009-02-21 13:26

我把ubuntu引导设在了windows启动选项中,这样重装windows恢复ubuntu引导比较简单。
我一直用的方法:

原先电脑已安装了WINXP+红旗5NE。引导是这样做的:先进入红旗,在终端输入命令:sudo dd if=/dev/sda of=/mnt/linux.lnx bs=512 count=1.然后到/mnt下将此文件复制到U盘,再进入XP,将此文件复制到c:\下,右击我的电脑——属性——高级——启动与故障恢复——编辑。添加一项:C:\linux.lnx=红旗linux5NE版。
然后再安装RAYSLX,安装后会自动将MBR信息覆盖。安装好后进入RAYSLX,在终端输入命令:sudo dd if=/dev/sda of=/media/rayslx.lnx bs=512 count=1,然后到/media下将rayslx.lnx复制到U盘,再复制到c:\下。右击我的电脑——属性——高级——启动与故障恢复——编辑。添加一项:C:\rayslx.lnx=华镭系统桌面版。这时就可进入DOS,fdisk/mbr 了。
我现在的引导文件:

[boot loader]
timeout=4
default=multi(0)disk(0)rdisk(0)partition(1)\windows

[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\windows="单一影子模式 for microsoft windows xp professional" /noexecute=optin /fastdetect /SHADOWSYSTEM /bootlogo /noguiboot
multi(0)disk(0)rdisk(0)partition(1)\windows="完全影子模式 for microsoft windows xp professional" /noexecute=optin /fastdetect /SHADOWALL /bootlogo /noguiboot
multi(0)disk(0)rdisk(0)partition(1)\windows="正常开机模式 for microsoft windows xp professional" /noexecute=optin /fastdetect
C:\grldr=DOS工具箱&Linux系统 by:曰初
c:\ubuntu.lnx=Ubuntu Linux 8.04 Desktop
C:\WXPE\PELOAD=通用 PE 工具箱
我在DOS工具箱中也添加了ubuntu的启动adm项
splashimage (hd0,0)/boot/grub/bj2008.xpm.gz
fontfile (hd0,0)/boot/grub/fonts

timeout 10
default 0

title 乌班图Ubuntu 8.04 desktop
root (hd0,7)
kernel /boot/vmlinuz-2.6.24-16-generic root=UUID=a2ee197e-0652-43bb-8ece-50d80c2a188b ro quiet splash
initrd /boot/initrd.img-2.6.24-16-generic
quiet

title 启动矮人dos工具箱V5.0
kernel (hd0,0)/boot/grub/memdisk.gz c=160 h=2 s=36 floppy
initrd (hd0,0)/boot/grub/ar5.zip c=160 h=2 s=36 floppy

title 启动PQ分区魔术师双语版
kernel (hd0,0)/boot/grub/memdisk.gz c=160 h=2 s=36 floppy
initrd (hd0,0)/boot/grub/pm805.img c=160 h=2 s=36 floppy

title 启动DM9.75
kernel (hd0,0)/boot/grub/memdisk.gz
initrd (hd0,0)/boot/grub/dm957.img

title 启动HWINFO系统测试
kernel (hd0,0)/boot/grub/memdisk.gz
initrd (hd0,0)/boot/grub/hwinfo.img

title 启动硬盘再生器
kernel (hd0,0)/boot/grub/memdisk.gz
initrd (hd0,0)/boot/grub/hddreg15.img

title 启动故障恢复控制台
chainloader (hd0,0)/setupldr.001
boot

title 清除2000/XP密码
kernel (hd0,0)/boot/grub/memdisk.gz
initrd (hd0,0)/boot/grub/PASSWORD.IMA

title 启动KV2006 DOS杀毒伴侣(2006-12-31)
kernel (hd0,0)/boot/grub/memdisk.gz c=160 h=2 s=36 floppy
initrd (hd0,0)/boot/grub/kv2006.img c=160 h=2 s=36 floppy

title 效率源硬盘修复
kernel (hd0,0)/boot/grub/memdisk.gz
initrd (hd0,0)/boot/grub/xly2004.img

title GDISK单硬盘快速分区
kernel (hd0,0)/boot/grub/memdisk.gz
initrd (hd0,0)/boot/grub/gdisk83.img

title 清除CMOS密码
kernel (hd0,0)/boot/grub/memdisk.gz
initrd (hd0,0)/boot/grub/icmos.ima

title 返回WINDOWS启动菜单
rootnoverify (hd0,0)
makeactive
chainloader +1

title 重新启动计算机
reboot

title 关闭计算机
halt
http://zhouyuechu.blog.sohu.com/人有三图:一图工作舒服,挣钱多少无所谓;二图能被重用,钱少也认了;三图高薪,累点就累点。 hbyczyc@126.com祝贺宜昌荣誉“全国卫生城市”称号。宜昌欢迎你!
newborn
帖子: 27
注册时间: 2007-10-03 18:18

Re: 双系统重装xp引起的离奇问题(不是简单的grub问题)

#12

帖子 newborn » 2009-02-22 0:55

楼上的真是达人了,我不知道楼上是做什么工作的,或是学生,但感觉你自己把自己的电脑搞的有点过于复杂了,呵呵…… :em04

问题1还原:
首先,我是双系统ubuntu 8.04 + xp,我到xp用了一年了,由于双系统以及太多的应用软件,所以一直没有重装。现在到了大四下学期了,时间多了,很多软件也都用不到了,所以准备大胆的重装系统。
首先出现的问题是,我把bios设置从光驱启动,然后把系统盘放进光驱,然后重启,但是进行到"检测系统硬件……"这一步时,就不往下走了,一直停留走黑屏状态,硬盘灯狂闪。我以为是光盘的问题,就换了张系统盘,依然如此。
我到网上搜了很多资料,但一直没有根本的答案,但有一个可行的办法就是把/boot分区给删除了,就能重装了,具体的原理我现在都不是很懂,看了看grub的引导过程,大概了解了stage1,stage1_5,stage2的步骤,但是为什么把/boot分区删除了系统盘就能进行下去了,还待达人解答。

问题解决:
我先进ubunt,把/boot分区的内容全部copy我的/home目录下,算是做个备份。
然后进xp,用PM把/boot分区直接给格了,(我的/boot分区是一个独立分区)
接着设置bios光驱启动,放进系统盘,重装xp……顺利完成重装任务!! :em11

问题2还原:
重装完xp后的任务就是回复ubuntu,但是我把/boot分区都给格了,grub被覆盖了,所以这步的主要问题是把/boot分区内容恢复,然后恢复grub。
恢复/boot文件,我不知道怎么下手。我的/boot分区以前是独立分区,我给格了,就认为它被删除了(当时可能真是急得头昏了,这点都没想明白)。就不知道/boot分区到内容怎么弄回去了。现在想想/boot分区应该还在,只是里面没内容了,就如同格了C盘,还是可以往里面放文件的,当时我直接在livecd下把内容cp过去应该是可行的。

问题解决:
我用的应该是最笨的方法了,我先到xp下,用PM把原先的/boot分区所占的硬盘空间合并到了swap中(以免空间浪费),然后进livecd,发现根目录下还有个/boot文件夹,就直接把备份的内容cp进去了。然后恢复grub。这个方法真的是下下之策了。

恢复grub步骤:
sudo grub
find /boot/grub/stage1 //显示的结果为(hd0,8),这里(hd0,0)表示c盘,(hd0,4)表示d盘,以此类推,具体见google
root (hd0,8) //用上一结果的值,但切记root与括号之间一定要有空格,否则命令无法识别
setup (hd0) //写进mbr,这里setup与括号之间也有空格

然后重启,久违的多系统引导界面出现了, :em05

问题 3还原:
虽然显示了grub引导界面,但是我选择ubuntu哪个选项都进不去,每个都是错误提示 error15: file not found……这次网上就没什么内容可参考了,但多谢各位达人在这里的回帖,提示我menu.lst和fstab可能有问题,我就去网上仔细看了下menu.lst的内容详解,这时我注意到引导linux的部分,有些细微差别:

title Ubuntu 8.04.2, kernel 2.6.24-23-generic
root (hd0,8)
kernel /boot/vmlinuz-2.6.24-23-generic root=UUID=86048b0c-22f8-4938-900d-c29bbdd7eac1 ro quiet splash locale=zh_CN
initrd /boot/initrd.img-2.6.24-23-generic

注意带下划线的蓝色部分,我发现网上几个menu.lst,有的没写/boot,有的写了。我就在想找里面的区别,root (hd0,8)是进入根分区,kernel自然就是加载分区下的内核文件了,而我的内核文件绝对路径为/boot/vmlinuz-2.6.24-23-generic,所以我猜想我的问题应该是出在这里,才会出现file not found的问题。
我就又从网上找些资料,碰巧看到了一个解释,证明了我的猜测是对的。有些人把/boot设为单独分区,这里root (hd0,8)就是进入/boot分区,而vmlinuz-2.6.24-23-generic文件就在这个目录下,所以kernel后面到路径不必加/boot。而我以前/boot是独立分区,现在改成了都在一个/分区下,所以menu.lst这里需要加上。

问题解决:
进livecd
sudo vim /media/disk/boot/grub/menu.lst // 这里出现/media/disk是因为用的livecd,以前的分区是挂载在这个下面的
在kernel和initrd后面 加上/boot //这里最好都加上,总没错
重启,进入grub引导界面,选择ubuntu8.04,我那可爱的ubuntu 8.04又回来了。。 :em08
但启动过程中有个小问题,在黑屏+白字里有个鲜红的error,后来改了fstab就完全ok了,uuid没变。

总结:
这里对双系统linux+xp,重装xp系统的步骤,希望大家遇到我这样的问题(系统盘无法进入,无法重装xp),以后可以少走弯路哦
这里以ubuntu8.04为例了。
第一步,进入ubuntu,將/boot分区的内容全部备份到一个安全的分区,最好自己的个人目录/home/***
第二部,删除/boot里面的全部内容,需要sudo哦。或者到windows下,用PM直接把/boot分区格了(这里/boot必须是在独立分区)
第三步,设置bios光驱启动
第四步,装入系统盘,重装xp
第五步,用livecd启动,挂载linux分区,把备份的/boot的内容拷回到/boot目录,这里/boot文件夹总是在的。
第六步,恢复grub,这个不用详细介绍了,不会的自己到网上搜
第七步,如果修复grub后显示 error15: file not found,先修改menu.lst,这里主要是把menu.lst的内容看懂,就知道怎么修改了,就是kernel和initrd后 面加上两个文件的绝对路径。其次是如果uuid有问题,这个在启动过程中会有鲜红的error提示无法解析哪个uuid的,再修改/etc/fstab文件和menu.lst中的uuid部分了。总之修复grub后仍有问题,就主要是修改menu.lst和fstab这两个文件了。


终于写完了,睡觉去了,大家都晚安 :em13
newborn
帖子: 27
注册时间: 2007-10-03 18:18

Re: 双系统重装xp引起的离奇问题(不是简单的grub问题)

#13

帖子 newborn » 2009-02-22 0:56

最后再说一句,谢谢LS的各位的鼎力相助,非常感谢
回复