zoukankan      html  css  js  c++  java
  • BCD与GRUB

    Win7 的引导分两部分:MBR 程序和 BCD (Vista 之前称为 NTLDR ,其实他们是一个东西,但改进了很多)。MBR 程序就是 MBR 里面前 446 字节。Windows 每次用官方安装盘安装系统,都会强行覆盖这里的程序为自己的 MBR 程序,这个 MBR 的程序功能很简单,就是启动分区表里面标记为激活的分区。
    之后 MBR 程序启动激活分区里面的 BCD (BCD 在分区特殊位置安装有特殊程序)。BCD 实现 F8 功能和正式启动 Windows7 。

    Linux 这里不能启动,是因为 MBR 前 446 字节里面本来是 Linux 的引导程序 GRUB 。Win7 安装完,会覆盖 MBR 这里的 GRUB 程序,导致不能启动 GRUB 而是启动 BCD 来启动 Windows。
    但 BCD 本身不支持直接启动 Linux ,所以你的 Linux 现在不能启动了。只能用 BCD 启动一个可以引导 Linux 的程序来过渡。这种软件其实不多现在基本也就 GRUB 可以选择。

    解决办法有两个:
    1、修复 GRUB 的 MBR 程序,这个实现很简单,只要能启动 Linux 就能修复,不管你是启动一个 GRUB for DOS 还是找个 Linux LiveCD 只要进入了 Linux 就能进行修复。这种修复文章网上一大堆。
    2、用 Win7 的 BCD 启动 GRUB 来过渡启动到 Linux 。但 BCD 设置起来很麻烦,不如 XP 直接修改 boot.ini 方便,直观。这里的 GRUB 用 GRUB for NTLDR 版本就可以,但需要单独找 for BCD 的安装方法。不能照抄 XP 的修改 boot.ini 方法。
  • 相关阅读:
    protected、public、private
    第十五章 面向对象程序设计
    第十四章 重载运算与类型转换
    聚合类
    explicit构造函数
    allocator类
    直接管理内存——new和delete
    智能指针
    Bugku-CTF之点击一百万次
    Bugku-CTF之flag在index里
  • 原文地址:https://www.cnblogs.com/swek/p/4338124.html
Copyright © 2011-2022 走看看