ubuntu12.04 grub无法写入MBR。ubuntu12.04和win7双系统。(待解决)

在Win7基础上安装Ubuntu 12.04后,遇到Grub未安装到MBR导致直接启动Win7的问题。尝试通过GRUB的命令模式引导进入Ubuntu,并进行源码编译安装GRUB,但未能成功。最后通过恢复备份的MBR并使用EasyBCD从Win7引导GRUB作为临时解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在已经有win7的台式机上安装ubuntu12.04.安装完成后,重启,没有提示grub,直接就进入win7了。

用U盘安装盘引导进入启动的grub菜单。用命令手动引导,是可以引导进入ubuntu12.04的。

在grub按e进入命令模式,引导命令如下:

grub>linux (hd1,msdos2)/boot/vmlinuz-3.2.0-23-generic root=/dev/sda2
grub>initrd (hd1,msdos2)/boot/initrd.img-3.2.0-23-generic
grub>boot

因为我是U盘引导的,所以我的hd1对应了真正的物理硬盘。这里的盘符,和分区(hdx,msdosx),替换为你们自己的。

引导进入ubuntu12.04没有问题。猜想是grub没有安装到MBR里面。


sudo dd if=/dev/sda of=mbr.img bs=512 count=1
sudo update-grub
sudo grub-install /dev/sda


备份mbr更新grub,安装到MBR。重启电脑。

但是却并没有如预期的那样,grub还是没有安装到MBR,重启依旧直接进入win7。

再次进入ubuntu12.04试试。

witch grub-setup 发现

grub-setup不存在。

grub-install按理说最终是要调用grub-setup把第一阶段引导安装到指定的设备的。

估计是安装盘里的grub有问题。

源码编译安装grub。

apt-get source grub2
cd grub2-1.99
./configure --prefix=/usr
make
sudo make install
sudo update-grub
sudo install-grub /dev/sda

重启,grub出现,能引导进linux,但是引导win7会Windows failed to start错误,错误代码0xc00000e。

还好备份了mbr,进入linux恢复mbr。

sudo dd if=mbr.img of=/dev/sda bs=446 count=1

重启,进入win7。

暂时先用easyBCD增加grub2入口。通过win7的bootloader来引导grub2。以后想个办法用grub2把win7给引导了。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值