找回密码
 注册
首页 ≡≡桌面技术≡≡ PC操作系统 解决Linux和Windows双系统引导问题

linux 解决Linux和Windows双系统引导问题

灰儿 2009-1-30 20:24:52
第一次安装   

  先安装Windows, 然后安装Linux. 采用这样的顺序不光是为了避免ntloader覆盖掉grub(就算被覆盖了, 也有解决办法, 在后面介绍), 更因为Linux可以被装在扩展分区而Windows不行. 另外, 安装linux时, grub会检测到已有的分区, 从而生成合适的启动选项来加载windows系统.   

  要注意的一点就是文件系统, 可以采用这样的方法: 在最开始安装windows时把计划给linux用的空间分为一个区, 之后在安装Linux时将这个区删除, 然后重新创建新的多个分区. Ubuntu liveCD已经做得很傻瓜化, 安装不会碰到任何问题.   

  恢复MBR   

  相比Linux, Windows会比较频繁地重装, 重装之后的mbr会被覆盖, 从而无法引导linux系统. 解决整个问题只需要恢复以前的MBR. 重装Linux则不存在任何问题. 因为grub会检测到已有的windows分区.   

  首先备份mbr, 使用dd命令将硬盘第一个扇区的头446字节'抓'下来保存. 之后重装完windows之后再恢复mbr. 这需要用到linux启动光盘. 启动进入命令行, 挂载那个被保存的mbr文件所在的分区, 然后用dd命令恢复就可以了.(注意我的是SCSI硬盘, 所以是sda, IED硬盘为hda)

  备份MBR:   

  # dd if=/dev/sda of=/boot/boot.NNNN bs=446 count=1   

  恢复MBR:   

  # dd if=/boot/boot.NNNN of=/dev/sda bs=446 count=1   

  -为什么不是512呢, 主引导扇区是一个扇区(512字节呀)?   

  -只把主引导扇区的备份文件boot.NNNN的前446个字节重写入主引导扇区。  

  boot.NNNN是我们在安装Linux之前整个主引导分区的备份。如果我们把   

  512个字节全部写入主引导扇区就可能会把安装了Linux后改变了的硬盘   

  DPT表也破坏掉.   

  MBR-> Main/Master Boot Record, 有些书上是写成Master的.   

  我认为可以分成三个部分吧, MBR+DPT+MagicNumber(446+64+2=512)   

  这也就是为什么进行MBR备份的时候要指定bs=512 或者 bs=1k, count=1的原因. 然后恢复时经常看到HOWTO里面是bs=446 count=1. 这个446就是指令部分的恢复, 不是DPT的恢复. 往往MBR里面的第一个指令是cli... 研究起来是比较有意思的.
您需要登录后才可以回帖 登录 | 注册
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。