装ubuntu双系统,无法启动win7


我是收益者,必须转来给大家分享,不然重装2系统会死人的。

win7下安装ubuntu双系统 win7无法启动解决方法

好不容易下决心装个双系统,上次安装使硬盘分区表被破坏,所有数据丢失,至今元还元气大伤(哎,我==菜鸟 的必经之路)。

用u盘做了ubuntu11.10的启动盘,进行安装,网速太慢下载语言包下了半天,好不容易案子完成,发现无法进入win7了,启动列表中明明有启动项,点击启动后,光标在左上角闪了两下又回到启动列表界面了。找了打半夜的方法,没搞定,最好找到这个论坛了http://forum.ubuntu.org.cn/viewtopic.php?t=353596

这位老主做了十足的准备来提问(也是,巧妇难为无米之炊),也没枉费该楼主一番心思,正好有位天神路过此地,救了我等一条老命。

 

 

症状:ubuntu安装成功,完美运行,启动列表中有ubuntu和win7的启动选项。ubuntu可以启动,win7启动之后进入一个新的空白界面,光标在左上角闪烁几下之后又返回到启动列表界面(试了n次,发现是个四循环)。

既然有win7的启动项,说明win7的系统暂时没有罹难,好多人可能都为此一下牺牲了两个系统,哎悲剧。

解决方法:看那个帖子,楼主贴出了/etc/default/grub和/boot/grub/grub.cfg两个文件的内容,大致看了一下跟我的差不多吧,估计问题不在这里面(我==菜鸟的一面之词),之后二楼那位天神需要sudo fdisk -lu命令执行的结果(FDISK进行硬盘分区从实质上说就是对硬盘的一种格式化,-lu可以现实每个分区的起始地址)这条命令的作用是查看硬盘的详细分区情况。

 

结果如下:

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x179d179c

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63    83891429    41945683+   7  HPFS/NTFS/exFAT(表示win7系统安装在该分区中即C盘,如果win系统安装在其他盘就要关注相应的分区)
/dev/sda2        83891491   509628415   212868462+   f  W95 Ext'd (LBA)
/dev/sda5        83891493   146818034    31463271    7  HPFS/NTFS/exFAT
/dev/sda6       146818098   385897364   119539633+   7  HPFS/NTFS/exFAT
/dev/sda7       385897428   505628352    59865462+  83  Linux
/dev/sda8       505628672   509628415     1999872   82  Linux swap / Solaris
注意其中的红色部分(I/O size (minimum/optimal): 512 bytes / 512 bytes同时读入和写出的块的大小(不理解),主要关注512就行了)

 

好像从上面的结果可以得解决方法了

一次执行下面三条语句:

sudo grub-install /dev/sda    (安装grub到/dev/sda)
sudo update-grub    (更新grub)

关键是下面这句花很难理解(不同的用户参数是不同的)
sudo dd if=/dev/sda of=/dev/sda bs=512 count=1 seek=63 skip=83891429

dd是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

if=文件名:输入文件名,缺省为标准输入。

of=文件名:输出文件名,缺省为标准输出。

bs=bytes:同时设置读入/输出的块大小为bytes个字节。

bs=512应该是根据前面有好多512得出的(如果你执行了sudo fdisk -lu后发现I/O size (minimum/optimal): 512 bytes / 512 bytes还有其他数字就要小心了)

count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数

count=1就是仅仅拷贝一个块到指定文件

skip=blocks:从输入文件开头跳过blocks个块后再开始复制。  

seek=blocks:从输出文件开头跳过blocks个块后再开始复制。

seek=63,这里的632048是来自/dev/sda1   *          63    83891429    41945683+   7  HPFS/NTFS/exFAT中的63起始磁柱

同理skip=83891429也是来自/dev/sda1   *          63    83891429    41945683+   7  HPFS/NTFS/exFAT中的63起始磁柱

执行完

sudo grub-install /dev/sda  
sudo update-grub   
sudo dd if=/dev/sda of=/dev/sda bs=512 count=1 seek=63 skip=83891429

之后就海阔天空了重启试试就知道后果了,虽然本菜鸟不才,不明白这些命令的意思,照葫芦画瓢还是可以的。以上好多解释都来自www网络,顺便了解一下这些命令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值