设为首页 收藏本站
查看: 1056|回复: 0

win7+ubuntu+fedora的引导修复。

[复制链接]

尚未签到

发表于 2015-5-16 12:06:06 | 显示全部楼层 |阅读模式
  好久没有写博客了,今天来发文纪念一下非常之蛋疼的一天(一下午)。
  最近在搞嵌入式开发,嵌入式开发当然少不了Qt,但是以前没有玩过Qt哇。安装Qt的qt-x11源代码就让我非常之上火!
  昨天晚上编译了半晚上也没有弄好,虽然fedora 18是才新装上的,但是已经让我弄得乱七八遭了。。。
  恰好手上有Ubuntu 12.10的U盘live,于是乎一冲动就吧win8 盘格式化了,重启进入u盘引导了。
  于是乎,注定了今天一下午的蛋疼。
  安装Ubuntu的时候他提示和win7共存,说明已经识别win7的启动项了,但是却没有提示有fedora 的存在,但是我也没有太在意,就直接下一步了。
  重启果然没有了fedora的开机引导,但是一看他的盘还在,说明系统还在。本来以为Ubuntu里运行一下update-grub就好了,但是事实总是事与愿违,试了一下grub-mkconfig当然也是失败告终。
  ubuntu 12.10用的是grub,而fedora 用的是grub2,也许这是失败的原因(猜测的)。
  后来在网上逛了一圈,说是用U盘live开机,然后。。。
  然后我就台式机上下载了fedora的KDE live ,用usb creator 制作了U盘启动,但是悲剧再次发生,从U盘启动直接就没有反应,一个黑屏让我傻了眼。无奈有重做了U盘启动,还是不行,百思不得其解,换了台电脑还是不行有木有哇!!
  这才想到可能是U盘有问题。。。
  于是换了一个4G内存卡,直接妥了哇!!!过去一直用这个U盘做各种启动盘一直很好用,这次为啥就不行了呢。。原因还不知道,有可能这U盘已经到尽了,他为我做出的贡献已经不少了。扯远了。
  进去之后是这样干的:
  su
  mount /dev/sda /mnt
  grub-install-root-directory=/mnt /dev/sda     //install grub2 to MBR
  结果显示错误(啥错误记不住了。。。)
  后来一想把 Ubuntu 系统的 /boot 挂载上然后再 。。。
  umonut /mnt
  mount /dev/sda9  //我的Ubuntu系统所在的分区
  cd /boot/grub
  然后看到了 grub.cfg
  有点激动的试了一下
  grub-mkconfig -o /mnt/boot/grub/grub.cfg
  结果总是不那么让人感觉到爽。没有发现fedora.后来才发现其实这和在Ubuntu里执行是一样的。
  再试:
  umount /mnt
  mount /dev/sda11 //我的fedora系统所在盘
  cd /mnt/boot/grub2
  然后试了一下
  grub-mkconfig -o /mnt/boot/grub2/grub.cfg
  果然有惊喜,找到了fedora 18 的开机启动项。
  然后一下午就这么过去了。。。
  到了晚上来写个博客,记录一下修复过程,悲剧再次发生。
  不知道哪根筋又答错了,突然执行了以下命令:
  rpm -qa qt*
  然后又不小心执行了一句:
  yum remove qt-x11-4.8.4-14.fc18.i686
  一边执行一边写博客,就在这时,电脑突然黑屏了,显示若干错误,
  图形化窗口突然关闭了。这!!!!
  我辛苦写的博客。。。我估计是没有了。
  然后在命令行下登陆,竟然还可以startx,
  进去之后一切还好,不过chrome已经关了。打开chrome后,
  ctrl+alt+t
  回复上次关闭的窗口,结果博客圆是打开了,编辑随笔还在,题目竟然还在,坑爹的是内容木有了,而且写了80%的博客没有保存草稿。。。
  哎!~悲剧总是一次一次的发生。
  最后还是决定重写博客,记录不幸的今天。
  最后的教训是:
  不要随随便便就重装系统了,说不定哪天电脑的第一块扇区就崩了,我的U盘就已经不能做启动盘了。。。
  以后不管干什么都要注意保存和备份数据。
  还有就是 fedora 里面的yum remove  最好还是在有把握的情况下用,要不就要发生悲剧了。
  最后在来张桌面图显摆一下 fedora 18 KDE DSC0000.png
  
  今天继续手贱,在win7下把 Ubuntu的系统盘给格式化了,结果理所当然的系统又没法引导了。。。。
  网上搜索了一下,http://blog.iyunv.com/firefoxbug/article/details/7322763 试了试 他的方法,不知为何一直提示 /bin/bash  为未知文件或命令,试着挂载了一下/bin 到/media/bin,
  还是不行!!
  后来又找了一个方法,http://www.iyunv.com/Linux/2011-06/37556.htm,
  在fedora 18 上使用的是grub2 ,命令稍微有点不同,于是:
  grub2-install -?
  看看使用方法如下:



[qin@localhost ~]$  grub2-install -?
Unrecognized option `-?'
Usage: grub2-install [OPTION] [INSTALL_DEVICE]
Install GRUB on your drive.
-h, --help              print this message and exit
-v, --version           print the version information and exit
--modules=MODULES       pre-load specified modules MODULES
--boot-directory=DIR    install GRUB images under the directory DIR/grub2
instead of the /boot/grub2 directory
--target=TARGET         install GRUB for TARGET platform
[default=current]
--directory=DIR         use GRUB images from DIR. Takes precedence
over target
--grub-setup=FILE       use FILE as grub-setup
--grub-mkimage=FILE     use FILE as grub-mkimage
--grub-mkrelpath=FILE   use FILE as grub-mkrelpath
--grub-probe=FILE       use FILE as grub-probe
--allow-floppy          make the drive also bootable as floppy (default
for fdX devices). May break on some BIOSes.
--recheck               delete device map if it already exists
--force                 install even if problems are detected
--force-file-id         use identifier file even if UUID is available
--disk-module=MODULE    disk module to use (biosdisk or native). This
option is only available on BIOS target.
--no-nvram              don't update the `boot-device' NVRAM
variable. This option is only available on
IEEE1275 targets.
--removable             the installation device is removable. This option
is only available on EFI.
--bootloader-id=ID      the ID of bootloader. This option is only
available on EFI.
--efi-directory=DIR     use DIR as the EFI System Partition root.
INSTALL_DEVICE must be system device filename.
grub2-install copies GRUB images into /boot/grub2, and uses grub-setup
to install grub into the boot sector.

Report bugs to .
  用到的就是这一条了 :

--boot-directory=DIR    install GRUB images under the directory DIR/grub2
instead of the /boot/grub2 directory


  于是 :
  grub2-install --boot-directory=/media  /dev/sda
  /media 下挂载的是fedira 的boot分区。
  重启系统果然成功了。
  
  2013年6月20日:
  今天在一次记录我那悲剧的笔记本电脑.....
  参加了一个比赛,就要答辩了,于是在windows7下吧那一块还空闲的50G硬盘分配了一个新的分区,然后打算就把这个盘作为专用盘去比赛,然后又创建了一个新的WIN用户,设置了一些硬盘访问权限。之后用的很爽,结果悲剧就在重启电脑的时候发生了!
  重启之后直接错误进不了系统,提示 grub rescue ,当时我就不淡定了,不就是创建了个WIN用户么,又一想我还对硬盘分区动过手,估计就是这个原因了!
  无奈只好Google了。。
  找到了一些有用的东西:
  由于在rescue模式下,只有少量的基本命令可用,必须通过一定的操作才能加载正常模块,然后进入正常模式。
rescue模式下可使用的命令有:set,ls,insmod,root,prefix(设置启动路径)
先假设grub2的核心文件在(hd0,8)分区,再来看看怎样从 rescue模式进入从(hd0,8)启动的正常模式(normal)。
在 rescue模式下search命令不能用,对不清楚grub2文件处于哪个分区的,可以用ls命令查看,比如
ls (hd0,8)/ 查看(hd0,8)分区根目录,看看有没有boot文件夹
ls (hd0,8)/boot/ 查看(hd0,8)分区的/boot目录下文件
ls (hd0,8)/boot/grub/ 查看(hd0,8)分区/boot/grub目录下文件
通过文件查看,可以确定 grub2核心文件处于哪个分区,接下来就可以进行从rescue到normal的转变动作:
先 ls 看看分区,根据分区列表,记下 / 分区的编号再 ls (hd0,x)/ 看分区目录下文件确定找到 / 分区,不对的话继续找。找到 / 分区的 (hd0,x) 继续
grub rescue>root=(hd0,x)
grub rescue>prefix=/boot/grub
grub rescue>set root=(hd0,x)
grub rescue>set prefix=(hd0,x)/boot/grub
grub rescue>insmod normal
rescue>normal -------->若出现启动菜单,即可进入系统。
  但是这还没有完,因为在重启后问题依然在。
  我们需要进入Linux中,对grub进行修复。


  grub2-mkconfig -o /boot/geub2/grub.cfg
      grub2-install /dev/sda  (sda是你的硬盘号码,千万不要指定分区号码,例如sda1,sda5等都不对)
  成功之后重启测试,grub2已经成功修复好了。
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-67475-1-1.html 上篇帖子: 转Vb6.0安装失败解决办法,完全卸载VB(提高班里win7没装上VB的可以看看,我实验成功了) 下篇帖子: win7分区工具——Acronis Disk Director Suite
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表