[ 已解决 ] 急求!双系统进不了 win7

刚刚成功硬盘安装 opensuse12.3,欣赏了下 opensuse 的界面。重启进入引导选择 win7 后,屏幕显示 A disk reaf error occurrd Press Ctrl+Alt+Del to restart 求问怎么解决,手机发帖不容易

可以进 openSUSE 么?

那个意思是 A 盘读取错误,按 Ctrl+Alt+Del 重启。你先重启试试。

可能是引导区坏了之类的,据说把 BIOS 恢复成默认就可以了,你也可以尝试一下。当然,我是单系统用户所以。。。

不知道在 opneSUSE 里设置 grub2 有没有效。介于你在隔壁楼发帖,我怀疑是分区的问题。可以发一下你是怎么分的区么,我知道你手机有点麻烦,但是方便后面的大神解答。

怎么把 BIOS 恢复成默认啊?openSUSE 可以进

BIOS 恢复默认没用

启动菜单上移动到 win 上,按 e(or 先 esc 再 e,记不请了),然后检查一下 windows 的分区是不是对的,也就是类似 set root=(hdx,msdosx)那句,如果不确定可以改着试一下。估计可能是分区标记错了,指定的那个分区是 win 的启动分区~
以上纯属猜测,如有雷同纯属巧合~

请问 set root 这句应该是什么或者说改成什么样

(hdx,msdosx)hdx 中的数字 x 指的是硬盘序号,第一个硬盘是 0,第二个是 1,依次类推,msdosx 中数字 x 是指分区序号,第一个分区应该是 1,第二个是 2 依次类推。如果只有一个硬盘,应该是 hd0,分区那个可以自己逐个试一下。修改完成后好像是 ctrl+x or F10 启动。。如果确实上分区号不对,记住能启动 win 的分区号然后在 suse 下修改 grub 配置文件为正确的配置。修改 grub 的访求自行 google or wiki。。

msdosx 中的 x 也是数字吗

谢谢,按照你的思路。我在命令行状态下输入
grub>setroot(hd0,1)
grub>chainloader +1
grub>boot
已成功进入 win7。但是我还有个疑问,我总不能总是这样进入 win7 吧!(毕竟我是以 win7 为主系统)能不能不用 grub2 作为引导,而用 win 的引导

能,搜索 easyBCD

谢谢,按照你的思路。我在命令行状态下输入
grub>setroot(hd0,1)
grub>chainloader +1
grub>boot
已成功进入 win7。但是我还有个疑问,我总不能总是这样进入 win7 吧!(毕竟我是以 win7 为主系统)能不能不用 grub2 作为引导,而用 win 的引导
永久性的修改需要更改 grub2 的配置。你可以先在 opensuse 中试着在 yast2 的 bootloader(引导装载程序)中修改,如果不成功可以手动更新 grub2 的配置,具体方法请自行 google~

最简单的解决方法是,在 opensuse 环境下执行命令:
sudo grub2-mkconfig
之后,启动的时候就会有 MS 的启动项了。
:sunglasses:

我来解决吧。这段时间修复过数次 grub2 了,有经验了。grub2 不是像你想象的只能引导 linux,它能引导 linux 和 windows 双系统,就是你装完 opensuse 后那个启动界面,可以选择 opensuse 也可以选择 win7。

方法一:

  1. 修复引导双系统

如果能进 opensuse,先进入 opensuse 系统。打开终端
输入
su

然后输入 root 密码

成功登录 root 账户后
输入
grub2-mkconfig -o /boot/grub2/grub.cfg

好了后再接着输入
grub2-install /dev/sda

这样便修复好了 grub2。

最后
exit
退出 root 用户并重启。不出意外的话你就能选择进入 opensuse 或 win7 双系统了。

  1. 选择默认引导 win7
    进入 opensuse,打开 yast-- 引导装载程序 – 引导加载器选项 – 默认引导章节 – 下拉选择 win7-- 点确定 OK 后退出 yast,重启系统可以看到默认引导是 win7 了,其次才是 opensuse 了。

方法二:

  1. 准备一个 opensuse 安装盘,U 盘也行。不论是 livecd 还是 DVD 都可以,只要能启动就可以。

  2. 开机启动 openSUSE DVD 或者 Live USB,,进入救援模式。等待各种输出结束,看到"login" 后,输入用户名"root",直接回车即可进入救援模式,不需要输入密码。

  3. 登录后使用命令查看各分区的情况

    fdisk -l

列出分区情况。然后将各个分区挂载。例如,假设 sda6 为 /boot 分区,sda7 为 swap 分区,sda8 为 / 分区,sda9 为 /home 分区。先挂载 / 分区,然后挂载 home 分区和 boot 分区(没有就不用挂载),swap 分区不需要挂载。操作如下

mount /dev/sda8 /mnt
mount /dev/sda6 /mnt/boot
mount /dev/sda9 /mnt/home

注意,接着,

mount --bind /dev /mnt/dev

再然后

chroot /mnt
mount /proc
mount /sys

这样,所需的挂载就结束了。

然后重装 GRUB2
首先生成 /boot/grub2/grub.cfg:

grub2-mkconfig -o /boot/grub2/grub.cfg

然后将 GRUB2 安装到 sda:

grub2-install /dev/sda

安装完毕,接着退出

exit

重启

reboot

重启后进入 opensuse 按照方法一的第二条修改 win7 为主引导系统。

如果搞定了,请点本楼层右上角感谢。

3赞

我记得在 debian 中安装了 os-prober,运行 grub-mkconfig -o /boot/grub/grub.cfg(曾经是 update-grub)命令就可自动探测其他操作系统的,在 suse 中是 grub2-mkconfig -o /boot/grub/grub.cfg? :joy: :joy:

回楼上。因为现在 openSUSE 用的是 grub2 呀,你说的那个是以前 grub 修复的命令吧。话说大便还在用 grub?

其实这是很容易不小心犯的错误。把 grub2 当 grub 修复,结果怎么也修不好。

已查,grub2-mkconfig 是 suse 独有,其它发型版是 grub-mkconfig

1赞

这是来自 fedora wiki 的资料
fedoraproject.org/wiki/GRUB_2/zh-cn

这是来自 gentoo wiki 的资料
wiki.gentoo.org/wiki/GRUB2

他们也是使用 grub2-mkconfig 的。

顺便说一下这两篇 wiki 写的蛮详细, @hottea 测试一下充实到你的那篇 wiki 里吧。

用了第一种方法,可是却显示“无法嵌入。在此次安装中 GRUB 只能通过使用块列表安装。但是块列表是不可信赖的,不推荐使用。”

谢谢,按照你的思路。我在命令行状态下输入
grub>setroot(hd0,1)
grub>chainloader +1
grub>boot
已成功进入 win7。但是我还有个疑问,我总不能总是这样进入 win7 吧!(毕竟我是以 win7 为主系统)能不能不用 grub2 作为引导,而用 win 的引导

用 win 的引导应该是不行的,到 openSUSE 里面把 grub 的配置改了就永久有效了。

谢谢,按照你的思路。我在命令行状态下输入
grub>setroot(hd0,1)
grub>chainloader +1
grub>boot
已成功进入 win7。但是我还有个疑问,我总不能总是这样进入 win7 吧!(毕竟我是以 win7 为主系统)能不能不用 grub2 作为引导,而用 win 的引导

用 win 的引导应该是不行的,到 openSUSE 里面把 grub 的配置改了就永久有效了。
请问怎么改