解决Linux和Windows双系统的引导问题 转自 天极网

转载 2017年01月18日 15:34:39

尺有所长, 寸有所短. 虽然能完全用Linux工作, 娱乐. 但计算机只是为人类服务的. 怎么方便怎么来,操作系统亦然, Linux和Windows都给装上.

  本文中, Windows使用XP, Linux选用Ubuntu. 但其实基本思想是一样的: Linux现在流行的bootloader是grub. xp和nt采用的是ntloader.

  Ubuntu论坛里的这篇文章主张采用这样的引导方式: ntloader -> grub -> win/lin. 但正如有的网友所说, grub考虑到了引导windows, 而ntloader还没有考虑过引导windows之外的其他系统. 而且, 使用ntloader来引导比较繁琐. 不如使用grub引导简便. 这里我使用grub来作为bootloader.

  先补充一下基础知识: 理解Linux的启动过程. 另外, 手头要有xp和Ubuntu的安装光盘. (Ubuntu的LiveCD, 用以挂载硬盘分区以及恢复mbr). 在开始之前, 要知道这样几个事实: (1) PC启动时, 在加载bios之后, 紧接着就加载位于mbr中的bootloader, 这个bootloader可以是ntloader, 也可以是grub. (2)安装windows系统时, 安装程序会把ntloader写入到mbr作为bootloader. (3)grub可以被安装到mbr, 也可以安装到其他位置. 但Ubuntu的liveCD进行安装时是默认安在mbr中的.

  这样问题就来了: 怎么才能保证双系统能正常启动呢? 如果重装了其中的一个系统, 如何保证另外一个系统不受影响呢? 这就是这里要说的问题.

  第一次安装

  先安装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... 研究起来是比较有意思的.

以下与本文无关:
国内佛山,海外香港?美国高防服务器专注(聊天室,竞价网站、游戏、SSC、BC、 10G-240G实打实防御?无视CC机房死扛流量,大带宽?免备案)托管服务更安全              遇到锐讯的,就拿机器吧!       


7x24小时技术人员全有科技服务承诺: 
1、 提供一级电信运营商的资源; 
2、 可按用户要求进行IP地址指向的最优分配 
3、 提供7x24小时技术支持服务 
4、 故障恢复后3小时内提供故障报告 
5、 如遇计划性中断,提前24小时通知 
6、 根据客户需求提供流量监测、分析报告
硬件金盾防御、在全国高防服务器中防御一流


企业 QQ:2881559961       电话:13549407886                      谢谢大家支持!!

天极网的贺卡系统

  • 2004年08月29日 23:24
  • 242KB
  • 下载

【转载自天极网】Java正则表达式详…

Java正则表达式详解 2005-10-08 10:01作者:仙人掌工作室出处:KissJava.com责任编辑:王玉涵 如果你曾经用过Perl或任何其他内建正则表达式支持的...

解决Linux和Windows双系统的引导问题(转载)

尺有所长, 寸有所短. 虽然能完全用Linux工作, 娱乐. 但计算机只是为人类服务的. 怎么方便怎么来, 操作系统亦然, Linux和Windows都给装上.   本文中, Windows使用XP...

java使用jsoup,多线程批量爬取天极网某分类下的美女图片

本例子只作为测试,页面个数直接设置了100个,可以可能会少或者多,容易报错,更优化的一种方式是获取“下一页”按钮的地址,然后再访问,当访问不到“下一页”的内容时跳出 多线程只体现在文件提取,也可以在...

天极网社区delphi精华

  • 2007年09月02日 23:39
  • 727KB
  • 下载

window(win7)+linux(ubuntu)双系统的安装以及windows重装后的引导修复问题

一、双系统的安装 1、下载msdn的iso刻录成win7光盘,官方下载ubuntu  iso刻录成光盘。 2、先安装win7。       由于直接用win7光盘分区时只能是主分区,而且会有10...
  • szoyj
  • szoyj
  • 2014年02月18日 20:05
  • 1416

Windows&&Linux双系统引导项修复问题汇总

问题我们遇到引导问题的原因可能有1. 删除Linux,直接在win下删了该分区2. 调整磁盘,利用工具合并,删除,分割分区导致磁盘分区数目变化3. 重新安装系统,把Lin...
  • gatieme
  • gatieme
  • 2015年05月29日 12:12
  • 2891

window(win7)+linux(ubuntu)双系统的安装以及windows重装后的引导修复问题

一、双系统的安装 1、下载msdn的iso刻录成win7光盘,官方下载ubuntu  iso刻录成光盘。 2、先安装win7。       由于直接用win7光盘分区时只能是主分区,而且会有10...

装windows7和linux双系统时遇到问题的解决办法

1、首先安装好win7 不多说 2、下载 系统镜像Linux.6.4.rhel-server-6.4-x86_64-dvd[ED2000.COM].iso 老毛桃LaoMaoTao_STA_gw....
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决Linux和Windows双系统的引导问题 转自 天极网
举报原因:
原因补充:

(最多只允许输入30个字)